[Bug 1295437] Re: updater crashes when a cash update introduces a new package dependency

Bug Watch Updater 1295437 at bugs.launchpad.net
Fri Mar 21 01:56:49 UTC 2014


Launchpad has imported 5 comments from the remote bug at
https://bugs.kde.org/show_bug.cgi?id=330999.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2014-02-11T00:30:31+00:00 Budnikav86 wrote:

Application: muon-updater (2.1.2)
KDE Platform Version: 4.11.5
Qt Version: 4.8.4
Operating System: Linux 3.11.0-15-generic x86_64
Distribution: Ubuntu 13.10

-- Information about the crash:
- What I was doing when the application crashed:
I had installed recent updates for some apps and after installation Muon crushes.

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

Thread 2 (Thread 0x7f5b5eb85700 (LWP 2689)):
#0  0x00007fffc7e85a2f in clock_gettime ()
#1  0x00007f5b6f1d196d in clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007f5b6f85d757 in do_gettime (frac=0x7f5b5eb84b00, sec=0x7f5b5eb84af8) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0x00007f5b6f936fe5 in updateCurrentTime (this=0x7f5b58002860) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0x7f5b58002860, tm=...) at kernel/qeventdispatcher_unix.cpp:461
#6  0x00007f5b6f93582c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f5b5eb84bb4) at kernel/qeventdispatcher_glib.cpp:136
#7  0x00007f5b6f9358d5 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#8  0x00007f5b6c539d4d in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f5b6c53a5c3 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007f5b6c53a7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007f5b6f935a76 in QEventDispatcherGlib::processEvents (this=0x7f5b580008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#12 0x00007f5b6f9075ef in QEventLoop::processEvents (this=this at entry=0x7f5b5eb84d70, flags=...) at kernel/qeventloop.cpp:149
#13 0x00007f5b6f9078e5 in QEventLoop::exec (this=this at entry=0x7f5b5eb84d70, flags=...) at kernel/qeventloop.cpp:204
#14 0x00007f5b6f80688f in QThread::exec (this=this at entry=0x279da00) at thread/qthread.cpp:542
#15 0x00007f5b6f8e8d13 in QInotifyFileSystemWatcherEngine::run (this=0x279da00) at io/qfilesystemwatcher_inotify.cpp:265
#16 0x00007f5b6f808f2f in QThreadPrivate::start (arg=0x279da00) at thread/qthread_unix.cpp:338
#17 0x00007f5b6ca12f6e in start_thread (arg=0x7f5b5eb85700) at pthread_create.c:311
#18 0x00007f5b6f1bc9cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f5b71b537c0 (LWP 2688)):
[KCrash Handler]
#6  0x00007f5b6f0f8f77 in __GI_raise (sig=sig at entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007f5b6f0fc5e8 in __GI_abort () at abort.c:90
#8  0x00007f5b6f7fe912 in qt_message_output (msgType=msgType at entry=QtFatalMsg, buf=0x4bf1d88 "ASSERT failure in QList<T>::at: \"index out of range\", file /usr/include/qt4/QtCore/qlist.h, line 469") at global/qglobal.cpp:2347
#9  0x00007f5b6f7fec79 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType at entry=QtFatalMsg, msg=msg at entry=0x7f5b6f969aa8 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=ap at entry=0x7fffc7e45738) at global/qglobal.cpp:2393
#10 0x00007f5b6f7ff484 in qFatal (msg=msg at entry=0x7f5b6f969aa8 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qglobal.cpp:2576
#11 0x00007f5b6f7ff4ea in qt_assert_x (where=where at entry=0x7f5b5c6340ac "QList<T>::at", what=what at entry=0x7f5b5c63408a "index out of range", file=file at entry=0x7f5b5c633f70 "/usr/include/qt4/QtCore/qlist.h", line=line at entry=469) at global/qglobal.cpp:2029
#12 0x00007f5b5c60305a in at (i=67725, this=0x2b10668) at /usr/include/qt4/QtCore/qlist.h:469
#13 QApt::Backend::stateChanges (this=<optimized out>, oldState=..., excluded=...) at /build/buildd/qapt-2.0.65/src/backend.cpp:754
#14 0x00007f5b5ceb9fb4 in ApplicationUpdates::calculateUpdates (this=this at entry=0x2b10630) at /build/buildd/muon-2.1.2/libmuon/backends/ApplicationBackend/ApplicationUpdates.cpp:448
#15 0x00007f5b5ceba608 in ApplicationUpdates::fetchingChanged (this=0x2b10630) at /build/buildd/muon-2.1.2/libmuon/backends/ApplicationBackend/ApplicationUpdates.cpp:441
#16 0x00007f5b6f91ca58 in QMetaObject::activate (sender=sender at entry=0x2b0ce30, m=m at entry=0x7f5b7196c180 <AbstractResourcesBackend::staticMetaObject>, local_signal_index=local_signal_index at entry=0, argv=argv at entry=0x0) at kernel/qobject.cpp:3539
#17 0x00007f5b71746040 in AbstractResourcesBackend::fetchingChanged (this=this at entry=0x2b0ce30) at /build/buildd/muon-2.1.2/obj-x86_64-linux-gnu/libmuon/moc_AbstractResourcesBackend.cpp:156
#18 0x00007f5b5ceabe33 in ApplicationBackend::setFetching (this=0x2b0ce30, f=<optimized out>) at /build/buildd/muon-2.1.2/libmuon/backends/ApplicationBackend/ApplicationBackend.cpp:642
#19 0x00007f5b5ceae463 in ApplicationBackend::reload (this=0x2b0ce30) at /build/buildd/muon-2.1.2/libmuon/backends/ApplicationBackend/ApplicationBackend.cpp:175
#20 0x00007f5b5ceb90f4 in ApplicationUpdates::transactionFinished (this=0x2b10630) at /build/buildd/muon-2.1.2/libmuon/backends/ApplicationBackend/ApplicationUpdates.cpp:210
#21 0x00007f5b6f91ca58 in QMetaObject::activate (sender=0x3dfe830, m=m at entry=0x7f5b5c8459c0 <QApt::Transaction::staticMetaObject>, local_signal_index=local_signal_index at entry=8, argv=argv at entry=0x7fffc7e45c80) at kernel/qobject.cpp:3539
#22 0x00007f5b5c630441 in QApt::Transaction::finished (this=<optimized out>, _t1=QApt::ExitSuccess) at /build/buildd/qapt-2.0.65/obj-x86_64-linux-gnu/src/moc_transaction.cxx:338
#23 0x00007f5b5c6231af in QApt::Transaction::updateProperty (this=0x3dfe830, type=2688, variant=...) at /build/buildd/qapt-2.0.65/src/transaction.cpp:546
#24 0x00007f5b5c630974 in QApt::Transaction::qt_static_metacall (_o=0x3dfe830, _c=<optimized out>, _id=<optimized out>, _a=0x7fffc7e45ea0) at /build/buildd/qapt-2.0.65/obj-x86_64-linux-gnu/src/moc_transaction.cxx:164
#25 0x00007f5b6f91ca58 in QMetaObject::activate (sender=sender at entry=0x2b299e0, m=m at entry=0x7f5b5c845aa0 <OrgKubuntuQaptworkerTransactionInterface::staticMetaObject>, local_signal_index=local_signal_index at entry=4, argv=argv at entry=0x7fffc7e45ea0) at kernel/qobject.cpp:3539
#26 0x00007f5b5c6313d6 in OrgKubuntuQaptworkerTransactionInterface::propertyChanged (this=this at entry=0x2b299e0, _t1=11, _t2=...) at /build/buildd/qapt-2.0.65/obj-x86_64-linux-gnu/src/moc_transactiondbus.cxx:246
#27 0x00007f5b5c63177c in OrgKubuntuQaptworkerTransactionInterface::qt_static_metacall (_o=_o at entry=0x2b299e0, _c=_c at entry=QMetaObject::InvokeMetaMethod, _id=_id at entry=4, _a=_a at entry=0x7fffc7e46160) at /build/buildd/qapt-2.0.65/obj-x86_64-linux-gnu/src/moc_transactiondbus.cxx:111
#28 0x00007f5b5c6320f7 in OrgKubuntuQaptworkerTransactionInterface::qt_metacall (this=0x2b299e0, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fffc7e46160) at /build/buildd/qapt-2.0.65/obj-x86_64-linux-gnu/src/moc_transactiondbus.cxx:164
#29 0x00007f5b6e9b7e36 in QDBusConnectionPrivate::deliverCall (this=0x27a9430, object=0x2b299e0, msg=..., metaTypes=..., slotIdx=9) at qdbusintegrator.cpp:951
#30 0x00007f5b6f920dce in QObject::event (this=0x2b299e0, e=<optimized out>) at kernel/qobject.cpp:1194
#31 0x00007f5b702f9dfc in QApplicationPrivate::notify_helper (this=this at entry=0x25bbe60, receiver=receiver at entry=0x2b299e0, e=e at entry=0x439ad70) at kernel/qapplication.cpp:4567
#32 0x00007f5b70300470 in QApplication::notify (this=this at entry=0x7fffc7e46910, receiver=receiver at entry=0x2b299e0, e=e at entry=0x439ad70) at kernel/qapplication.cpp:4353
#33 0x00007f5b71003a6a in KApplication::notify (this=0x7fffc7e46910, receiver=0x2b299e0, event=0x439ad70) at ../../kdeui/kernel/kapplication.cpp:311
#34 0x00007f5b6f9088bd in QCoreApplication::notifyInternal (this=0x7fffc7e46910, receiver=receiver at entry=0x2b299e0, event=event at entry=0x439ad70) at kernel/qcoreapplication.cpp:946
#35 0x00007f5b6f90be1f in sendEvent (event=0x439ad70, receiver=0x2b299e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#36 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver at entry=0x0, event_type=event_type at entry=0, data=0x258a500) at kernel/qcoreapplication.cpp:1570
#37 0x00007f5b6f90c2c3 in QCoreApplication::sendPostedEvents (receiver=receiver at entry=0x0, event_type=event_type at entry=0) at kernel/qcoreapplication.cpp:1463
#38 0x00007f5b6f936073 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#39 postEventSourceDispatch (s=0x25bc710) at kernel/qeventdispatcher_glib.cpp:279
#40 0x00007f5b6c53a3b6 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007f5b6c53a708 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007f5b6c53a7ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007f5b6f935a55 in QEventDispatcherGlib::processEvents (this=0x258bde0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#44 0x00007f5b7039b9d6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#45 0x00007f5b6f9075ef in QEventLoop::processEvents (this=this at entry=0x7fffc7e46810, flags=...) at kernel/qeventloop.cpp:149
#46 0x00007f5b6f9078e5 in QEventLoop::exec (this=this at entry=0x7fffc7e46810, flags=...) at kernel/qeventloop.cpp:204
#47 0x00007f5b6f90ce5b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#48 0x00007f5b702f834c in QApplication::exec () at kernel/qapplication.cpp:3828
#49 0x000000000040ce11 in main (argc=5, argv=0x7fffc7e46a48) at /build/buildd/muon-2.1.2/updater/main.cpp:59

