Bug 281623 - Muon Crash (Search during cache reload) [FindPkg, QApt::Backend::package, QApt::Backend::search]
Summary: Muon Crash (Search during cache reload) [FindPkg, QApt::Backend::package, QAp...
Status: RESOLVED FIXED
Alias: None
Product: muon
Classification: Applications
Component: muon (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Jonathan Thomas
URL:
Keywords:
: 282711 285026 285065 285143 288396 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-09-08 14:13 UTC by Micha
Modified: 2015-03-15 11:24 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In: 1.2.3


Attachments
New crash information added by DrKonqi (11.68 KB, text/plain)
2011-09-29 09:55 UTC, Hrvoje Senjan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Micha 2011-09-08 14:13:25 UTC
Application: muon (1.2.0 "Caustic Carrionite")
KDE Platform Version: 4.7.1 (4.7.1)
Qt Version: 4.7.3
Operating System: Linux 3.0.0-10-generic x86_64
Distribution: Ubuntu oneiric (development branch)

-- Information about the crash:
When I marked some packages and then I decided to unmark them all using key on the top of window.

-- Backtrace:
Application: Menedżer pakietów Muon (muon), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f8a89825780 (LWP 3645))]

Thread 2 (Thread 0x7f8a74bf9700 (LWP 3648)):
#0  0x00007fff7b9d792c in clock_gettime ()
#1  0x00007f8a82b8107b in __GI_clock_gettime (clock_id=1, tp=0x7f8a74bf8b40) at ../sysdeps/unix/clock_gettime.c:100
#2  0x00007f8a882bf034 in do_gettime (frac=0x7f8a74bf8b58, sec=0x7f8a74bf8b50) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0x00007f8a883816fd in QTimerInfoList::updateCurrentTime (this=0x12cd5a0) at kernel/qeventdispatcher_unix.cpp:339
#5  0x00007f8a88381a43 in QTimerInfoList::timerWait (this=0x12cd5a0, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#6  0x00007f8a8838045c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f8a74bf8c3c) at kernel/qeventdispatcher_glib.cpp:136
#7  0x00007f8a88380505 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#8  0x00007f8a828cb102 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f8a828cbf0d in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007f8a828cc539 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007f8a88380f4e in QEventDispatcherGlib::processEvents (this=0x12c56f0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#12 0x00007f8a88354d52 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#13 0x00007f8a88354f57 in QEventLoop::exec (this=0x7f8a74bf8dd0, flags=...) at kernel/qeventloop.cpp:201
#14 0x00007f8a8826c21f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:492
#15 0x00007f8a88337d1f in QInotifyFileSystemWatcherEngine::run (this=0x12cc830) at io/qfilesystemwatcher_inotify.cpp:248
#16 0x00007f8a8826eca5 in QThreadPrivate::start (arg=0x12cc830) at thread/qthread_unix.cpp:320
#17 0x00007f8a83399edc in start_thread (arg=0x7f8a74bf9700) at pthread_create.c:304
#18 0x00007f8a86f4c89d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#19 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f8a89825780 (LWP 3645)):
[KCrash Handler]
#6  FindPkg (Name=..., this=<optimized out>) at /usr/include/apt-pkg/depcache.h:342
#7  QApt::Backend::package (this=0xdae050, name=<optimized out>) at /build/buildd/qapt-1.2.0/src/backend.cpp:327
#8  0x00007f8a891cdfc7 in QApt::Backend::search (this=0xdae050, searchString=<optimized out>) at /build/buildd/qapt-1.2.0/src/backend.cpp:555
#9  0x00007f8a89431c77 in PackageProxyModel::search (this=0xe23c30, searchText=...) at /build/buildd/muon-1.2.0/libmuon/PackageModel/PackageProxyModel.cpp:74
#10 0x00007f8a89435261 in PackageWidget::startSearch (this=0xe26a40) at /build/buildd/muon-1.2.0/libmuon/PackageModel/PackageWidget.cpp:360
#11 0x000000000040ba2f in MainWindow::reload (this=0xe12610) at /build/buildd/muon-1.2.0/muon/MainWindow.cpp:438
#12 0x000000000040b639 in MainWindow::revertChanges (this=0xe12610) at /build/buildd/muon-1.2.0/muon/MainWindow.cpp:549
#13 0x000000000040db85 in MainWindow::qt_metacall (this=0xe12610, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff7b9b9070) at /build/buildd/muon-1.2.0/obj-x86_64-linux-gnu/muon/MainWindow.moc:132
#14 0x00007f8a88368e5a in QMetaObject::activate (sender=0x1150c60, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff7b9b9070) at kernel/qobject.cpp:3278
#15 0x00007f8a87704892 in QAction::triggered (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#16 0x00007f8a87704a7f in QAction::activate (this=0x1150c60, event=<optimized out>) at kernel/qaction.cpp:1257
#17 0x00007f8a87abf99a in QAbstractButtonPrivate::click (this=0xe0e6f0) at widgets/qabstractbutton.cpp:528
#18 0x00007f8a87abfc4c in QAbstractButton::mouseReleaseEvent (this=0xdd5940, e=0x7fff7b9b9790) at widgets/qabstractbutton.cpp:1121
#19 0x00007f8a87b7cc1a in QToolButton::mouseReleaseEvent (this=<optimized out>, e=<optimized out>) at widgets/qtoolbutton.cpp:721
#20 0x00007f8a8775b94a in QWidget::event (this=0xdd5940, event=0x7fff7b9b9790) at kernel/qwidget.cpp:8259
#21 0x00007f8a8770b154 in notify_helper (e=0x7fff7b9b9790, receiver=0xdd5940, this=0xcc0fa0) at kernel/qapplication.cpp:4467
#22 QApplicationPrivate::notify_helper (this=0xcc0fa0, receiver=0xdd5940, e=0x7fff7b9b9790) at kernel/qapplication.cpp:4439
#23 0x00007f8a8771099b in QApplication::notify (this=<optimized out>, receiver=0xdd5940, e=0x7fff7b9b9790) at kernel/qapplication.cpp:4028
#24 0x00007f8a88d8b216 in KApplication::notify (this=0x7fff7b9ba3f0, receiver=0xdd5940, event=0x7fff7b9b9790) at ../../kdeui/kernel/kapplication.cpp:311
#25 0x00007f8a88355b5c in QCoreApplication::notifyInternal (this=0x7fff7b9ba3f0, receiver=0xdd5940, event=0x7fff7b9b9790) at kernel/qcoreapplication.cpp:731
#26 0x00007f8a8770c122 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#27 QApplicationPrivate::sendMouseEvent (receiver=0xdd5940, event=0x7fff7b9b9790, alienWidget=0xdd5940, nativeWidget=0xe12610, buttonDown=0xdd5940, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3127
#28 0x00007f8a8778b265 in QETWidget::translateMouseEvent (this=0xe12610, event=<optimized out>) at kernel/qapplication_x11.cpp:4562
#29 0x00007f8a8778a1de in QApplication::x11ProcessEvent (this=0x7fff7b9ba3f0, event=0x7fff7b9b9fb0) at kernel/qapplication_x11.cpp:3684
#30 0x00007f8a877b2b42 in x11EventSourceDispatch (s=0xcb9a00, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#31 0x00007f8a828cbb6d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f8a828cc368 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f8a828cc539 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007f8a88380ee6 in QEventDispatcherGlib::processEvents (this=0xc92bb0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#35 0x00007f8a877b27ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#36 0x00007f8a88354d52 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#37 0x00007f8a88354f57 in QEventLoop::exec (this=0x7fff7b9ba380, flags=...) at kernel/qeventloop.cpp:201
#38 0x00007f8a883597e9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#39 0x000000000040af4b in main (argc=1, argv=0x7fff7b9ba638) at /build/buildd/muon-1.2.0/muon/main.cpp:56

