Bug 301496

Summary: crash tagging a picture
Product: [Applications] digikam Reporter: Jaime Torres <jtamate>
Component: Tags-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 2.6.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 2.7.0
Sentry Crash Report:

Description Jaime Torres 2012-06-09 08:39:15 UTC
Application: digikam (2.7.0)
KDE Platform Version: 4.8.3 (4.8.3) (Compiled from sources)
Qt Version: 4.8.2
Operating System: Linux 3.4.0-rc6-1-desktop x86_64
Distribution: "openSUSE 12.2 Beta 1 (x86_64)"

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

I just retagged a picture. I mean, unclick in the tag and click on the same tag -> crash.


I'm using Qt4.8.2+ from git, kdelibs 4.8.80+ from git and digikam from git HEAD.

The ASSERT is:
ASSERT: "mobj->cast(object)" in file qt/src/corelib/kernel/qmetaobject.cpp, line 1558

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
[Current thread is 1 (Thread 0x7f8aa57bb8c0 (LWP 6827))]

Thread 13 (Thread 0x7f8a7fbff700 (LWP 6829)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f8a9d3a53d3 in wait (time=18446744073709551615, this=0x7f8a84b840e0) at /g/kdegit/qt/src/corelib/thread/qwaitcondition_unix.cpp:86
#2  wait (time=18446744073709551615, mutex=0x7f8a849eda28, this=<optimized out>) at /g/kdegit/qt/src/corelib/thread/qwaitcondition_unix.cpp:158
#3  QWaitCondition::wait (this=<optimized out>, mutex=0x7f8a849eda28, time=18446744073709551615) at /g/kdegit/qt/src/corelib/thread/qwaitcondition_unix.cpp:145
#4  0x00000000005b6594 in Digikam::ScanController::run (this=0x7f8a84b4d3c0) at /g/kdegit/extragear/graphics/digikam/digikam/database/scancontroller.cpp:698
#5  0x00007f8a9d3a4e78 in QThreadPrivate::start (arg=0x7f8a84b4d3c0) at /g/kdegit/qt/src/corelib/thread/qthread_unix.cpp:307
#6  0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a7fbff700) at pthread_create.c:305
#7  0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 12 (Thread 0x7f8a7ebff700 (LWP 6830)):
#0  0x00007f8a9c07810f in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f8a965576e4 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f8a96557804 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f8a9d4dd28e in QEventDispatcherGlib::processEvents (this=0x7f8a7dc0e040, flags=<optimized out>) at /g/kdegit/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f8a9d4aa24f in QEventLoop::processEvents (this=<optimized out>, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:149
#5  0x00007f8a9d4aa508 in QEventLoop::exec (this=0x7f8a7ebfeca0, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:204
#6  0x00007f8a9d3a218d in QThread::exec (this=<optimized out>) at /g/kdegit/qt/src/corelib/thread/qthread.cpp:501
#7  0x00007f8a9d4894d3 in QInotifyFileSystemWatcherEngine::run (this=0x7f8a84a2f460) at /g/kdegit/qt/src/corelib/io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f8a9d3a4e78 in QThreadPrivate::start (arg=0x7f8a84a2f460) at /g/kdegit/qt/src/corelib/thread/qthread_unix.cpp:307
#9  0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a7ebff700) at pthread_create.c:305
#10 0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 11 (Thread 0x7f8a7dbff700 (LWP 6840)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f8a9d3a53d3 in wait (time=18446744073709551615, this=0x7f8a7fe52c40) at /g/kdegit/qt/src/corelib/thread/qwaitcondition_unix.cpp:86
#2  wait (time=18446744073709551615, mutex=0x7f8a7fcea538, this=<optimized out>) at /g/kdegit/qt/src/corelib/thread/qwaitcondition_unix.cpp:158
#3  QWaitCondition::wait (this=<optimized out>, mutex=0x7f8a7fcea538, time=18446744073709551615) at /g/kdegit/qt/src/corelib/thread/qwaitcondition_unix.cpp:145
#4  0x00007f8aa230268a in Digikam::ParkingThread::run (this=0x7f8a7fcea520) at /g/kdegit/extragear/graphics/digikam/libs/threads/threadmanager.cpp:119
#5  0x00007f8a9d3a4e78 in QThreadPrivate::start (arg=0x7f8a7fcea520) at /g/kdegit/qt/src/corelib/thread/qthread_unix.cpp:307
#6  0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a7dbff700) at pthread_create.c:305
#7  0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 10 (Thread 0x7f8a607ff700 (LWP 6883)):
[KCrash Handler]
#6  0x00007f8a9bfd0d25 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007f8a9bfd21a8 in __GI_abort () at abort.c:91
#8  0x00007f8a9d39a6df in qt_message_output (msgType=<optimized out>, buf=<optimized out>) at /g/kdegit/qt/src/corelib/global/qglobal.cpp:2264
#9  0x00007f8a9d39a844 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f8a9d516220 "ASSERT: \"%s\" in file %s, line %d", ap=0x7f8a607fdbd8) at /g/kdegit/qt/src/corelib/global/qglobal.cpp:2310
#10 0x00007f8a9d39a9d4 in qFatal (msg=<optimized out>) at /g/kdegit/qt/src/corelib/global/qglobal.cpp:2493
#11 0x00007f8a9d4b419d in QMetaMethod::invoke (this=0x7f8a607fe020, object=0x7f8a7fc47da0, connectionType=Qt::QueuedConnection, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at /g/kdegit/qt/src/corelib/kernel/qmetaobject.cpp:1558
#12 0x00007f8aa2304ec2 in QMetaMethod::invoke (this=0x7f8a607fe020, object=0x7f8a7fc47da0, connectionType=Qt::QueuedConnection, val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at /usr/lib/qt4.5/include/QtCore/qmetaobject.h:120
#13 0x00007f8aa2304ce8 in Digikam::ParallelWorkers::replacementQtMetacall (this=<optimized out>, _c=<optimized out>, _id=4, _a=<optimized out>) at /g/kdegit/extragear/graphics/digikam/libs/threads/parallelworkers.cpp:198
#14 0x00007f8a9d4c36e7 in QMetaObject::activate (sender=0x7f8a7fc47d00, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7f8a607fe1d0) at /g/kdegit/qt/src/corelib/kernel/qobject.cpp:3566
#15 0x00000000005fc1d5 in Digikam::DatabaseWorkerInterface::writeMetadata (this=<optimized out>, _t1=<optimized out>, _t2=0x7f8a5faac110) at /g/b45/extragear/graphics/digikam/digikam/databaseworkeriface.moc:149
#16 0x00000000005fc4a3 in Digikam::FileActionMngrDatabaseWorker::applyMetadata (this=0x7f8a7fc47d00, infos=..., hub=0x7f8a642cd6b0) at /g/kdegit/extragear/graphics/digikam/digikam/fileaction/databaseworkeriface.cpp:276
#17 0x00000000005fcc73 in Digikam::DatabaseWorkerInterface::qt_static_metacall (_o=0x7f8a7fc47d00, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /g/b45/extragear/graphics/digikam/digikam/databaseworkeriface.moc:85
#18 0x00007f8a9d4c2a5e in QObject::event (this=0x7f8a7fc47d00, e=<optimized out>) at /g/kdegit/qt/src/corelib/kernel/qobject.cpp:1195
#19 0x00007f8a9e1c5211 in QApplicationPrivate::notify_helper (this=0x7f8a84891380, receiver=0x7f8a7fc47d00, e=0x7f8a6cec4100) at /g/kdegit/qt/src/gui/kernel/qapplication.cpp:4551
#20 0x00007f8a9e1ca2b9 in QApplication::notify (this=0x7fffcda47bb0, receiver=0x7f8a7fc47d00, e=0x7f8a6cec4100) at /g/kdegit/qt/src/gui/kernel/qapplication.cpp:4412
#21 0x00007f8a9f00f76e in KApplication::notify (this=0x7fffcda47bb0, receiver=0x7f8a7fc47d00, event=0x7f8a6cec4100) at /g/kdegit/kdelibs/kdeui/kernel/kapplication.cpp:311
#22 0x00007f8a9d4abced in QCoreApplication::notifyInternal (this=0x7fffcda47bb0, receiver=0x7f8a7fc47d00, event=0x7f8a6cec4100) at /g/kdegit/qt/src/corelib/kernel/qcoreapplication.cpp:915
#23 0x00007f8a9d4af677 in QCoreApplication::sendEvent (event=0x7f8a6cec4100, receiver=0x7f8a7fc47d00) at ../../include/QtCore/../../../../kdegit/qt/src/corelib/kernel/qcoreapplication.h:231
#24 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x7f8a76b5ee80) at /g/kdegit/qt/src/corelib/kernel/qcoreapplication.cpp:1539
#25 0x00007f8a9d4dd0f3 in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../../../kdegit/qt/src/corelib/kernel/qcoreapplication.h:236
#26 postEventSourceDispatch (s=0x7f8a5f840080) at /g/kdegit/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:279
#27 0x00007f8a96557415 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#28 0x00007f8a96557748 in ?? () from /usr/lib64/libglib-2.0.so.0
#29 0x00007f8a96557804 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#30 0x00007f8a9d4dd264 in QEventDispatcherGlib::processEvents (this=0x7f8a5f80e040, flags=<optimized out>) at /g/kdegit/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:424
#31 0x00007f8a9d4aa24f in QEventLoop::processEvents (this=<optimized out>, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:149
#32 0x00007f8a9d4aa508 in QEventLoop::exec (this=0x7f8a607feca0, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:204
#33 0x00007f8aa2301a31 in Digikam::WorkerObjectRunnable::run (this=0x7f8a76a22560) at /g/kdegit/extragear/graphics/digikam/libs/threads/threadmanager.cpp:196
#34 0x00007f8a9d3986cb in QThreadPoolThread::run (this=0x7f8a620d9900) at /g/kdegit/qt/src/corelib/concurrent/qthreadpool.cpp:107
#35 0x00007f8a9d3a4e78 in QThreadPrivate::start (arg=0x7f8a620d9900) at /g/kdegit/qt/src/corelib/thread/qthread_unix.cpp:307
#36 0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a607ff700) at pthread_create.c:305
#37 0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 9 (Thread 0x7f8a61bff700 (LWP 7345)):
#0  0x00007f8a96cd9b36 in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007f8a96cd869e in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a61bff700) at pthread_create.c:305
#3  0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 8 (Thread 0x7f8a5effe700 (LWP 7346)):
#0  0x00007f8a96cd9b36 in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007f8a96cd869e in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a5effe700) at pthread_create.c:305
#3  0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 7 (Thread 0x7f8a5e7fd700 (LWP 7347)):
#0  0x00007f8a96cd9b36 in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007f8a96cd869e in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a5e7fd700) at pthread_create.c:305
#3  0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7f8a5f7ff700 (LWP 7348)):
#0  0x00007f8a96cd9b36 in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007f8a96cd869e in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a5f7ff700) at pthread_create.c:305
#3  0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7f8a78790700 (LWP 7349)):
#0  0x00007f8a96cd9b36 in ?? () from /usr/lib64/libgomp.so.1
#1  0x00007f8a96cd869e in ?? () from /usr/lib64/libgomp.so.1
#2  0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a78790700) at pthread_create.c:305
#3  0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7f8a5d7ff700 (LWP 7565)):
#0  0x00007f8a9c07810f in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f8a965576e4 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f8a96557804 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f8a9d4dd264 in QEventDispatcherGlib::processEvents (this=0x7f8a5c00e040, flags=<optimized out>) at /g/kdegit/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f8a9d4aa24f in QEventLoop::processEvents (this=<optimized out>, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:149
#5  0x00007f8a9d4aa508 in QEventLoop::exec (this=0x7f8a5d7feca0, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:204
#6  0x00007f8aa2301a31 in Digikam::WorkerObjectRunnable::run (this=0x7f8a6cfd9980) at /g/kdegit/extragear/graphics/digikam/libs/threads/threadmanager.cpp:196
#7  0x00007f8a9d3986cb in QThreadPoolThread::run (this=0x7f8a641977c0) at /g/kdegit/qt/src/corelib/concurrent/qthreadpool.cpp:107
#8  0x00007f8a9d3a4e78 in QThreadPrivate::start (arg=0x7f8a641977c0) at /g/kdegit/qt/src/corelib/thread/qthread_unix.cpp:307
#9  0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a5d7ff700) at pthread_create.c:305
#10 0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7f8a5a7ff700 (LWP 7566)):
#0  0x00007f8a9c07810f in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f8a965576e4 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f8a96557804 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f8a9d4dd264 in QEventDispatcherGlib::processEvents (this=0x7f8a5c40e040, flags=<optimized out>) at /g/kdegit/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f8a9d4aa24f in QEventLoop::processEvents (this=<optimized out>, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:149
#5  0x00007f8a9d4aa508 in QEventLoop::exec (this=0x7f8a5a7feca0, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:204
#6  0x00007f8aa2301a31 in Digikam::WorkerObjectRunnable::run (this=0x7f8a620c9a40) at /g/kdegit/extragear/graphics/digikam/libs/threads/threadmanager.cpp:196
#7  0x00007f8a9d3986cb in QThreadPoolThread::run (this=0x7f8a64197980) at /g/kdegit/qt/src/corelib/concurrent/qthreadpool.cpp:107
#8  0x00007f8a9d3a4e78 in QThreadPrivate::start (arg=0x7f8a64197980) at /g/kdegit/qt/src/corelib/thread/qthread_unix.cpp:307
#9  0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a5a7ff700) at pthread_create.c:305
#10 0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7f8a59ffe700 (LWP 7567)):
#0  0x00007f8a9c07810f in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f8a965576e4 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f8a96557804 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f8a9d4dd264 in QEventDispatcherGlib::processEvents (this=0x7f8a60c0e040, flags=<optimized out>) at /g/kdegit/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f8a9d4aa24f in QEventLoop::processEvents (this=<optimized out>, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:149
#5  0x00007f8a9d4aa508 in QEventLoop::exec (this=0x7f8a59ffdca0, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:204
#6  0x00007f8aa2301a31 in Digikam::WorkerObjectRunnable::run (this=0x7f8a620c9a80) at /g/kdegit/extragear/graphics/digikam/libs/threads/threadmanager.cpp:196
#7  0x00007f8a9d3986cb in QThreadPoolThread::run (this=0x7f8a620d3ae0) at /g/kdegit/qt/src/corelib/concurrent/qthreadpool.cpp:107
#8  0x00007f8a9d3a4e78 in QThreadPrivate::start (arg=0x7f8a620d3ae0) at /g/kdegit/qt/src/corelib/thread/qthread_unix.cpp:307
#9  0x00007f8a9d0f5e0e in start_thread (arg=0x7f8a59ffe700) at pthread_create.c:305
#10 0x00007f8a9c08028d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f8aa57bb8c0 (LWP 6827)):
#0  0x00007f8a9c07810f in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f8a9171fc62 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007f8a917201bf in ?? () from /usr/lib64/libxcb.so.1
#3  0x00007f8a91720244 in xcb_writev () from /usr/lib64/libxcb.so.1
#4  0x00007f8a9a9503be in _XSend () from /usr/lib64/libX11.so.6
#5  0x00007f8a9a9506f9 in _XEventsQueued () from /usr/lib64/libX11.so.6
#6  0x00007f8a9a941bfb in XEventsQueued () from /usr/lib64/libX11.so.6
#7  0x00007f8a9e273627 in x11EventSourcePrepare (s=0x7f8a84928d00, timeout=<optimized out>) at /g/kdegit/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:77
#8  0x00007f8a96556f1f in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#9  0x00007f8a9655760b in ?? () from /usr/lib64/libglib-2.0.so.0
#10 0x00007f8a96557804 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#11 0x00007f8a9d4dd264 in QEventDispatcherGlib::processEvents (this=0x7f8a8485a1e0, flags=<optimized out>) at /g/kdegit/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:424
#12 0x00007f8a9e273766 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at /g/kdegit/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:204
#13 0x00007f8a9d4aa24f in QEventLoop::processEvents (this=<optimized out>, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:149
#14 0x00007f8a9d4aa508 in QEventLoop::exec (this=0x7fffcda47670, flags=...) at /g/kdegit/qt/src/corelib/kernel/qeventloop.cpp:204
#15 0x00007f8a9d4afa88 in QCoreApplication::exec () at /g/kdegit/qt/src/corelib/kernel/qcoreapplication.cpp:1187
#16 0x000000000049ba14 in main (argc=<optimized out>, argv=0x7fffcda47e08) at /g/kdegit/extragear/graphics/digikam/digikam/main/main.cpp:232

Possible duplicates by query: bug 212154.

Reported using DrKonqi
Comment 1 caulier.gilles 2012-06-09 11:50:12 UTC
It crash indeep in Qt. Sound like a binary compatibility issue with packages.

Gilles Caulier
Comment 2 Marcel Wiesweg 2012-06-09 13:23:49 UTC
We invoke a meta method, and an internal assert fails checking that the MetaObject used to invoke the method and the object passed as parameter, on which to invoke the method, are compatible.
Now in the code, the MetaObject and Method are quite clearly from the correct object, and it works for all of us. Dont know, perhaps really some binary compatibility mix (though I probably never ran this with a Qt with asserts enabled)
Comment 3 Jaime Torres 2012-06-10 10:03:05 UTC
runinng digikam under valgrind, and a complete compile of all KDE SC, I only see these messages:

QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))