The reporter indicates this bug may be a duplicate of or related to bug
330615.

Possible duplicates by query: bug 330615, bug 330486, bug 330407, bug
330054, bug 329935.

Reported using DrKonqi

Reply at:
https://bugs.launchpad.net/ubuntu/+source/muon/+bug/1295437/comments/0

------------------------------------------------------------------------
On 2014-02-11T00:55:47+00:00 adaptee wrote:


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

Reply at:
https://bugs.launchpad.net/ubuntu/+source/muon/+bug/1295437/comments/1

------------------------------------------------------------------------
On 2014-02-11T00:59:38+00:00 Harald Sitter wrote:

Actually not a duplicate as such (the reason I know that is because I
just hit that crash mysefl :P)

While not obvious from the backtrace this crash is caused by
> void ApplicationUpdates::calculateUpdates()
not being able to resolve the package. The reason it cannot resolve it apparenlty is because ApplicationBackend doesn't refresh m_appList on reload.

How to reproduce:
- install a package foo
- m_appList now contains foo, but not bar
- package gets update that introduces dependency on completely new package bar
- a manual check for new updates is run via muon-updater
- the package cache for the updater now contains both the new foo and the completly new bar, m_appList still only contains foo
- resolution fails and assert fails

Reply at:
https://bugs.launchpad.net/ubuntu/+source/muon/+bug/1295437/comments/2

