Version: 1.5.94 (using KDE 3.1.94 (3.2 Beta 2), compiled sources) Compiler: gcc version 3.3.2 (Debian) OS: Linux (i686) release 2.6.0 I run knode from kontact. On this crash, the whole of kontact crashed. I didn't even get a trace log (I've compiled with --enable-debug=full). I don't know why it didn't give the backtrace. However, it's easy to reproduce: 1. Click on any number in the 'references' field in the preview window. 2. A new window is opened, in which the article is displayed. Before this article is downloaded, close this new window. Crash.
I reproduced this one a while ago, but I forgot to send the backtrace, so here it is: Using host libthread_db library "/lib/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 31843)] [Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 31843)] [Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 31843)] [New Thread 32769 (LWP 1043)] [New Thread 16386 (LWP 1044)] [New Thread 32771 (LWP 1045)] 0x414e89cb in waitpid () from /lib/libpthread.so.0 #0 0x414e89cb in waitpid () from /lib/libpthread.so.0 #1 0x40b662cc in __JCR_LIST__ () from /usr/kde/cvs/lib/libkdecore.so.4 #2 0x00000001 in ?? () #3 0x40aa173c in KCrash::defaultCrashHandler(int) (sig=11) at ../cvs/kdelibs/kdecore/kcrash.cpp:246 #4 0x414e7693 in __pthread_sighandler () from /lib/libpthread.so.0 #5 <signal handler called> #6 0x0876c298 in ?? () #7 0x411b29f4 in QCString::resize(unsigned) (this=0x876c29c, len=0) at tools/qcstring.cpp:832 #8 0x42e22263 in KMime::Content::setContent(QStrList*) (this=0x876c298, l=0x432eb854) at ../cvs/kdepim/libkdenetwork/kmime_content.cpp:57 #9 0x43033727 in KNNntpClient::doFetchArticle() (this=0x874e700) at ../cvs/kdepim/knode/knnntpclient.cpp:474 #10 0x43031d2f in KNNntpClient::processJob() (this=0x874e700) at ../cvs/kdepim/knode/knnntpclient.cpp:54 #11 0x4302f3be in KNProtocolClient::waitForWork() (this=0x874e700) at ../cvs/kdepim/knode/knprotocolclient.cpp:152 #12 0x4302efc3 in KNProtocolClient::run() (this=0x874e700) at ../cvs/kdepim/knode/knprotocolclient.cpp:60 #13 0x40e8ee3c in QThreadInstance::start(void*) (_arg=0x874e77c) at kernel/qthread_unix.cpp:120 #14 0x414e1fc8 in pthread_start_thread () from /lib/libpthread.so.0 #15 0x41634dea in clone () from /lib/libc.so.6
I can still reproduce this using SVN 3.5 branch, 466075. Click on a reference, and press Ctrl+W ASAP => Crash: Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". `system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols. [Thread debugging using libthread_db enabled] [New Thread -1243565952 (LWP 5969)] [New Thread -1247892560 (LWP 5973)] [KCrash handler] #4 KMime::Content::storageSize (this=0x83a1530) at qgarray.h:79 #5 0xb7f46984 in KNMemoryManager::ArticleItem::sync (this=0x85c5650) at knmemorymanager.cpp:209 #6 0xb7f45afb in KNMemoryManager::updateCacheEntry (this=0x82d4950, a=0xbfffed10) at knmemorymanager.h:45 #7 0xb7f519ef in KNArticleManager::processJob (this=0x828ea30, j=0x85d5488) at knarticlemanager.cpp:909 #8 0xb7f1bc1f in KNJobConsumer::jobDone (this=0x828ea58, j=0x85d5488) at knjobdata.cpp:52 #9 0xb7f1bf4d in KNJobData::notifyConsumer (this=0xb60759e8) at knjobdata.cpp:83 #10 0xb7f13a6b in KNNetAccess::threadDoneNntp (this=0x82d14d0) at knnetaccess.cpp:337 #11 0xb7f143b8 in KNNetAccess::slotThreadSignal (this=0x82d14d0, i=11) at knnetaccess.cpp:396 #12 0xb7f151f6 in KNNetAccess::qt_invoke (this=0x82d14d0, _id=2, _o=0xbffff020) at qucom_p.h:388 #13 0xb650d067 in QObject::activate_signal () from /usr/share/qt3/lib/libqt-mt.so.3 #14 0xb650d1be in QObject::activate_signal () from /usr/share/qt3/lib/libqt-mt.so.3 #15 0xb6828ee0 in QSocketNotifier::activated () from /usr/share/qt3/lib/libqt-mt.so.3 #16 0xb6528036 in QSocketNotifier::event () from /usr/share/qt3/lib/libqt-mt.so.3 #17 0xb64b5370 in QApplication::internalNotify () from /usr/share/qt3/lib/libqt-mt.so.3 #18 0xb64b49d4 in QApplication::notify () from /usr/share/qt3/lib/libqt-mt.so.3 #19 0xb6ac9285 in KApplication::notify (this=0xbffff600, receiver=0x82d1548, event=0xbffff3c0) at kapplication.cpp:550 #20 0xb64a5a10 in QEventLoop::activateSocketNotifiers () from /usr/share/qt3/lib/libqt-mt.so.3 #21 0xb6461917 in QEventLoop::processEvents () from /usr/share/qt3/lib/libqt-mt.so.3 #22 0xb64c674c in QEventLoop::enterLoop () from /usr/share/qt3/lib/libqt-mt.so.3 #23 0xb64c660e in QEventLoop::exec () from /usr/share/qt3/lib/libqt-mt.so.3 #24 0xb64b557b in QApplication::exec () from /usr/share/qt3/lib/libqt-mt.so.3 #25 0x08050348 in main (argc=21, argv=0x15) at main.cpp:41
Still reproducible in kde4. Note: last time I check (with knode from kde 3.5), I _understood_ this bug was caused by a qcstring/qbytearray being shared by 2 threads (knode and kio_nntp). The pb might dissappear if knode goes akonadi
SVN commit 949915 by mleupold: Don't crash on closing an article widget opened by clicking a reference while the article isn't fully loaded yet. BUG: 71102 M +5 -1 articlewidget.cpp M +13 -1 knjobdata.cpp M +5 -0 knjobdata.h WebSVN link: http://websvn.kde.org/?view=rev&revision=949915
SVN commit 949920 by mleupold: Backport of r949915. Don't crash on closing an article widget opened by clicking a reference while the article isn't fully loaded yet. CCBUG: 71102 M +5 -1 articlewidget.cpp M +13 -1 knjobdata.cpp M +5 -0 knjobdata.h WebSVN link: http://websvn.kde.org/?view=rev&revision=949920