Reported using DrKonqi
Comment 1 Jonathan Thomas 2011-09-24 22:52:09 UTC
*** Bug 282711 has been marked as a duplicate of this bug. ***
Comment 2 Hrvoje Senjan 2011-09-29 09:55:58 UTC
Created attachment 64063 [details]
New crash information added by DrKonqi

muon (1.2.1 "Caustic Carrionite") on KDE Platform 4.7.2 (4.7.2) using Qt 4.7.4

- What I was doing when the application crashed:

Tried to unmark all changes - muon crashed.

-- Backtrace (Reduced):
#6  QApt::Package::state (this=0x1713930) at /build/buildd/qapt-1.2.1/src/package.cpp:1269
#7  0x00007f895089f208 in PackageModel::data (this=<optimized out>, index=<optimized out>, role=<optimized out>) at /build/buildd/muon-1.2.1/libmuon/PackageModel/PackageModel.cpp:67
#8  0x00007f894f101bac in QSortFilterProxyModel::data (this=<optimized out>, index=..., role=36) at itemviews/qsortfilterproxymodel.cpp:1716
#9  0x00007f89508a186f in data (arole=36, this=0x7fffb9a3be20) at /usr/include/qt4/QtCore/qabstractitemmodel.h:398
#10 PackageDelegate::paintPackageName (this=0x28c7670, painter=0x7fffb9a3c1f0, option=..., index=...) at /build/buildd/muon-1.2.1/libmuon/PackageModel/PackageDelegate.cpp:103
Comment 3 Jonathan Thomas 2011-10-25 23:21:36 UTC
Git commit 9c2fb7121152477d18c5f5582d1a89ae6029918a by Jonathan Thomas.
Committed on 26/10/2011 at 01:17.
Pushed by jmthomas into branch '1.2'.

Re-initializing all of APT when we want to revert pending changes is a bit... extreme...
Instead, just keep a QApt::CacheState of the initial state, and use
QApt::Backend::restoreCacheState() to restore it.

This is much safer as we're not invalidating every Package pointer, and in addition is
much faster. This fixes several related crashes.

BUG:281623
FIXED-IN:1.2.3

M  +2    -2    libmuon/MuonMainWindow.cpp
M  +1    -0    libmuon/MuonMainWindow.h
M  +1    -0    muon/MainWindow.cpp

http://commits.kde.org/muon/9c2fb7121152477d18c5f5582d1a89ae6029918a
Comment 4 Jonathan Thomas 2011-10-25 23:21:36 UTC
Git commit 1114d1292f4e0c397ecebb641050a00bb1294d73 by Jonathan Thomas.
Committed on 26/10/2011 at 01:17.
Pushed by jmthomas into branch 'master'.

Re-initializing all of APT when we want to revert pending changes is a bit... extreme...
Instead, just keep a QApt::CacheState of the initial state, and use
QApt::Backend::restoreCacheState() to restore it.

This is much safer as we're not invalidating every Package pointer, and in addition is
much faster. This fixes several related crashes.

BUG:281623
FIXED-IN:1.2.3

M  +2    -2    libmuon/MuonMainWindow.cpp
M  +1    -0    libmuon/MuonMainWindow.h
M  +1    -0    muon/MainWindow.cpp

http://commits.kde.org/muon/1114d1292f4e0c397ecebb641050a00bb1294d73
Comment 5 Jonathan Thomas 2011-10-26 21:15:18 UTC
*** Bug 285026 has been marked as a duplicate of this bug. ***
Comment 6 Jonathan Thomas 2011-10-27 11:19:30 UTC
*** Bug 285065 has been marked as a duplicate of this bug. ***
Comment 7 Christoph Feck 2011-10-28 00:19:56 UTC
*** Bug 285143 has been marked as a duplicate of this bug. ***
Comment 8 Jekyll Wu 2011-12-07 12:18:58 UTC
*** Bug 288396 has been marked as a duplicate of this bug. ***