------------------------------------------------------------------------
On 2014-02-11T01:04:46+00:00 Harald Sitter wrote:

Created attachment 85093
test archive to trigger the bug

I am attaching a tarball with a simple test archive with two debs and a
Packages list that allows the bug to be easily reproduced:

- install kubuntu-docs
- completely update system
- extract tarball somewhere
- edit sources.list and add the following with adjusted path as needed (mind the triple forward slash after file)
> deb file:///home/me/bug330999 ./
- open muon-updater and use ctrl-r to refresh the crash
- observe crash

the tarball contains a fake kubuntu-docs package that depends on the
other package (which is not present elsewhere thus not in the cache at
startup), the cache refresh will pick up the new fake kubuntu-docs and
try to resolve it's depdencies and fail the assert.

(please note that for re-testing you need to delete the extracted
directory, apt-get update, and extract it again to make sure the fake
packages are gone from the cache)

Reply at:
https://bugs.launchpad.net/ubuntu/+source/muon/+bug/1295437/comments/3

------------------------------------------------------------------------
On 2014-02-12T15:16:33+00:00 adaptee wrote:


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

Reply at:
https://bugs.launchpad.net/ubuntu/+source/muon/+bug/1295437/comments/4


** Changed in: muon
   Importance: Unknown => High

-- 
You received this bug notification because you are a member of Kubuntu
Bugs, which is subscribed to muon in Ubuntu.
https://bugs.launchpad.net/bugs/1295437

Title:
  updater crashes when a cash update introduces a new package dependency

To manage notifications about this bug go to:
https://bugs.launchpad.net/muon/+bug/1295437/+subscriptions




More information about the kubuntu-bugs mailing list