Bug 320249 - Table view crashes when adressing tags
Summary: Table view crashes when adressing tags
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Albums-TableView (show other bugs)
Version: 3.3.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-25 07:12 UTC by Axel Krebs
Modified: 2013-12-04 21:56 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.0.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Axel Krebs 2013-05-25 07:12:10 UTC
Application: digikam (3.2.0)
KDE Platform Version: 4.10.3
Qt Version: 4.8.4
Operating System: Linux 3.8.0-22-generic x86_64
Distribution: Ubuntu 13.04

-- Information about the crash:
- What I was doing when the application crashed:

- when running digiKam 3.2, I am keen on testing exciting new features, as table view mode, e.g.

- when applying tags (keywords) to a number of pics, digiKam 3.2 crashes

The crash can be reproduced sometimes.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f1d833c7a40 (LWP 2203))]

Thread 10 (Thread 0x7f1d5af04700 (LWP 2235)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f1d7dc1914b in wait (time=18446744073709551615, this=0x1e2c1d0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1e2c0e0, mutex=mutex@entry=0x1e2c0d8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005d0cf8 in Digikam::ScanController::run (this=0x1d16540) at /build/buildd/digikam-3.2.0/core/digikam/database/scancontroller.cpp:713
#4  0x00007f1d7dc18bec in QThreadPrivate::start (arg=0x1d16540) at thread/qthread_unix.cpp:338
#5  0x00007f1d78145f8e in start_thread (arg=0x7f1d5af04700) at pthread_create.c:311
#6  0x00007f1d7ce35e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 9 (Thread 0x7f1d5a703700 (LWP 2236)):
#0  0x00007f1d757448eb in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f1d757450fe in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1d75745304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1d7dd44036 in QEventDispatcherGlib::processEvents (this=0x7f1d4c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f1d7dd1438f in QEventLoop::processEvents (this=this@entry=0x7f1d5a702b10, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f1d7dd14618 in QEventLoop::exec (this=this@entry=0x7f1d5a702b10, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f1d7dc16410 in QThread::exec (this=this@entry=0x1e70f50) at thread/qthread.cpp:542
#7  0x00007f1d7dcf5edf in QInotifyFileSystemWatcherEngine::run (this=0x1e70f50) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007f1d7dc18bec in QThreadPrivate::start (arg=0x1e70f50) at thread/qthread_unix.cpp:338
#9  0x00007f1d78145f8e in start_thread (arg=0x7f1d5a703700) at pthread_create.c:311
#10 0x00007f1d7ce35e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 8 (Thread 0x7f1d59f02700 (LWP 2652)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f1d7dc1914b in wait (time=18446744073709551615, this=0x204c890) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1ff12c0, mutex=mutex@entry=0x1ff12b8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f1d80c70ff9 in Digikam::ParkingThread::run (this=0x1ff12a0) at /build/buildd/digikam-3.2.0/core/libs/threads/threadmanager.cpp:119
#4  0x00007f1d7dc18bec in QThreadPrivate::start (arg=0x1ff12a0) at thread/qthread_unix.cpp:338
#5  0x00007f1d78145f8e in start_thread (arg=0x7f1d59f02700) at pthread_create.c:311
#6  0x00007f1d7ce35e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 7 (Thread 0x7f1d481a1700 (LWP 2653)):
#0  0x00007f1d75745243 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f1d75745304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1d7dd44036 in QEventDispatcherGlib::processEvents (this=0x7f1d400008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#3  0x00007f1d7dd1438f in QEventLoop::processEvents (this=this@entry=0x7f1d481a0b10, flags=...) at kernel/qeventloop.cpp:149
#4  0x00007f1d7dd14618 in QEventLoop::exec (this=this@entry=0x7f1d481a0b10, flags=...) at kernel/qeventloop.cpp:204
#5  0x00007f1d7dc16410 in QThread::exec (this=this@entry=0x244fde0) at thread/qthread.cpp:542
#6  0x00007f1d7dcf5edf in QInotifyFileSystemWatcherEngine::run (this=0x244fde0) at io/qfilesystemwatcher_inotify.cpp:256
#7  0x00007f1d7dc18bec in QThreadPrivate::start (arg=0x244fde0) at thread/qthread_unix.cpp:338
#8  0x00007f1d78145f8e in start_thread (arg=0x7f1d481a1700) at pthread_create.c:311
#9  0x00007f1d7ce35e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 6 (Thread 0x7f1d3a57a700 (LWP 3445)):
#0  0x00007fffd1bfe707 in ?? ()
#1  0x00007f1d3a5797f0 in ?? ()
#2  0x00007fffd1bfeac9 in ?? ()
#3  0x00007f1d3a579840 in ?? ()
#4  0x0000000100000001 in ?? ()
#5  0x00007f1d24012290 in ?? ()
#6  0x00007f1d3a5798d0 in ?? ()
#7  0x00007f1d3a579988 in ?? ()
#8  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f1cf5ffb700 (LWP 3446)):
#0  0x00007f1d78148075 in __GI___pthread_mutex_lock (mutex=0x7f1ce007d670) at pthread_mutex_lock.c:95
#1  0x00007f1d757845c1 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1d75744c74 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1d75745175 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f1d75745304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f1d7dd44036 in QEventDispatcherGlib::processEvents (this=0x7f1ce015e640, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f1d7dd1438f in QEventLoop::processEvents (this=this@entry=0x7f1cf5ffaae0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f1d7dd14618 in QEventLoop::exec (this=this@entry=0x7f1cf5ffaae0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f1d80c7059b in Digikam::WorkerObjectRunnable::run (this=0x67131960) at /build/buildd/digikam-3.2.0/core/libs/threads/threadmanager.cpp:196
#9  0x00007f1d7dc0c55d in QThreadPoolThread::run (this=0xc8b88f0) at concurrent/qthreadpool.cpp:107
#10 0x00007f1d7dc18bec in QThreadPrivate::start (arg=0xc8b88f0) at thread/qthread_unix.cpp:338
#11 0x00007f1d78145f8e in start_thread (arg=0x7f1cf5ffb700) at pthread_create.c:311
#12 0x00007f1d7ce35e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f1cf6ffd700 (LWP 3447)):
#0  0x00007f1d7ce293cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f1d757451dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1d75745304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1d7dd44036 in QEventDispatcherGlib::processEvents (this=0x7f1cf0048510, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f1d7dd1438f in QEventLoop::processEvents (this=this@entry=0x7f1cf6ffcae0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f1d7dd14618 in QEventLoop::exec (this=this@entry=0x7f1cf6ffcae0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f1d80c7059b in Digikam::WorkerObjectRunnable::run (this=0x7f1ce03227d0) at /build/buildd/digikam-3.2.0/core/libs/threads/threadmanager.cpp:196
#7  0x00007f1d7dc0c55d in QThreadPoolThread::run (this=0xc8bc030) at concurrent/qthreadpool.cpp:107
#8  0x00007f1d7dc18bec in QThreadPrivate::start (arg=0xc8bc030) at thread/qthread_unix.cpp:338
#9  0x00007f1d78145f8e in start_thread (arg=0x7f1cf6ffd700) at pthread_create.c:311
#10 0x00007f1d7ce35e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f1cce7fc700 (LWP 3448)):
#0  0x00007f1d7ce293cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f1d757451dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1d75745304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1d7dd44036 in QEventDispatcherGlib::processEvents (this=0x7f1cc00130f0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f1d7dd1438f in QEventLoop::processEvents (this=this@entry=0x7f1cce7fbae0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f1d7dd14618 in QEventLoop::exec (this=this@entry=0x7f1cce7fbae0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f1d80c7059b in Digikam::WorkerObjectRunnable::run (this=0x7f1ce03228a0) at /build/buildd/digikam-3.2.0/core/libs/threads/threadmanager.cpp:196
#7  0x00007f1d7dc0c55d in QThreadPoolThread::run (this=0xc8bf8f0) at concurrent/qthreadpool.cpp:107
#8  0x00007f1d7dc18bec in QThreadPrivate::start (arg=0xc8bf8f0) at thread/qthread_unix.cpp:338
#9  0x00007f1d78145f8e in start_thread (arg=0x7f1cce7fc700) at pthread_create.c:311
#10 0x00007f1d7ce35e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f1cf7fff700 (LWP 3449)):
#0  0x00007f1d78148057 in __GI___pthread_mutex_lock (mutex=0x7f1ce40143a0) at pthread_mutex_lock.c:90
#1  0x00007f1d757845c1 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1d75745190 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1d75745304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f1d7dd44036 in QEventDispatcherGlib::processEvents (this=0x7f1ce4014dd0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f1d7dd1438f in QEventLoop::processEvents (this=this@entry=0x7f1cf7ffeae0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f1d7dd14618 in QEventLoop::exec (this=this@entry=0x7f1cf7ffeae0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f1d80c7059b in Digikam::WorkerObjectRunnable::run (this=0x7f1ce02b3b60) at /build/buildd/digikam-3.2.0/core/libs/threads/threadmanager.cpp:196
#8  0x00007f1d7dc0c55d in QThreadPoolThread::run (this=0xc8b0ef0) at concurrent/qthreadpool.cpp:107
#9  0x00007f1d7dc18bec in QThreadPrivate::start (arg=0xc8b0ef0) at thread/qthread_unix.cpp:338
#10 0x00007f1d78145f8e in start_thread (arg=0x7f1cf7fff700) at pthread_create.c:311
#11 0x00007f1d7ce35e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f1d833c7a40 (LWP 2203)):
[KCrash Handler]
#6  size (this=<optimized out>) at /usr/include/qt4/QtCore/qlist.h:98
#7  QList<Digikam::TableViewModel::Item*>::indexOf (this=0x38, t=@0x7fffd1afcbd8: 0xbcfc370, from=from@entry=0) at /usr/include/qt4/QtCore/qlist.h:850
#8  0x000000000066842d in Digikam::TableViewModel::indexFromImageId (this=this@entry=0xbcfc180, imageId=<optimized out>, columnIndex=columnIndex@entry=0) at /build/buildd/digikam-3.2.0/core/digikam/views/tableview_model.cpp:998
#9  0x000000000066b367 in Digikam::TableViewModel::slotDatabaseImageChanged (this=0xbcfc180, imageChangeset=...) at /build/buildd/digikam-3.2.0/core/digikam/views/tableview_model.cpp:648
#10 0x00007f1d7dd2f5be in QObject::event (this=0xbcfc180, e=<optimized out>) at kernel/qobject.cpp:1194
#11 0x00007f1d7e6fe8ec in QApplicationPrivate::notify_helper (this=this@entry=0x1c26e30, receiver=receiver@entry=0xbcfc180, e=e@entry=0x7f1cc0057000) at kernel/qapplication.cpp:4567
#12 0x00007f1d7e70125b in QApplication::notify (this=this@entry=0x7fffd1afdc40, receiver=receiver@entry=0xbcfc180, e=e@entry=0x7f1cc0057000) at kernel/qapplication.cpp:4428
#13 0x00007f1d7f40baf6 in KApplication::notify (this=0x7fffd1afdc40, receiver=0xbcfc180, event=0x7f1cc0057000) at ../../kdeui/kernel/kapplication.cpp:311
#14 0x00007f1d7dd1563e in QCoreApplication::notifyInternal (this=0x7fffd1afdc40, receiver=receiver@entry=0xbcfc180, event=event@entry=0x7f1cc0057000) at kernel/qcoreapplication.cpp:946
#15 0x00007f1d7dd19171 in sendEvent (event=0x7f1cc0057000, receiver=0xbcfc180) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#16 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1babbc0) at kernel/qcoreapplication.cpp:1570
#17 0x00007f1d7dd194a3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#18 0x00007f1d7dd43e83 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#19 postEventSourceDispatch (s=0x1c24730) at kernel/qeventdispatcher_glib.cpp:279
#20 0x00007f1d75744f05 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007f1d75745248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007f1d75745304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f1d7dd44016 in QEventDispatcherGlib::processEvents (this=0x1bad0b0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#24 0x00007f1d7e7a41ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#25 0x00007f1d7dd1438f in QEventLoop::processEvents (this=this@entry=0x7fffd1afd630, flags=...) at kernel/qeventloop.cpp:149
#26 0x00007f1d7dd14618 in QEventLoop::exec (this=this@entry=0x7fffd1afd630, flags=...) at kernel/qeventloop.cpp:204
#27 0x00007f1d7dd19cf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#28 0x00007f1d7e6fcffc in QApplication::exec () at kernel/qapplication.cpp:3828
#29 0x0000000000491d1b in main (argc=3, argv=0x7fffd1afde78) at /build/buildd/digikam-3.2.0/core/digikam/main/main.cpp:235

Reported using DrKonqi
Comment 1 Michael G. Hansen 2013-05-26 12:16:10 UTC
Hi Axel,

thanks for reporting this crash. However, I can not reproduce it right now.
Some more questions:

- Are you displaying images from a physical album or are you browsing images by tags, date, etc?
- Do you have any filters applied, like 'images rated 2 or above'?
- Which columns do you have in your table view and by which column are you sorting?

Best regards,

Michael
Comment 2 Axel Krebs 2013-05-26 13:45:19 UTC
Hi Michael:

Let's try to answer your questions:

- I'm browsing pics from a folder in my home-directory, so it is a 
physical album

- no filters applied

- I have the following columns: preview, file-name, rating, creation 
date and title.

Rem.: Unfortunately, I did _not_ find a much more flexible way for 
column selection; as much as I know, I suggestet table view about one 
year ago or so. My original aim was, to get the ability to scroll large 
quantities of pics, thousends or more, e.g.

So, table yiew is an approach of improved work efficiency, so to say a 
workflow issue. For my opinion, table view should therefore contain 
_all_ filed one could choose in "extended search".

If you see it this way, you'll see instantaneously, that a (very) simple 
way to select the right colums would be crusial.

Maybe I did not find the right procedure to select colums yet?
Maybe, this feature is "hidden"?

Hope I could clarify?


Axel
---

Am 26.05.2013 14:16, schrieb Michael G. Hansen:
> https://bugs.kde.org/show_bug.cgi?id=320249
>
> Michael G. Hansen <mike@mghansen.de> changed:
>
>             What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                   CC|                            |mike@mghansen.de
>
> --- Comment #1 from Michael G. Hansen <mike@mghansen.de> ---
> Hi Axel,
>
> thanks for reporting this crash. However, I can not reproduce it right now.
> Some more questions:
>
> - Are you displaying images from a physical album or are you browsing images by
> tags, date, etc?
> - Do you have any filters applied, like 'images rated 2 or above'?
> - Which columns do you have in your table view and by which column are you
> sorting?
>
> Best regards,
>
> Michael
>
Comment 3 Michael G. Hansen 2013-05-26 19:04:44 UTC
Hi Axel,

thanks for the additional information.

About your other comments, you can add some more columns by right-clicking on the column headers, and sort by any column by left-clicking on the column headers. Not all fields of the advanced search are available as columns yet, for example video metadata columns have been added after 3.2 was released.

Best regards,

Michael
Comment 4 Jekyll Wu 2013-09-05 01:04:07 UTC
*** Bug 324516 has been marked as a duplicate of this bug. ***
Comment 5 caulier.gilles 2013-10-30 15:51:42 UTC
digiKam 3.5.0 is out.

Can you give a fresh feedback about your report ? Crash still reproducible ?

Thanks in advance

Gilles Caulier
Comment 6 caulier.gilles 2013-12-04 18:05:11 UTC
Axel,

We needs feedback here please...

Gilles Caulier
Comment 7 Axel Krebs 2013-12-04 19:30:09 UTC
(In reply to comment #6)
> Axel,
> 
> We needs feedback here please...
> 
> Gilles Caulier

Hi Gilles,

I am very sorry, as I mentioned, my distro (K)Ubuntu 13.19 does not provide digiKam 3.5 yet. 

Is there another ay, maybe with ppa's rto include ne versions _without_ harming the total installation?

Axel
Comment 8 Alexander Servirog 2013-12-04 20:51:33 UTC
Same here, neither Ubuntu 13.10 nor Debian testing doesn't have 3.5 in
repos. Probably I can get deb package for 3.5 somewhere?
I'll try 3.4 for now, bug was found on 3.3.

2013/12/4 Axel Krebs <axel.krebs@t-online.de>

> https://bugs.kde.org/show_bug.cgi?id=320249
>
> --- Comment #7 from Axel Krebs <axel.krebs@t-online.de> ---
> (In reply to comment #6)
> > Axel,
> >
> > We needs feedback here please...
> >
> > Gilles Caulier
>
> Hi Gilles,
>
> I am very sorry, as I mentioned, my distro (K)Ubuntu 13.19 does not provide
> digiKam 3.5 yet.
>
> Is there another ay, maybe with ppa's rto include ne versions _without_
> harming
> the total installation?
>
> Axel
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
>
Comment 9 Alexander Servirog 2013-12-04 21:52:57 UTC
Tried to reproduce on 3.4, haven't succeed yet.
Comment 10 caulier.gilles 2013-12-04 21:56:44 UTC
Thanks Alexander, this is what i suspected... There are few fixes in TableView code from Michael...

Gilles Caulier