genembed hangs in exit() - KNetworkInterface problem

David Faure faure at kde.org
Sun Apr 30 12:40:46 BST 2006


/devel/kde/build/4/kdelibs4_snapshot/bin/genembed --file /devel/kde/build/4/kdelibs4_snapshot/kstyles/keramik/keramikPics.txt
hangs due to the static QReadWriteLock in kdecore/network/knetworkinterface.cpp line 110.

110     QReadWriteLock netifPrivateLock;

(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7de614e in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
#2  0xb7de3a09 in _L_mutex_lock_23 () from /lib/tls/libpthread.so.0
#3  0x0804f8b8 in QString::shared_null ()
#4  0xb7e000e4 in ?? () from /devel/kde/src/4/qt-copy/lib/libQtCore_debug.so.4
#5  0xb7f89298 in ?? ()
#6  0xb6eff4a8 in ?? () from /lib/tls/libc.so.6
#7  0xb6eff368 in ?? () from /lib/tls/libc.so.6
#8  0xbff9e208 in ?? ()
#9  0xb7e310d8 in ~QWaitCondition (this=0x8091e30) at thread/qwaitcondition_unix.cpp:164
#10 0xb7e310d8 in ~QWaitCondition (this=0x8094910) at thread/qwaitcondition_unix.cpp:164
#11 0xb7e2c8d7 in QReadWriteLockPrivate::~QReadWriteLockPrivate () at ../../include/QtCore/../../src/corelib/global/qglobal.h:747
#12 0xb7e2c37a in QReadWriteLock::~QReadWriteLock () at kernel/qabstracteventdispatcher.cpp:32
#13 0xb7db1894 in __tcf_0 () at /devel/kde/src/4/kdelibs4_snapshot/kdecore/network/knetworkinterface.cpp:110
#14 0xb6dfee98 in __cxa_finalize () from /lib/tls/libc.so.6
#15 0xb7c72a53 in __do_global_dtors_aux () from /devel/kde/build/4/kdelibs4_snapshot/lib/libkdecore.so.5
#16 0xb7db7c5e in _fini () from /devel/kde/build/4/kdelibs4_snapshot/lib/libkdecore.so.5
#17 0xb7f96fae in _dl_fini () at dl-fini.c:238
#18 0xb6dfec64 in exit () from /lib/tls/libc.so.6
#19 0xb6de8e48 in __libc_start_main () from /lib/tls/libc.so.6
#20 0x0804ad51 in _start () at ../sysdeps/i386/elf/start.S:119

Shouldn't this QReadWriteLock be turned into a (class-static?) pointer to avoid such side effects?
I guess the testcase is simply "QCoreApplication app(argc,argv); return 0;" - which should
not run some KNetworkInterface mutex code automatically IMHO...

-- 
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).




More information about the kde-core-devel mailing list