Bug 301161 - muon crashes after package update
Summary: muon crashes after package update
Status: RESOLVED FIXED
Alias: None
Product: muon
Classification: Applications
Component: muon (show other bugs)
Version: 1.3.1
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Jonathan Thomas
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-04 15:21 UTC by michael
Modified: 2012-10-20 00:19 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 2.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description michael 2012-06-04 15:21:34 UTC
Application: muon (1.3.1)
KDE Platform Version: 4.8.3 (4.8.3)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-24-generic x86_64
Distribution: Ubuntu 12.04 LTS

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

installed current versions of packages update-manager-core and update-manager-kde

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

Thread 2 (Thread 0x7f50227ef700 (LWP 7328)):
#0  0x00007f5035e4eb03 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f5031057ff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5031058124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f50372a2426 in QEventDispatcherGlib::processEvents (this=0x7f501c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f5037271c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f5037271ed7 in QEventLoop::exec (this=0x7f50227eedd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f5037170fa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f50372519ff in QInotifyFileSystemWatcherEngine::run (this=0x1f67300) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f5037173fcb in QThreadPrivate::start (arg=0x1f67300) at thread/qthread_unix.cpp:298
#9  0x00007f5031927e9a in start_thread (arg=0x7f50227ef700) at pthread_create.c:308
#10 0x00007f5035e5a4bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f5038e47780 (LWP 7326)):
[KCrash Handler]
#6  QApt::Package::sourcePackage (this=0x2856a00) at /build/buildd/qapt-1.3.1/src/package.cpp:1315
#7  0x000000000041e9ed in ChangelogTab::changelogFetched (this=0x383c480, job=0x394ce20) at /build/buildd/muon-1.3.1/muon/DetailsTabs/ChangelogTab.cpp:96
#8  0x00007f5037287281 in QMetaObject::activate (sender=0x394ce20, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff74f49300) at kernel/qobject.cpp:3547
#9  0x00007f5037702c82 in KJob::result (this=<optimized out>, _t1=0x394ce20) at ./kjob.moc:208
#10 0x00007f5037702cc0 in KJob::emitResult (this=0x394ce20) at ../../kdecore/jobs/kjob.cpp:318
#11 0x00007f503867557a in KIO::FileCopyJob::slotResult (this=0x394ce20, job=0x397ccf0) at ../../kio/kio/job.cpp:2449
#12 0x00007f5037287281 in QMetaObject::activate (sender=0x397ccf0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff74f494b0) at kernel/qobject.cpp:3547
#13 0x00007f5037702c82 in KJob::result (this=<optimized out>, _t1=0x397ccf0) at ./kjob.moc:208
#14 0x00007f5037702cc0 in KJob::emitResult (this=0x397ccf0) at ../../kdecore/jobs/kjob.cpp:318
#15 0x00007f503866dc34 in KIO::SimpleJob::slotFinished (this=0x397ccf0) at ../../kio/kio/job.cpp:494
#16 0x00007f50386757cd in KIO::TransferJob::slotFinished (this=0x397ccf0) at ../../kio/kio/job.cpp:1081
#17 0x00007f5037287281 in QMetaObject::activate (sender=0x397de70, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#18 0x00007f503871c1b1 in KIO::SlaveInterface::dispatch (this=<optimized out>, _cmd=104, rawdata=...) at ../../kio/kio/slaveinterface.cpp:172
#19 0x00007f5038718f65 in KIO::SlaveInterface::dispatch (this=0x397de70) at ../../kio/kio/slaveinterface.cpp:88
#20 0x00007f503870c1ee in KIO::Slave::gotInput (this=0x397de70) at ../../kio/kio/slave.cpp:344
#21 0x00007f5037287281 in QMetaObject::activate (sender=0x393d350, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#22 0x00007f503863e907 in dequeue (this=<optimized out>) at ../../kio/kio/connection.cpp:82
#23 KIO::ConnectionPrivate::dequeue (this=0x2f75c10) at ../../kio/kio/connection.cpp:71
#24 0x00007f503728c446 in QObject::event (this=0x393d350, e=<optimized out>) at kernel/qobject.cpp:1195
#25 0x00007f50365f3894 in notify_helper (e=0x3a21ab0, receiver=0x393d350, this=0x19e5540) at kernel/qapplication.cpp:4559
#26 QApplicationPrivate::notify_helper (this=0x19e5540, receiver=0x393d350, e=0x3a21ab0) at kernel/qapplication.cpp:4531
#27 0x00007f50365f8713 in QApplication::notify (this=0x7fff74f4a700, receiver=0x393d350, e=0x3a21ab0) at kernel/qapplication.cpp:4420
#28 0x00007f5037cdebb6 in KApplication::notify (this=0x7fff74f4a700, receiver=0x393d350, event=0x3a21ab0) at ../../kdeui/kernel/kapplication.cpp:311
#29 0x00007f5037272e9c in QCoreApplication::notifyInternal (this=0x7fff74f4a700, receiver=0x393d350, event=0x3a21ab0) at kernel/qcoreapplication.cpp:876
#30 0x00007f5037276c6a in sendEvent (event=0x3a21ab0, receiver=0x393d350) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#31 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x19b8790) at kernel/qcoreapplication.cpp:1500
#32 0x00007f50372a1f93 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#33 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#34 0x00007f5031057c9a in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007f5031058060 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007f5031058124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007f50372a23bf in QEventDispatcherGlib::processEvents (this=0x19ba070, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#38 0x00007f503669bd5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#39 0x00007f5037271c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#40 0x00007f5037271ed7 in QEventLoop::exec (this=0x7fff74f4a690, flags=...) at kernel/qeventloop.cpp:204
#41 0x00007f5037276f67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#42 0x0000000000418ffb in main (argc=5, argv=0x7fff74f4a948) at /build/buildd/muon-1.3.1/muon/main.cpp:56

This bug may be a duplicate of or related to bug 270920.

Possible duplicates by query: bug 293596, bug 292172, bug 290592, bug 289185, bug 285535.

Reproducible: Didn't try
Comment 1 Jonathan Thomas 2012-10-20 00:19:35 UTC
Git commit d7113297b89abc83fc2f29204e45ffc82c68352f by Jonathan Thomas.
Committed on 20/10/2012 at 02:01.
Pushed by jmthomas into branch 'master'.

Yet another stab at preventing signals from changelog-fetching KJobs that return during a cache reload and crashing us.
This time it really, really should be fixed, since we're manually taking the deletion of the KJob in our hands (instead of relying on its auto delete function) to ensure that before we go down for a cache reload, we kill the KJob *dead*.
FIXED-IN:2.0

M  +10   -10   muon/DetailsTabs/ChangelogTab.cpp
M  +7    -5    updater/ChangelogWidget.cpp

http://commits.kde.org/muon/d7113297b89abc83fc2f29204e45ffc82c68352f