Bug 326245

Summary: knsbackend crash on nil pointers from resourcesmodel
Product: [Unmaintained] muon Reporter: Harald Sitter <sitter>
Component: installerAssignee: Jonathan Thomas <echidnaman>
Status: RESOLVED DUPLICATE    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: 2.0.65   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Harald Sitter 2013-10-19 01:16:25 UTC
Application: muon-installer (2.0.65)
KDE Platform Version: 4.11.2
Qt Version: 4.8.4
Operating System: Linux 3.11.0-12-generic i686
Distribution: Ubuntu 13.10

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

started on kubuntu 13.10. please note that 13.10 includes a set of fixes for kns crashes but this one is yet to be addressed.

essentially the model returns a null pointer which supposedly needs to be handled with continue in the backend ctor.

The crash can be reproduced every time.

-- Backtrace:
Application: Muon Software Center (muon-installer), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xb3cfc980 (LWP 11427))]

Thread 3 (Thread 0xb0462b40 (LWP 11443)):
#0  0xb7708424 in __kernel_vsyscall ()
#1  0xb5a09a0b in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xb4632a3b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb4623b58 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb4623c98 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb5d698df in QEventDispatcherGlib::processEvents (this=0xafb00468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0xb5d389f3 in QEventLoop::processEvents (this=this@entry=0xb0462228, flags=...) at kernel/qeventloop.cpp:149
#7  0xb5d38d19 in QEventLoop::exec (this=this@entry=0xb0462228, flags=...) at kernel/qeventloop.cpp:204
#8  0xb5c27e3d in QThread::exec (this=this@entry=0x9138aa0) at thread/qthread.cpp:542
#9  0xb5d18e14 in QInotifyFileSystemWatcherEngine::run (this=0x9138aa0) at io/qfilesystemwatcher_inotify.cpp:265
#10 0xb5c2a72f in QThreadPrivate::start (arg=0x9138aa0) at thread/qthread_unix.cpp:338
#11 0xb4701d78 in start_thread (arg=0xb0462b40) at pthread_create.c:311
#12 0xb5a1901e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 2 (Thread 0xacc3fb40 (LWP 11500)):
#0  0xb7708424 in __kernel_vsyscall ()
#1  0xb4705c33 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:250
#2  0xb5a26a14 in __pthread_cond_timedwait (cond=0x921c3e8, mutex=0x921c3d0, abstime=0xacc3f228) at forward.c:162
#3  0xb5c2ac83 in wait (time=30000, this=0x921c3d0) at thread/qwaitcondition_unix.cpp:84
#4  QWaitCondition::wait (this=0x921c3a0, mutex=mutex@entry=0x921c39c, time=30000) at thread/qwaitcondition_unix.cpp:158
#5  0xb5c1d732 in QThreadPoolThread::run (this=0x91769f8) at concurrent/qthreadpool.cpp:141
#6  0xb5c2a72f in QThreadPrivate::start (arg=0x91769f8) at thread/qthread_unix.cpp:338
#7  0xb4701d78 in start_thread (arg=0xacc3fb40) at pthread_create.c:311
#8  0xb5a1901e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 1 (Thread 0xb3cfc980 (LWP 11427)):
[KCrash Handler]
#7  KNS3::Entry::providerId (this=0x0) at ../../../knewstuff/knewstuff3/entry.cpp:52
#8  0xb0f3c2d8 in KNSResource::origin (this=0x91777d0) at /build/buildd/muon-2.0.65+git20131008/libmuon/backends/KNSBackend/KNSResource.cpp:159
#9  0x080617c3 in fetchOrigins () at /build/buildd/muon-2.0.65+git20131008/installer/MainWindow.cpp:268
#10 0x080626d1 in MainWindow::populateViews (this=0x8cf0b30) at /build/buildd/muon-2.0.65+git20131008/installer/MainWindow.cpp:297
#11 0x0805e210 in MainWindow::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at /build/buildd/muon-2.0.65+git20131008/obj-i686-linux-gnu/installer/moc_MainWindow.cpp:84
#12 0xb5d4efc7 in QMetaObject::activate (sender=sender@entry=0x8d6f000, m=m@entry=0xb76ef9f8 <ResourcesModel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#13 0xb76c5f65 in ResourcesModel::allInitialized (this=this@entry=0x8d6f000) at /build/buildd/muon-2.0.65+git20131008/obj-i686-linux-gnu/libmuon/moc_ResourcesModel.cpp:176
#14 0xb76d5977 in ResourcesModel::resetBackend (this=this@entry=0x8d6f000, backend=backend@entry=0x8c796c0) at /build/buildd/muon-2.0.65+git20131008/libmuon/resources/ResourcesModel.cpp:268
#15 0xb76d5e2f in ResourcesModel::callerFetchingChanged (this=0x8d6f000) at /build/buildd/muon-2.0.65+git20131008/libmuon/resources/ResourcesModel.cpp:241
#16 0xb76c7630 in ResourcesModel::qt_static_metacall (_o=0x0, _id=1, _a=0xbfe54148, _c=<optimized out>) at /build/buildd/muon-2.0.65+git20131008/obj-i686-linux-gnu/libmuon/moc_ResourcesModel.cpp:99
#17 0xb5d4efc7 in QMetaObject::activate (sender=sender@entry=0x8c796c0, m=m@entry=0xb76efa88 <AbstractResourcesBackend::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#18 0xb76c5765 in AbstractResourcesBackend::fetchingChanged (this=this@entry=0x8c796c0) at /build/buildd/muon-2.0.65+git20131008/obj-i686-linux-gnu/libmuon/moc_AbstractResourcesBackend.cpp:156
#19 0xb0b234e0 in ApplicationBackend::setFetching (this=0x8c796c0, f=false) at /build/buildd/muon-2.0.65+git20131008/libmuon/backends/ApplicationBackend/ApplicationBackend.cpp:630
#20 0xb0b23d35 in ApplicationBackend::setApplications (this=0x8c796c0) at /build/buildd/muon-2.0.65+git20131008/libmuon/backends/ApplicationBackend/ApplicationBackend.cpp:149
#21 0xb0b22398 in ApplicationBackend::qt_static_metacall (_o=0x0, _id=1, _a=0xbfe542d8, _c=<optimized out>) at /build/buildd/muon-2.0.65+git20131008/obj-i686-linux-gnu/libmuon/backends/ApplicationBackend/moc_ApplicationBackend.cpp:88
#22 0xb5d4efc7 in QMetaObject::activate (sender=sender@entry=0x8da4af0, m=m@entry=0xb5ea4860 <QFutureWatcherBase::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#23 0xb5d9b875 in QFutureWatcherBase::finished (this=this@entry=0x8da4af0) at .moc/release-shared/moc_qfuturewatcher.cpp:141
#24 0xb5c1a1dc in QFutureWatcherBasePrivate::sendCallOutEvent (this=this@entry=0x8bd1ed8, event=event@entry=0xabe1d1e8) at concurrent/qfuturewatcher.cpp:439
#25 0xb5c1a4a1 in QFutureWatcherBase::event (this=0x8da4af0, event=0xabe1d1e8) at concurrent/qfuturewatcher.cpp:344
#26 0xb6296744 in QApplicationPrivate::notify_helper (this=0x8be2170, receiver=0x8da4af0, e=0xabe1d1e8) at kernel/qapplication.cpp:4567
#27 0xb629d223 in QApplication::notify (this=0xbfe54910, receiver=receiver@entry=0x8da4af0, e=e@entry=0xabe1d1e8) at kernel/qapplication.cpp:4353
#28 0xb6de3ff4 in KApplication::notify (this=0xbfe54910, receiver=0x8da4af0, event=0xabe1d1e8) at ../../kdeui/kernel/kapplication.cpp:311
#29 0xb5d39eda in QCoreApplication::notifyInternal (this=0xbfe54910, receiver=receiver@entry=0x8da4af0, event=event@entry=0xabe1d1e8) at kernel/qcoreapplication.cpp:946
#30 0xb5d3d6ad in sendEvent (event=0xabe1d1e8, receiver=0x8da4af0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#31 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x8bbcf48) at kernel/qcoreapplication.cpp:1570
#32 0xb5d3dbbc in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#33 0xb5d69f6e in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#34 postEventSourceDispatch (s=0x8be0ff8) at kernel/qeventdispatcher_glib.cpp:279
#35 0xb462382e in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#36 0xb4623bd8 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#37 0xb4623c98 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#38 0xb5d698bf in QEventDispatcherGlib::processEvents (this=this@entry=0x8be0400, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#39 0xb634b32e in QGuiEventDispatcherGlib::processEvents (this=0x8be0400, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#40 0xb5d389f3 in QEventLoop::processEvents (this=this@entry=0xbfe54858, flags=...) at kernel/qeventloop.cpp:149
#41 0xb5d38d19 in QEventLoop::exec (this=this@entry=0xbfe54858, flags=...) at kernel/qeventloop.cpp:204
#42 0xb5d3e89e in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#43 0xb6294974 in QApplication::exec () at kernel/qapplication.cpp:3828
#44 0x0805d9ab in main (argc=2, argv=0xbfe549e4) at /build/buildd/muon-2.0.65+git20131008/installer/main.cpp:72

Possible duplicates by query: bug 326236, bug 326226, bug 326222, bug 326217, bug 326216.

Reported using DrKonqi
Comment 1 Harald Sitter 2013-10-19 01:22:03 UTC
oh and FWIW the entire chain of KNS crashes can easily be triggered in a VM it seems (at least I utterly failed at reproducing them on physical systems).
Comment 2 Jekyll Wu 2013-10-19 01:32:37 UTC

*** This bug has been marked as a duplicate of bug 306344 ***