QSocketNotifier: Invalid socket 15 and type 'Read', disabling...

Invalid read of size 2
   at 0xCE16A1A: socketNotifierSourceCheck(_GSource*) (qeventdispatcher_glib.cpp:83)
   by 0x13CA61FA: g_main_context_check (in /usr/lib64/libglib-2.0.so.0.3200.3)
   by 0x13CA6681: ??? (in /usr/lib64/libglib-2.0.so.0.3200.3)
   by 0x13CA6803: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.3200.3)
   by 0xCE17263: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:424)
   by 0xCDE424E: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149)
   by 0xCDE4507: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:204)
   by 0xCCDC18C: QThread::exec() (qthread.cpp:501)
   by 0xCDC34D2: QInotifyFileSystemWatcherEngine::run() (qfilesystemwatcher_inotify.cpp:248)
   by 0xCCDEE77: QThreadPrivate::start(void*) (qthread_unix.cpp:307)
   by 0xD160E0D: start_thread (pthread_create.c:305)
   by 0xE20528C: clone (clone.S:115)
 Address 0x25ee1974 is 4 bytes inside a block of size 16 free'd
   at 0x4C299DC: operator delete(void*) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0xCE16A12: socketNotifierSourceCheck(_GSource*) (qeventdispatcher_glib.cpp:92)
   by 0x13CA61FA: g_main_context_check (in /usr/lib64/libglib-2.0.so.0.3200.3)
   by 0x13CA6681: ??? (in /usr/lib64/libglib-2.0.so.0.3200.3)
   by 0x13CA6803: g_main_context_iteration (in /usr/lib64/libglib-2.0.so.0.3200.3)
   by 0xCE17263: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:424)
   by 0xCDE424E: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149)
   by 0xCDE4507: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:204)
   by 0xCCDC18C: QThread::exec() (qthread.cpp:501)
   by 0xCDC34D2: QInotifyFileSystemWatcherEngine::run() (qfilesystemwatcher_inotify.cpp:248)
   by 0xCCDEE77: QThreadPrivate::start(void*) (qthread_unix.cpp:307)
   by 0xD160E0D: start_thread (pthread_create.c:305)

But As I am the only one reproducing it (every time), I'll try to fix it here.

Just to be sure this is not the problem (I get lost with the introspection methods):
Are the methods called in this way registered with the meta-object system?

Qt Documentation.. 
A method will only be registered with the meta-object system if it is a slot, a signal, or declared with the Q_INVOKABLE macro. Constructors can also be registered with Q_INVOKABLE.
Comment 4 Marcel Wiesweg 2012-06-10 17:01:20 UTC
Git commit cb1e7afd40f37122f5665f4073b89a2a797209d5 by Marcel Wiesweg.
Committed on 10/06/2012 at 18:59.
Pushed by mwiesweg into branch 'master'.

- use the moc's real meta object not to confuse Qt and trigger internal ASSERTs
- syntactically prevent adding of any WorkerObject subclass, it must be the template's type

M  +1    -1    libs/threads/parallelworkers.cpp
M  +4    -1    libs/threads/parallelworkers.h

http://commits.kde.org/digikam/cb1e7afd40f37122f5665f4073b89a2a797209d5
Comment 5 Marcel Wiesweg 2012-06-10 17:02:08 UTC
Should be fixed with this commit. I could reproduce that the call checked by the internal assert fails.