Bug 305277 - Crash Reporting while Muon is running makes the Crash Reporting Assistant crash
Summary: Crash Reporting while Muon is running makes the Crash Reporting Assistant crash
Status: RESOLVED FIXED
Alias: None
Product: Discover
Classification: Applications
Component: Updates (interactive) (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Jonathan Thomas
URL:
Keywords:
: 317859 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-08-16 17:05 UTC by Jay H.
Modified: 2016-03-02 13:26 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 2.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jay H. 2012-08-16 17:05:30 UTC
Application: muon-updater (1.3.1 "Daring Dalek")
KDE Platform Version: 4.8.4 (4.8.4)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-29-generic x86_64
Distribution: Ubuntu 12.04.1 LTS

-- Information about the crash:
I was upgrading some software with Muon, and then the Crash Reporting Assistant opened up for some reason, and then it crashed.

-- Backtrace:
Application: Muon Update Manager (muon-updater), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f89928fb780 (LWP 9976))]

Thread 3 (Thread 0x7f897d9bb700 (LWP 9977)):
#0  0x00007f898ab56930 in pthread_mutex_lock@plt () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f898abc05a1 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f898ab84851 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f898ab84f5b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f898ab85164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f8990c8b426 in QEventDispatcherGlib::processEvents (this=0x7f89780008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f8990c5ac82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f8990c5aed7 in QEventLoop::exec (this=0x7f897d9badd0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f8990b59fa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007f8990c3a9ff in QInotifyFileSystemWatcherEngine::run (this=0x1d6ca30) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007f8990b5cfcb in QThreadPrivate::start (arg=0x1d6ca30) at thread/qthread_unix.cpp:298
#11 0x00007f898b449e9a in start_thread (arg=0x7f897d9bb700) at pthread_create.c:308
#12 0x00007f898f8484bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f8975fbd700 (LWP 9985)):
#0  0x00007f898f83cb03 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f898ab85036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f898ab85164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8990c8b426 in QEventDispatcherGlib::processEvents (this=0x7f896c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f8990c5ac82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f8990c5aed7 in QEventLoop::exec (this=0x7f8975fbcdd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f8990b59fa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f8990c3a9ff in QInotifyFileSystemWatcherEngine::run (this=0x20a8570) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f8990b5cfcb in QThreadPrivate::start (arg=0x20a8570) at thread/qthread_unix.cpp:298
#9  0x00007f898b449e9a in start_thread (arg=0x7f8975fbd700) at pthread_create.c:308
#10 0x00007f898f8484bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f89928fb780 (LWP 9976)):
[KCrash Handler]
#6  appendTo (out=<optimized out>, a=...) at /build/buildd/qapt-1.3.1/src/backend.cpp:1516
#7  appendTo<QChar> (out=<optimized out>, p=...) at /usr/include/qt4/QtCore/qstringbuilder.h:403
#8  convertTo<QString> (this=<optimized out>) at /usr/include/qt4/QtCore/qstringbuilder.h:126
#9  operator QStringBuilder<QString, QLatin1String>::ConvertTo (this=<optimized out>) at /usr/include/qt4/QtCore/qstringbuilder.h:139
#10 QApt::Backend::reloadCache (this=0x1b3) at /build/buildd/qapt-1.3.1/src/backend.cpp:266
#11 0x00000000004161d6 in UpdaterWidget::reload (this=0x1dcb0e0) at /build/buildd/muon-1.3.1/updater/UpdaterWidget.cpp:127
#12 0x00000000004113c0 in MainWindow::reload (this=0x1d174f0) at /build/buildd/muon-1.3.1/updater/MainWindow.cpp:237
#13 0x0000000000411d4e in MainWindow::workerEvent (this=0x1d174f0, event=QApt::CacheUpdateFinished) at /build/buildd/muon-1.3.1/updater/MainWindow.cpp:179
#14 0x00007f8990c70281 in QMetaObject::activate (sender=0x1f19570, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7ffffd036170) at kernel/qobject.cpp:3547
#15 0x00007f8991b2ba91 in QApt::Backend::workerEvent (this=<optimized out>, _t1=QApt::CacheUpdateFinished) at /build/buildd/qapt-1.3.1/obj-x86_64-linux-gnu/src/moc_backend.cxx:265
#16 0x00007f8990c70281 in QMetaObject::activate (sender=0x1f19e70, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7ffffd0362c0) at kernel/qobject.cpp:3547
#17 0x00007f8991b2ca51 in OrgKubuntuQaptworkerInterface::workerEvent (this=<optimized out>, _t1=2) at /build/buildd/qapt-1.3.1/obj-x86_64-linux-gnu/src/workerdbus.moc:242
#18 0x00007f8991b2d6e6 in OrgKubuntuQaptworkerInterface::qt_static_metacall (_o=0x1f19e70, _c=<optimized out>, _id=8, _a=0x7ffffd0367f0) at /build/buildd/qapt-1.3.1/obj-x86_64-linux-gnu/src/workerdbus.moc:108
#19 0x00007f8991b2e20b in OrgKubuntuQaptworkerInterface::qt_metacall (this=0x1f19e70, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7ffffd0367f0) at /build/buildd/qapt-1.3.1/obj-x86_64-linux-gnu/src/workerdbus.moc:176
#20 0x00007f898ece037b in QDBusConnectionPrivate::deliverCall (this=0x1d54e30, object=0x1f19e70, msg=..., metaTypes=..., slotIdx=13) at qdbusintegrator.cpp:947
#21 0x00007f8990c75446 in QObject::event (this=0x1f19e70, e=<optimized out>) at kernel/qobject.cpp:1195
#22 0x00007f898ffde894 in notify_helper (e=0x20ae1a0, receiver=0x1f19e70, this=0x1bcb890) at kernel/qapplication.cpp:4559
#23 QApplicationPrivate::notify_helper (this=0x1bcb890, receiver=0x1f19e70, e=0x20ae1a0) at kernel/qapplication.cpp:4531
#24 0x00007f898ffe3713 in QApplication::notify (this=0x7ffffd038a00, receiver=0x1f19e70, e=0x20ae1a0) at kernel/qapplication.cpp:4420
#25 0x00007f89916c29e6 in KApplication::notify (this=0x7ffffd038a00, receiver=0x1f19e70, event=0x20ae1a0) at ../../kdeui/kernel/kapplication.cpp:311
#26 0x00007f8990c5be9c in QCoreApplication::notifyInternal (this=0x7ffffd038a00, receiver=0x1f19e70, event=0x20ae1a0) at kernel/qcoreapplication.cpp:876
#27 0x00007f8990c5fc6a in sendEvent (event=0x20ae1a0, receiver=0x1f19e70) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#28 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1b9a790) at kernel/qcoreapplication.cpp:1500
#29 0x00007f8990c8af93 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#30 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#31 0x00007f898ab84d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f898ab850a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f898ab85164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007f8990c8b3bf in QEventDispatcherGlib::processEvents (this=0x1b9c070, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#35 0x00007f8990086d5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#36 0x00007f8990c6010f in QCoreApplication::processEvents (flags=...) at kernel/qcoreapplication.cpp:1063
#37 0x00007f8991b13763 in QApt::CacheBuildProgress::Update (this=<optimized out>) at /build/buildd/qapt-1.3.1/src/cache.cpp:36
#38 0x00007f898ce5acc0 in pkgDepCache::Update(OpProgress*) () from /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12
#39 0x00007f898ce5e2ee in pkgDepCache::Init(OpProgress*) () from /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12
#40 0x00007f898ce8e8bd in pkgCacheFile::BuildDepCache(OpProgress*) () from /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12
#41 0x00007f898ce8e93a in pkgCacheFile::Open(OpProgress*, bool) () from /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12
#42 0x00007f8991b1367a in QApt::Cache::open (this=<optimized out>) at /build/buildd/qapt-1.3.1/src/cache.cpp:85
#43 0x00007f8991b0e9c2 in QApt::Backend::reloadCache (this=<optimized out>) at /build/buildd/qapt-1.3.1/src/backend.cpp:193
#44 0x00007f8991b0febe in QApt::Backend::init (this=0x1f19570) at /build/buildd/qapt-1.3.1/src/backend.cpp:183
#45 0x00007f89925002cc in MuonMainWindow::initObject (this=0x1d174f0) at /build/buildd/muon-1.3.1/libmuon/MuonMainWindow.cpp:73
#46 0x0000000000410459 in MainWindow::initObject (this=0x1d174f0) at /build/buildd/muon-1.3.1/updater/MainWindow.cpp:108
#47 0x00007f8990c70281 in QMetaObject::activate (sender=0x1f4ebd0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#48 0x00007f8990c79a4f in QSingleShotTimer::timerEvent (this=0x1f4ebd0) at kernel/qtimer.cpp:317
#49 0x00007f8990c75179 in QObject::event (this=0x1f4ebd0, e=<optimized out>) at kernel/qobject.cpp:1157
#50 0x00007f898ffde894 in notify_helper (e=0x7ffffd038730, receiver=0x1f4ebd0, this=0x1bcb890) at kernel/qapplication.cpp:4559
#51 QApplicationPrivate::notify_helper (this=0x1bcb890, receiver=0x1f4ebd0, e=0x7ffffd038730) at kernel/qapplication.cpp:4531
#52 0x00007f898ffe3713 in QApplication::notify (this=0x7ffffd038a00, receiver=0x1f4ebd0, e=0x7ffffd038730) at kernel/qapplication.cpp:4420
#53 0x00007f89916c29e6 in KApplication::notify (this=0x7ffffd038a00, receiver=0x1f4ebd0, event=0x7ffffd038730) at ../../kdeui/kernel/kapplication.cpp:311
#54 0x00007f8990c5be9c in QCoreApplication::notifyInternal (this=0x7ffffd038a00, receiver=0x1f4ebd0, event=0x7ffffd038730) at kernel/qcoreapplication.cpp:876
#55 0x00007f8990c8d1f2 in sendEvent (event=0x7ffffd038730, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#56 QTimerInfoList::activateTimers (this=0x1bc81a0) at kernel/qeventdispatcher_unix.cpp:611
#57 0x00007f8990c8ac0d in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:186
#58 timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:180
#59 0x00007f898ab84d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#60 0x00007f898ab850a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#61 0x00007f898ab85164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#62 0x00007f8990c8b3bf in QEventDispatcherGlib::processEvents (this=0x1b9c070, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#63 0x00007f8990086d5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#64 0x00007f8990c5ac82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#65 0x00007f8990c5aed7 in QEventLoop::exec (this=0x7ffffd038990, flags=...) at kernel/qeventloop.cpp:204
#66 0x00007f8990c5ff67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#67 0x000000000040f437 in main (argc=1, argv=0x7ffffd038c78) at /build/buildd/muon-1.3.1/updater/main.cpp:61

Possible duplicates by query: bug 304064.

Reported using DrKonqi
Comment 1 Jonathan Thomas 2012-10-19 18:13:40 UTC
Ok, what seems to have happened here is that a second frontend application using LibQApt was performing a cache update, which happened to finish as you were starting the update manager. In QApt1 all events were sent globally to every frontend, so in certain situations you could get a reload event when the program was still starting up, causing this crash.

Worker actions are now handled through a transaction system in QApt2, and only somebody actively listening to a transaction will get events related to that transaction.
Comment 2 Jonathan Thomas 2013-06-05 17:05:45 UTC
*** Bug 317859 has been marked as a duplicate of this bug. ***