Application: kget (2.4.4) KDE Platform Version: 4.4.4 (KDE 4.4.4) Qt Version: 4.6.3 Operating System: Linux 2.6.34 x86_64 Distribution: Debian GNU/Linux unstable (sid) -- Information about the crash: I chose a picasa album and started to download pictures one after another. Kget crashed. According to the possible dupe this may be a bug in kdelibs. The crash can be reproduced some of the time. -- Backtrace: Application: KGet (kget), signal: Segmentation fault [Current thread is 1 (Thread 0x7fbb8650c760 (LWP 21396))] Thread 2 (Thread 0x7fbb72549710 (LWP 21400)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211 #1 0x00007fbb83660df2 in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xc77f40, time=30000) at thread/qwaitcondition_unix.cpp:85 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0xc77f40, time=30000) at thread/qwaitcondition_unix.cpp:159 #3 0x00007fbb83655e21 in QThreadPoolThread::run (this=0xcb9900) at concurrent/qthreadpool.cpp:140 #4 0x00007fbb8365fe35 in QThreadPrivate::start (arg=0xcb9900) at thread/qthread_unix.cpp:248 #5 0x00007fbb847048ba in start_thread (arg=<value optimized out>) at pthread_create.c:300 #6 0x00007fbb81eb901d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #7 0x0000000000000000 in ?? () Thread 1 (Thread 0x7fbb8650c760 (LWP 21396)): [KCrash Handler] #5 QBasicAtomicInt::ref (this=0x7ffff160db40, copy=...) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:121 #6 QString (this=0x7ffff160db40, copy=...) at ../../include/QtCore/../../src/corelib/tools/qstring.h:715 #7 QUrlPrivate (this=0x7ffff160db40, copy=...) at io/qurl.cpp:3382 #8 0x00007fbb8370a983 in QUrlPrivate::normalized (this=<value optimized out>) at io/qurl.cpp:3967 #9 0x00007fbb8370bed8 in QUrl::operator== (this=0x7ffff160de10, url=<value optimized out>) at io/qurl.cpp:5905 #10 0x00007fbb859550e0 in KDirModel::expandToUrl (this=0x10a15c0, url=<value optimized out>) at ../../kio/kio/kdirmodel.cpp:1085 #11 0x00007fbb7258abfa in KDirOperator::setCurrentItem (this=0xd86610, url=...) at ../../kfile/kdiroperator.cpp:1737 #12 0x00007fbb725a0b09 in KFileWidgetPrivate::_k_slotLoadingFinished (this=0xbf1960) at ../../kfile/kfilewidget.cpp:1511 #13 0x00007fbb725ac654 in KFileWidget::qt_metacall (this=0xc74ad0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffff160e0a0) at ./kfilewidget.moc:146 #14 0x00007fbb83762346 in QMetaObject::activate (sender=0xd86610, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x5f474d492f736f74) at kernel/qobject.cpp:3295 #15 0x00007fbb725863cc in KDirOperator::Private::_k_slotCanceled (this=0xbfbf40) at ../../kfile/kdiroperator.cpp:2289 #16 0x00007fbb72591395 in KDirOperator::qt_metacall (this=0xd86610, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffff160e1d0) at ./kdiroperator.moc:247 #17 0x00007fbb83762346 in QMetaObject::activate (sender=0x1011350, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x5f474d492f736f74) at kernel/qobject.cpp:3295 #18 0x00007fbb8593a3b8 in KDirListerCache::stop (this=0xc78cc0, lister=0x1011350, silent=false) at ../../kio/kio/kdirlister.cpp:378 #19 0x00007fbb85944155 in ~KDirLister (this=0x7ffff160db40, __in_chrg=<value optimized out>) at ../../kio/kio/kdirlister.cpp:1938 #20 0x00007fbb8375db9c in QObjectPrivate::deleteChildren (this=0xc00050) at kernel/qobject.cpp:1986 #21 0x00007fbb83764c7f in ~QObject (this=<value optimized out>, __in_chrg=<value optimized out>) at kernel/qobject.cpp:975 #22 0x00007fbb83742435 in ~QAbstractItemModel (this=0x10a15c0, __in_chrg=<value optimized out>) at kernel/qabstractitemmodel.cpp:1373 #23 0x00007fbb85952c0a in ~KDirModel (this=0x10a15c0, __in_chrg=<value optimized out>) at ../../kio/kio/kdirmodel.cpp:331 #24 0x00007fbb72588bcc in ~Private (this=0xbfbf40, __in_chrg=<value optimized out>) at ../../kfile/kdiroperator.cpp:351 #25 0x00007fbb72588d6f in ~KDirOperator (this=0xd86610, __in_chrg=<value optimized out>) at ../../kfile/kdiroperator.cpp:423 #26 0x00007fbb725a202f in ~KFileWidgetPrivate (this=0xc74ad0, __in_chrg=<value optimized out>) at ../../kfile/kfilewidget.cpp:107 #27 ~KFileWidget (this=0xc74ad0, __in_chrg=<value optimized out>) at ../../kfile/kfilewidget.cpp:643 #28 0x00007fbb8375db9c in QObjectPrivate::deleteChildren (this=0xc2b120) at kernel/qobject.cpp:1986 #29 0x00007fbb82b4c2fd in ~QWidget (this=0xa390e0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1476 #30 0x00007fbb85a1dea5 in ~KFileDialog (this=0xa390e0, __in_chrg=<value optimized out>) at ../../kio/kfile/kfiledialog.cpp:326 #31 0x00007fbb853490f3 in KGet::destFileInputDialog (destDir=<value optimized out>, suggestedFileName=...) at ../../kget/core/kget.cpp:883 #32 0x00007fbb8534e95d in KGet::addTransfer (srcUrl=) at ../../kget/core/kget.cpp:228 #33 0x00000000004abfe4 in KGetApp::newInstance() () #34 0x00007fbb85f28256 in KUniqueApplicationAdaptor::newInstance (this=0x8a6300, asn_id=<value optimized out>, args=...) at ../../kdeui/kernel/kuniqueapplication.cpp:454 #35 0x00007fbb85f28896 in KUniqueApplicationAdaptor::qt_metacall (this=0x8a6300, _c=QMetaObject::InvokeMetaMethod, _id=49, _a=0x7ffff160ee40) at ./kuniqueapplication_p.moc:81 #36 0x00007fbb83a8d421 in QDBusConnectionPrivate::deliverCall (this=<value optimized out>, object=<value optimized out>, msg=<value optimized out>, metaTypes=..., slotIdx=<value optimized out>) at qdbusintegrator.cpp:904 #37 0x00007fbb83a8e68b in QDBusConnectionPrivate::activateCall (this=<value optimized out>, object=0x8a6300, flags=337, msg=...) at qdbusintegrator.cpp:816 #38 0x00007fbb83a8f10d in QDBusConnectionPrivate::activateObject (this=<value optimized out>, node=<value optimized out>, msg=..., pathStartPos=<value optimized out>) at qdbusintegrator.cpp:1364 #39 0x00007fbb83a8f3a8 in QDBusActivateObjectEvent::placeMetaCall (this=0xec97c0) at qdbusintegrator.cpp:1477 #40 0x00007fbb8375ee89 in QObject::event (this=0x7ffff160fe10, e=0xec97c0) at kernel/qobject.cpp:1248 #41 0x00007fbb82af369d in QApplication::event (this=0x7ffff160fe10, e=0xec97c0) at kernel/qapplication.cpp:2355 #42 0x00007fbb82aef32c in QApplicationPrivate::notify_helper (this=0x812710, receiver=0x7ffff160fe10, e=0xec97c0) at kernel/qapplication.cpp:4302 #43 0x00007fbb82af580b in QApplication::notify (this=0x7ffff160fe10, receiver=0x7ffff160fe10, e=0xec97c0) at kernel/qapplication.cpp:4185 #44 0x00007fbb85f21436 in KApplication::notify (this=0x7ffff160fe10, receiver=0x7ffff160fe10, event=0xec97c0) at ../../kdeui/kernel/kapplication.cpp:302 #45 0x00007fbb8374f15c in QCoreApplication::notifyInternal (this=0x7ffff160fe10, receiver=0x7ffff160fe10, event=0xec97c0) at kernel/qcoreapplication.cpp:726 #46 0x00007fbb83752804 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x7c16f0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #47 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x7c16f0) at kernel/qcoreapplication.cpp:1367 #48 0x00007fbb83778bd3 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #49 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276 #50 0x00007fbb7db6d6c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #51 0x00007fbb7db71538 in ?? () from /lib/libglib-2.0.so.0 #52 0x00007fbb7db716ec in g_main_context_iteration () from /lib/libglib-2.0.so.0 #53 0x00007fbb83778713 in QEventDispatcherGlib::processEvents (this=0x7c1200, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412 #54 0x00007fbb82b9f14e in QGuiEventDispatcherGlib::processEvents (this=0x7ffff160db40, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #55 0x00007fbb8374da82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #56 0x00007fbb8374de5c in QEventLoop::exec (this=0x7ffff160fd70, flags=) at kernel/qeventloop.cpp:201 #57 0x00007fbb83752aeb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003 #58 0x00000000004aa50d in main (argc=<value optimized out>, argv=<value optimized out>) at ../../kget/main.cpp:184 This bug may be a duplicate of or related to bug 242085. Possible duplicates by query: bug 242085. Reported using DrKonqi
Another possible backtrace of this, reproduced with the same steps. Application: KGet (kget), signal: Segmentation fault [Current thread is 1 (Thread 0x7fa88c107760 (LWP 20862))] Thread 2 (Thread 0x7fa878144710 (LWP 20867)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211 #1 0x00007fa88925bdf2 in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xfb7eb0, time=30000) at thread/qwaitcondition_unix.cpp:85 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0xfb7eb0, time=30000) at thread/qwaitcondition_unix.cpp:159 #3 0x00007fa889250e21 in QThreadPoolThread::run (this=0x11affd0) at concurrent/qthreadpool.cpp:140 #4 0x00007fa88925ae35 in QThreadPrivate::start (arg=0x11affd0) at thread/qthread_unix.cpp:248 #5 0x00007fa88a2ff8ba in start_thread (arg=<value optimized out>) at pthread_create.c:300 #6 0x00007fa887ab401d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #7 0x0000000000000000 in ?? () Thread 1 (Thread 0x7fa88c107760 (LWP 20862)): [KCrash Handler] #5 QUrlPrivate::parse (this=0xee7a20, parseOptions=QUrlPrivate::ParseAndSet) at io/qurl.cpp:3742 #6 0x00007fa889306efa in QUrl::operator== (this=0x7fffcb6ddab0, url=...) at io/qurl.cpp:5903 #7 0x00007fa88b5500e0 in KDirModel::expandToUrl (this=0xee78d0, url=<value optimized out>) at ../../kio/kio/kdirmodel.cpp:1085 #8 0x00007fa878185bfa in KDirOperator::setCurrentItem (this=0xee79f0, url=...) at ../../kfile/kdiroperator.cpp:1737 #9 0x00007fa87819bb09 in KFileWidgetPrivate::_k_slotLoadingFinished (this=0xede900) at ../../kfile/kfilewidget.cpp:1511 #10 0x00007fa8781a7654 in KFileWidget::qt_metacall (this=0xbf8fb0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffcb6ddd40) at ./kfilewidget.moc:146 #11 0x00007fa88935d346 in QMetaObject::activate (sender=0xee79f0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x97d00) at kernel/qobject.cpp:3295 #12 0x00007fa8781813cc in KDirOperator::Private::_k_slotCanceled (this=0xeb5560) at ../../kfile/kdiroperator.cpp:2289 #13 0x00007fa87818c395 in KDirOperator::qt_metacall (this=0xee79f0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffcb6dde70) at ./kdiroperator.moc:247 #14 0x00007fa88935d346 in QMetaObject::activate (sender=0xf33040, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x97d00) at kernel/qobject.cpp:3295 #15 0x00007fa88b5353b8 in KDirListerCache::stop (this=0xe8e8b0, lister=0xf33040, silent=false) at ../../kio/kio/kdirlister.cpp:378 #16 0x00007fa88b53f155 in ~KDirLister (this=0xee7a20, __in_chrg=<value optimized out>) at ../../kio/kio/kdirlister.cpp:1938 #17 0x00007fa889358b9c in QObjectPrivate::deleteChildren (this=0xe9f3b0) at kernel/qobject.cpp:1986 #18 0x00007fa88935fc7f in ~QObject (this=<value optimized out>, __in_chrg=<value optimized out>) at kernel/qobject.cpp:975 #19 0x00007fa88933d435 in ~QAbstractItemModel (this=0xee78d0, __in_chrg=<value optimized out>) at kernel/qabstractitemmodel.cpp:1373 #20 0x00007fa88b54dc0a in ~KDirModel (this=0xee78d0, __in_chrg=<value optimized out>) at ../../kio/kio/kdirmodel.cpp:331 #21 0x00007fa878183bcc in ~Private (this=0xeb5560, __in_chrg=<value optimized out>) at ../../kfile/kdiroperator.cpp:351 #22 0x00007fa878183d6f in ~KDirOperator (this=0xee79f0, __in_chrg=<value optimized out>) at ../../kfile/kdiroperator.cpp:423 #23 0x00007fa87819d02f in ~KFileWidgetPrivate (this=0xbf8fb0, __in_chrg=<value optimized out>) at ../../kfile/kfilewidget.cpp:107 #24 ~KFileWidget (this=0xbf8fb0, __in_chrg=<value optimized out>) at ../../kfile/kfilewidget.cpp:643 #25 0x00007fa889358b9c in QObjectPrivate::deleteChildren (this=0xe42f80) at kernel/qobject.cpp:1986 #26 0x00007fa8887472fd in ~QWidget (this=0xc327a0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1476 #27 0x00007fa88b618ea5 in ~KFileDialog (this=0xc327a0, __in_chrg=<value optimized out>) at ../../kio/kfile/kfiledialog.cpp:326 #28 0x00007fa88af440f3 in KGet::destFileInputDialog (destDir=<value optimized out>, suggestedFileName=...) at ../../kget/core/kget.cpp:883 #29 0x00007fa88af4995d in KGet::addTransfer (srcUrl=) at ../../kget/core/kget.cpp:228 #30 0x00000000004abfe4 in KGetApp::newInstance() () #31 0x00007fa88bb23256 in KUniqueApplicationAdaptor::newInstance (this=0xac1590, asn_id=<value optimized out>, args=...) at ../../kdeui/kernel/kuniqueapplication.cpp:454 #32 0x00007fa88bb23896 in KUniqueApplicationAdaptor::qt_metacall (this=0xac1590, _c=QMetaObject::InvokeMetaMethod, _id=15628832, _a=0x7fffcb6deae0) at ./kuniqueapplication_p.moc:81 #33 0x00007fa889688421 in QDBusConnectionPrivate::deliverCall (this=<value optimized out>, object=<value optimized out>, msg=<value optimized out>, metaTypes=..., slotIdx=<value optimized out>) at qdbusintegrator.cpp:904 #34 0x00007fa88968968b in QDBusConnectionPrivate::activateCall (this=<value optimized out>, object=0xac1590, flags=337, msg=...) at qdbusintegrator.cpp:816 #35 0x00007fa88968a10d in QDBusConnectionPrivate::activateObject (this=<value optimized out>, node=<value optimized out>, msg=..., pathStartPos=<value optimized out>) at qdbusintegrator.cpp:1364 #36 0x00007fa88968a3a8 in QDBusActivateObjectEvent::placeMetaCall (this=0x10a5d30) at qdbusintegrator.cpp:1477 #37 0x00007fa889359e89 in QObject::event (this=0x7fffcb6dfab0, e=0x10a5d30) at kernel/qobject.cpp:1248 #38 0x00007fa8886ee69d in QApplication::event (this=0x7fffcb6dfab0, e=0x10a5d30) at kernel/qapplication.cpp:2355 #39 0x00007fa8886ea32c in QApplicationPrivate::notify_helper (this=0x9f2760, receiver=0x7fffcb6dfab0, e=0x10a5d30) at kernel/qapplication.cpp:4302 #40 0x00007fa8886f080b in QApplication::notify (this=0x7fffcb6dfab0, receiver=0x7fffcb6dfab0, e=0x10a5d30) at kernel/qapplication.cpp:4185 #41 0x00007fa88bb1c436 in KApplication::notify (this=0x7fffcb6dfab0, receiver=0x7fffcb6dfab0, event=0x10a5d30) at ../../kdeui/kernel/kapplication.cpp:302 #42 0x00007fa88934a15c in QCoreApplication::notifyInternal (this=0x7fffcb6dfab0, receiver=0x7fffcb6dfab0, event=0x10a5d30) at kernel/qcoreapplication.cpp:726 #43 0x00007fa88934d804 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x9a16f0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #44 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x9a16f0) at kernel/qcoreapplication.cpp:1367 #45 0x00007fa889373bd3 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #46 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276 #47 0x00007fa8837686c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #48 0x00007fa88376c538 in ?? () from /lib/libglib-2.0.so.0 #49 0x00007fa88376c6ec in g_main_context_iteration () from /lib/libglib-2.0.so.0 #50 0x00007fa889373713 in QEventDispatcherGlib::processEvents (this=0x9a1200, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412 #51 0x00007fa88879a14e in QGuiEventDispatcherGlib::processEvents (this=0xee7a20, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #52 0x00007fa889348a82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #53 0x00007fa889348e5c in QEventLoop::exec (this=0x7fffcb6dfa10, flags=) at kernel/qeventloop.cpp:201 #54 0x00007fa88934daeb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003 #55 0x00000000004aa50d in main (argc=<value optimized out>, argv=<value optimized out>) at ../../kget/main.cpp:184
I am afraid we can't fix this for 4.4 since there won't be a new release of that, though we hope to fix this for 4.5. Sorry for the inconvenience this bug caused. #### Dev-info This is the code where it crashes: kget.cpp: KUrl KGet::destFileInputDialog(QString destDir, const QString& suggestedFileName) // krazy:exclude=passbyvalue { if (destDir.isEmpty()) destDir = generalDestDir(); // open the filedialog for confirmation QPointer<KFileDialog> dlg = new KFileDialog(destDir, QString(), 0, 0); dlg->setCaption(i18n("Save As")); dlg->setOperationMode(KFileDialog::Saving); dlg->setMode(KFile::File | KFile::LocalOnly); // Use the destination name if not empty... if (!suggestedFileName.isEmpty()) dlg->setSelection(suggestedFileName); KUrl destUrl; if (dlg->exec() != QDialog::Rejected){ destUrl = dlg->selectedUrl(); Settings::setLastDirectory(destUrl.directory(KUrl::ObeyTrailingSlash)); } delete dlg; return destUrl; } Line 883 is the one with "delete dlg;". So maybe the way we use KFileDialog is compeletly wrong (?) and we will use one of the static method as (hopefully) workaround, though I still think that this is a bug.
SVN commit 1144613 by mfuchs: Uses a static method to get the download-destination. CCBUG:243093 M +6 -12 kget.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1144613
SVN commit 1144614 by mfuchs: Fowardport r1144613 Uses a static method to get the download-destination. CCBUG:243093 M +6 -12 kget.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1144614
SVN commit 1144617 by dfaure: Ensure that slotCanceled (called via KDirLister's stop()) doesn't trigger more stuff while we're already in the destructor. FIXED-IN: 4.5 (I'll backport) BUG: 243093 M +1 -0 kdiroperator.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1144617
SVN commit 1144620 by dfaure: Backport: Ensure that slotCanceled (called via KDirLister's stop()) doesn't trigger more stuff while we're already in the destructor. CCBUG: 243093 M +1 -0 kdiroperator.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1144620
*** Bug 242085 has been marked as a duplicate of this bug. ***
*** Bug 204318 has been marked as a duplicate of this bug. ***
*** Bug 210446 has been marked as a duplicate of this bug. ***
*** Bug 215179 has been marked as a duplicate of this bug. ***