[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Qt4 idle-spin issue



Hi,

I’ve been building Qt4 again and having issues (none that
attaching gdb and issuing a 'return' or 'call _exit(0)'
wouldn’t fix but a regular package build would). I’ve seen
similar behaviour earlier when building packages that use
Qt, but now (4.8) it’s even in Qt itself.

# cd /tmp/buildd/qt4-x11-4.8.1/src
# export LD_LIBRARY_PATH=/tmp/buildd/qt4-x11-4.8.1/lib
# gdb --args /tmp/buildd/qt4-x11-4.8.1/bin/lupdate-qt4 -locations relative -no-ui-lines ../tools/linguist/linguist.pro -ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_untranslated.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_cs.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_de.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_fr.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_hu.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_ja.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_ko.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_pl.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_ru.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_sl.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_uk.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_zh_CN.ts /tmp/buildd/qt4-x11-4.8.1/translations/linguist_zh_TW.ts
(gdb) r

Now it works for a short while and then sits there idly
(top shows 0% CPU usage). Interrupting this, I get a
backtrace of:

Program received signal SIGINT, Interrupt.
0xc0556504 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/m68k-linux-gnu/libpthread.so.0
(gdb) bt
#0  0xc0556504 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/m68k-linux-gnu/libpthread.so.0
#1  0xc00d7c28 in wait (time=4294967295, this=0x800e0808) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=0x800ef6ae, mutex=0x800ef694, time=4294967295)
    at thread/qwaitcondition_unix.cpp:158
#3  0xc00d72be in QThread::wait (this=0xc032f1f0, time=4294967295) at thread/qthread_unix.cpp:651
#4  0xc01b2c1e in QProcessManager::~QProcessManager (this=0xc032f1f0, __in_chrg=<optimized out>)
    at io/qprocess_unix.cpp:212
#5  0xc0450f9e in ?? () from /lib/m68k-linux-gnu/libc.so.6
#6  0xc032f1f0 in guard variable for processManager()::processManager ()
   from /tmp/buildd/qt4-x11-4.8.1/lib/libQtCore.so.4
#7  0x00000000 in ?? ()


I think there may be threads issues with signals and children.
This occurs a few times during the Qt build process, and in
about half the time, a zombie was lying around until I attached
gdb to give the parent a shove.

Sending SIGCHLD to the process doesn't kick it up to live again,
though.

I don’t do C++ but if anyone else has got an idea…?

bye,
//mirabilos
-- 
tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
Tel: +49 228 54881-393 • Fax: +49 228 54881-314
HRB AG Bonn 5168 • USt-ID (VAT): DE122264941
Geschäftsführer: Boris Esser, Elmar Geese


Reply to: