Summary: | Qaptworker crashed with SIGFPE in [WorkerAcquire::Pulse, pkgAcquire::Run, ListUpdate] | ||
---|---|---|---|
Product: | [Unmaintained] muon | Reporter: | shani <grawcho> |
Component: | qaptworker | Assignee: | Jonathan Thomas <echidnaman> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | bruninho.ro, grawcho, ks20xx, xejakig884 |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian unstable | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 1.2.0 | |
Sentry Crash Report: | |||
Attachments: |
syslog
screenshot of popup message from muon |
Created attachment 62684 [details]
screenshot of popup message from muon
apt is still working though Hi, I suspect that for some reason qaptworker is crashing. It'll be a bit tricky to debug compared to a normal application, though. To get a crash log, this is what you'll have to do: - Install qapt-dbg and gdb, if they're not already installed - In a console, run "sudo gdb qaptworker" - In the gdb console type "run --nofork" - Hit enter, and quickly (within 10 seconds) hit the update button in Muon. If it does crash, the gdb console should say something like: "Program received signal SIGSEGV, Segmentation fault." If it does, type "bt full", and copy/paste the output of that command here. Thanks, Jonathan Confirmed on the same specs. >>> Output of gdb: Program received signal SIGFPE, Arithmetic exception. 0x000000000040fce5 in WorkerAcquire::Pulse (this=0x89fd70, Owner=0x7fffffffda90) at /build/buildd/qapt-1.1.90/src/worker/workeracquire.cpp:169 169 /build/buildd/qapt-1.1.90/src/worker/workeracquire.cpp: No such file or directory. in /build/buildd/qapt-1.1.90/src/worker/workeracquire.cpp >>> Output of bt full: #0 0x000000000040fce5 in WorkerAcquire::Pulse (this=0x89fd70, Owner=0x7fffffffda90) at /build/buildd/qapt-1.1.90/src/worker/workeracquire.cpp:169 packagePercentage = <optimized out> percentage = 0 speed = -1 ETA = <optimized out> #1 0x00007ffff6dbe517 in pkgAcquire::Run(int) () from /usr/lib/libapt-pkg.so.4.11 No symbol table info available. #2 0x00007ffff6dbbdd6 in ListUpdate(pkgAcquireStatus&, pkgSourceList&, int) () from /usr/lib/libapt-pkg.so.4.11 No symbol table info available. #3 0x000000000040a419 in QAptWorker::updateCache (this=0x7fffffffe610) at /build/buildd/qapt-1.1.90/src/worker/worker.cpp:210 result = <optimized out> Lock = <incomplete type> fetcher = <incomplete type> #4 0x0000000000413e6f in QaptworkerAdaptor::qt_metacall (this=0x62e010, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0x7fffffffde90) at /build/buildd/qapt-1.1.90/obj-x86_64-linux-gnu/src/worker/qaptworkeradaptor.moc:210 No locals. #5 0x00007ffff7088ff9 in QDBusConnectionPrivate::deliverCall (this=0x6375b0, object=0x62e010, msg=..., metaTypes=..., slotIdx=26) at qdbusintegrator.cpp:942 context = {connection = {static staticMetaObject = {d = { superdata = 0x0, stringdata = 0x7ffff70c9740 "QDBusConnection", data = 0x7ffff70c9960, extradata = 0x0}}, d = 0x6375b0}, message = @0x6414d0} old = 0x0 ptr = {o = 0x62e010} params = {a = 10, s = 1, ptr = 0x7fffffffde90, { array = "\000\000\000\000\000\000\000\000\360\024d\000\000\000\000\000\220\337\377\377\377\177\000\000\204\005\t\367\377\177\000\000\220\337\377\377\377\177\000\000\200\337\377\377\377\177\000\000\360\024d\000\000\000\000\000\24---Type <return> to continue, or q <return> to quit--- Also here is the muon kcrash report after the error.
>>>Output of Kcrash report:
Application: Muon Package Manager (muon), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f82cf2f8780 (LWP 1858))]
Thread 2 (Thread 0x7f82bae43700 (LWP 1862)):
#0 0x00007f82cca09093 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f82c8396ac8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f82c8396f89 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f82cde4c7ae in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4 0x00007f82cde20c62 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5 0x00007f82cde20e67 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6 0x00007f82cdd382cf in QThread::exec() () from /usr/lib/libQtCore.so.4
#7 0x00007f82cde03c2f in ?? () from /usr/lib/libQtCore.so.4
#8 0x00007f82cdd3ad55 in ?? () from /usr/lib/libQtCore.so.4
#9 0x00007f82c8e63d8c in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007f82cca161dd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x0000000000000000 in ?? ()
Thread 1 (Thread 0x7f82cf2f8780 (LWP 1858)):
[KCrash Handler]
#6 0x00007f82cec94451 in QApt::Backend::toInstallCount() const () from /usr/lib/libqapt.so.1
#7 0x00007f82cec945c6 in QApt::Backend::areChangesMarked() const () from /usr/lib/libqapt.so.1
#8 0x00007f82ceee7e29 in MuonMainWindow::queryExit() () from /usr/lib/libmuonprivate.so.1
#9 0x00007f82ce915b0e in KMainWindow::closeEvent(QCloseEvent*) () from /usr/lib/libkdeui.so.5
#10 0x00007f82cd227c6e in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#11 0x00007f82cd5e614b in QMainWindow::event(QEvent*) () from /usr/lib/libQtGui.so.4
#12 0x00007f82ce9513e8 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#13 0x00007f82cd1d7154 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#14 0x00007f82cd1dbfc1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#15 0x00007f82ce855de6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#16 0x00007f82cde21a6c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#17 0x00007f82cd22281d in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () from /usr/lib/libQtGui.so.4
#18 0x00007f82cd257d36 in QApplication::x11ClientMessage(QWidget*, _XEvent*, bool) () from /usr/lib/libQtGui.so.4
#19 0x00007f82cd25619b in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#20 0x00007f82cd27eac2 in ?? () from /usr/lib/libQtGui.so.4
#21 0x00007f82c83965bd in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007f82c8396db8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f82c8396f89 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f82cde4c746 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#25 0x00007f82cd27e72e in ?? () from /usr/lib/libQtGui.so.4
#26 0x00007f82cde2521f in QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#27 0x00007f82ceca05d3 in ?? () from /usr/lib/libqapt.so.1
#28 0x00007f82cb801642 in pkgCacheGenerator::MergeList(pkgCacheGenerator::ListParser&, pkgCache::VerIterator*) () from /usr/lib/libapt-pkg.so.4.11
#29 0x00007f82cb85d7da in debPackagesIndex::Merge(pkgCacheGenerator&, OpProgress*) const () from /usr/lib/libapt-pkg.so.4.11
#30 0x00007f82cb7fe987 in ?? () from /usr/lib/libapt-pkg.so.4.11
#31 0x00007f82cb80480b in pkgCacheGenerator::MakeStatusCache(pkgSourceList&, OpProgress*, MMap**, bool) () from /usr/lib/libapt-pkg.so.4.11
#32 0x00007f82cb7f8482 in pkgCacheFile::BuildCaches(OpProgress*, bool) () from /usr/lib/libapt-pkg.so.4.11
#33 0x00007f82cb7f88a4 in pkgCacheFile::Open(OpProgress*, bool) () from /usr/lib/libapt-pkg.so.4.11
#34 0x00007f82ceca0397 in QApt::Cache::open() () from /usr/lib/libqapt.so.1
#35 0x00007f82cec9ba81 in QApt::Backend::reloadCache() () from /usr/lib/libqapt.so.1
#36 0x00007f82ceefff0d in PackageWidget::reload() () from /usr/lib/libmuonprivate.so.1
#37 0x000000000040e409 in _start ()
That Muon crash is unrelated to the qaptworker one, as has been fixed already in trunk. (Bug 279345, has to do with exiting Muon during an internal reload after the cache update) Thanks for the qaptworker crash log. I'll see what I can do. Ah, ok. It's a fairly simple case of division by zero. I'll commit a fix when I'm able to get to a computer with commit access later today. thanks johnathan and kevin ... i opend the bug yesterday and was away from a computer today. saved me some work ... looking forward for the fix G i tried to reproduce in gdb console and my results were a bit dfferent in fact it said (gdb) run --nofork Starting program: /usr/bin/qaptworker --nofork [Thread debugging using libthread_db enabled] [Inferior 1 (process 5478) exited normally] the same popup message occurs the operation fails (no crash or closing of processes) ... could it be that i am doing something wrong? or is there another problem? Hmm, about the only thing I can think of is that there was an old copy of qaptworker running when you ran it in gdb, in which case qaptworker will exit normally. Oh, also make sure not to click update until "[Thread debugging using libthread_db enabled]" appears, or maybe a second or two after. (But still under 10 seconds) I see that the Synaptic package manager just made this same bugfix yesterday. Something must have changed with the new apt version in Ubuntu 11.10 that exposed the bug (Not checking for division by zero). I've gotten 3 reports of this now, so I think it's safe to say that they're all this bug, even if you end up not being able to get a backtrace. :) *** Bug 279763 has been marked as a duplicate of this bug. *** Git commit 561b6d02ca04d8d4a20902571b2130ed494ce63b by Jonathan Thomas. Committed on 09/08/2011 at 23:52. Pushed by jmthomas into branch 'master'. Don't divide by zero. Fixes a crash exposed by the latest APT update. BUG: 279690 CCMAIL: 823087@bugs.launchpad.net M +5 -1 src/worker/workeracquire.cpp http://commits.kde.org/libqapt/561b6d02ca04d8d4a20902571b2130ed494ce63b installed the fix you commited... problem still happaning debug trace output (gdb) run --nofork Starting program: /usr/bin/qaptworker --nofork [Thread debugging using libthread_db enabled] [New Thread 0xb7dddb70 (LWP 4229)] clicking muon "check for updates" (not hard to catch the right timing) Program received signal SIGFPE, Arithmetic exception. 0x006b8638 in __udivdi3 () from /lib/i386-linux-gnu/libgcc_s.so.1 (gdb) bt full output: #0 0x006b8638 in __udivdi3 () from /lib/i386-linux-gnu/libgcc_s.so.1 No symbol table info available. #1 0x08056d1b in WorkerAcquire::Pulse (this=0x82248b0, Owner=0xbfffef34) at /build/buildd/qapt-1.1.90/src/worker/workeracquire.cpp:169 packagePercentage = <optimized out> percentage = 0 speed = -1 ETA = <optimized out> #2 0x005165c6 in pkgAcquire::Run(int) () from /usr/lib/libapt-pkg.so.4.11 No symbol table info available. #3 0x00513af7 in ListUpdate(pkgAcquireStatus&, pkgSourceList&, int) () from /usr/lib/libapt-pkg.so.4.11 No symbol table info available. #4 0x08051145 in QAptWorker::updateCache (this=0xbffff78c) at /build/buildd/qapt-1.1.90/src/worker/worker.cpp:210 result = true Lock = <incomplete type> fetcher = <incomplete type> #5 0x0805b131 in QaptworkerAdaptor::qt_metacall (this=0x8068b40, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0xbffff17c) at /build/buildd/qapt-1.1.90/obj-i686-linux-gnu/src/worker/qaptworkeradaptor.moc:210 No locals. #6 0x0044fce7 in QDBusConnectionPrivate::deliverCall (this=0x8072508, object= 0x8068b40, msg=..., metaTypes=..., slotIdx=1) at qdbusintegrator.cpp:942 context = {connection = {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x495560 "QDBusConnection", data = 0x495780, extradata = 0x0}}, d = 0x8072508}, message = @0x8081548} old = 0x0 ptr = {o = 0x8068b40} params = {a = 10, s = 1, ptr = 0xbffff17c, { array = "\000\000\000\000\064\362\377\277\354\024\b\b\021\001\000\000on+\000\064\362\377\277X\320<\000\000\000\000\000\252\000\034\000\320\005\b\b(\024\b\b\364\357<", q_for_alignment_1 = -4611701188251877376, q_for_alignment_2 = -1.9966316223144531}} i = 0 outputArgs = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x8063488}, d = 0x8063488}} fail = false auxParameters = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x8063488}, d = 0x8063488}} pCount = 0 #7 0x00450e16 in QDBusConnectionPrivate::activateCall (this=0x8072508, object=0x8068b40, flags=273, msg=...) at qdbusintegrator.cpp:845 i didn't want to reopen ... in the chance i didn't fully understand you would you mind if i'll reopen? sorry ... not a full report here: (gdb) run --nofork Starting program: /usr/bin/qaptworker --nofork [Thread debugging using libthread_db enabled] [Inferior 1 (process 4205) exited normally] (gdb) run --nofork Starting program: /usr/bin/qaptworker --nofork [Thread debugging using libthread_db enabled] [New Thread 0xb7dddb70 (LWP 4229)] Program received signal SIGFPE, Arithmetic exception. 0x006b8638 in __udivdi3 () from /lib/i386-linux-gnu/libgcc_s.so.1 (gdb) bt full #0 0x006b8638 in __udivdi3 () from /lib/i386-linux-gnu/libgcc_s.so.1 No symbol table info available. #1 0x08056d1b in WorkerAcquire::Pulse (this=0x82248b0, Owner=0xbfffef34) at /build/buildd/qapt-1.1.90/src/worker/workeracquire.cpp:169 packagePercentage = <optimized out> percentage = 0 speed = -1 ETA = <optimized out> #2 0x005165c6 in pkgAcquire::Run(int) () from /usr/lib/libapt-pkg.so.4.11 No symbol table info available. #3 0x00513af7 in ListUpdate(pkgAcquireStatus&, pkgSourceList&, int) () from /usr/lib/libapt-pkg.so.4.11 No symbol table info available. #4 0x08051145 in QAptWorker::updateCache (this=0xbffff78c) at /build/buildd/qapt-1.1.90/src/worker/worker.cpp:210 result = true Lock = <incomplete type> fetcher = <incomplete type> #5 0x0805b131 in QaptworkerAdaptor::qt_metacall (this=0x8068b40, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0xbffff17c) at /build/buildd/qapt-1.1.90/obj-i686-linux-gnu/src/worker/qaptworkeradaptor.moc:210 No locals. #6 0x0044fce7 in QDBusConnectionPrivate::deliverCall (this=0x8072508, object= 0x8068b40, msg=..., metaTypes=..., slotIdx=1) at qdbusintegrator.cpp:942 context = {connection = {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x495560 "QDBusConnection", data = 0x495780, extradata = 0x0}}, d = 0x8072508}, message = @0x8081548} old = 0x0 ptr = {o = 0x8068b40} params = {a = 10, s = 1, ptr = 0xbffff17c, { array = "\000\000\000\000\064\362\377\277\354\024\b\b\021\001\000\000on+\000\064\362\377\277X\320<\000\000\000\000\000\252\000\034\000\320\005\b\b(\024\b\b\364\357<", q_for_alignment_1 = -4611701188251877376, q_for_alignment_2 = -1.9966316223144531}} i = 0 outputArgs = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x8063488}, d = 0x8063488}} fail = false auxParameters = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x8063488}, d = 0x8063488}} pCount = 0 #7 0x00450e16 in QDBusConnectionPrivate::activateCall (this=0x8072508, object=0x8068b40, flags=273, msg=...) at qdbusintegrator.cpp:845 ---Type <return> to continue, or q <return> to quit--- mo = 0x80814ec memberName = {static shared_null = {ref = {_q_value = 275}, alloc = 0, size = 0, data = 0x3d0ef8 "", array = ""}, static shared_empty = {ref = { _q_value = 1}, alloc = 0, size = 0, data = 0x3d0ee4 "", array = ""}, d = 0x8080008} slotData = {flags = 273, slotIdx = 26, metaTypes = {{p = { static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x8081048}, d = 0x8081048}}} cachePropertyName = "_qdbus_slotCache" slotCache = {hash = {<QHash<QString, QDBusSlotCache::Data>> = {{ d = 0x8080ff8, e = 0x8080ff8}}, <No data fields>}} cacheKey = {static null = {<No data fields>}, static shared_null = {ref = { _q_value = 1}, alloc = 0, size = 0, data = 0x80633f2, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 3}, alloc = 0, size = 0, data = 0x3d0fbe, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = { 0}}, d = 0x8081258, static codecForCStrings = 0x0} signature = {static null = {<No data fields>}, static shared_null = {ref = { _q_value = 1}, alloc = 0, size = 0, data = 0x80633f2, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 3}, alloc = 0, size = 0, data = 0x3d0fbe, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = { 0}}, d = 0x3d0fac, static codecForCStrings = 0x0} #8 0x00451764 in QDBusConnectionPrivate::activateObject (this=0x8072508, node=..., msg=..., pathStartPos=-1073745216) at qdbusintegrator.cpp:1430 interfaceFound = true connector = 0x8068930 #9 0x00451978 in QDBusActivateObjectEvent::placeMetaCall (this=0x8081508) at qdbusintegrator.cpp:1524 No locals. #10 0x002b01f2 in QObject::event (this=0xbffff78c, e=0x8081508) at kernel/qobject.cpp:1217 mce = 0x8081508 currentSender = {sender = 0x8072508, signal = -1, ref = 1} previousSender = 0x0 #11 0x002984fa in QCoreApplication::event (this=0xbffff78c, e=0x8081508) at kernel/qcoreapplication.cpp:1560 No locals. #12 0x00298169 in QCoreApplicationPrivate::notify_helper (this=0x80648c0, receiver=0xbffff78c, event=0x8081508) at kernel/qcoreapplication.cpp:866 No locals. #13 0x002981e8 in QCoreApplication::notify (this=0xbffff78c, receiver=0xbffff78c, event=0x8081508) at kernel/qcoreapplication.cpp:812 ---Type <return> to continue, or q <return> to quit--- d = 0x80648c0 #14 0x00297f1e in QCoreApplication::notifyInternal (this=0xbffff78c, receiver=0xbffff78c, event=0x8081508) at kernel/qcoreapplication.cpp:731 threadData = 0x8064948 returnValue = <optimized out> result = false cbdata = {0xbffff78c, 0x8081508, 0xbffff49f} d = <optimized out> #15 0x0029b6f3 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 No locals. #16 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8064948) at kernel/qcoreapplication.cpp:1372 e = 0x8081508 r = 0xbffff78c locker = {val = 134629744} startOffset = 0 #17 0x0029b84c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1265 data = <optimized out> #18 0x002c5d74 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 No locals. #19 postEventSourceDispatch (s=0x80683b8) at kernel/qeventdispatcher_glib.cpp:277 source = 0x80683b8 #20 0x008d0e1f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 No symbol table info available. #21 0x008d1550 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 No symbol table info available. #22 0x008d17ea in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 No symbol table info available. #23 0x002c61aa in QEventDispatcherGlib::processEvents (this=0x8065608, flags=...) at kernel/qeventdispatcher_glib.cpp:422 d = 0x8065618 canWait = true savedFlags = {i = 0} result = <optimized out> #24 0x00296f5d in QEventLoop::processEvents (this=0xbffff744, flags=...) at kernel/qeventloop.cpp:149 d = 0x8080ef0 #25 0x002971a1 in QEventLoop::exec (this=0xbffff744, flags=...) at kernel/qeventloop.cpp:201 d = 0x8080ef0 app = 0xbffff6fc #26 0x0029b8fd in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008 ---Type <return> to continue, or q <return> to quit--- threadData = 0x8064948 eventLoop = {<QObject> = {_vptr.QObject = 0x3ce448, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x359d20 "QObject", data = 0x359dc0, extradata = 0x3c93a0}}, d_ptr = {d = 0x8080ef0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x362900 "Qt", data = 0x366180, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x80634a0, stringdata = 0x36c080 "QEventLoop", data = 0x36c0a0, extradata = 0x0}}} returnCode = <optimized out> #27 0x0804ce9a in main (argc=2, argv=0xbffff864) at /build/buildd/qapt-1.1.90/src/worker/main.cpp:27 worker = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x805c068, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x359d20 "QObject", data = 0x359dc0, extradata = 0x3c93a0}}, d_ptr = {d = 0x80648c0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x362900 "Qt", data = 0x366180, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x80634a0, stringdata = 0x36c120 "QCoreApplication", data = 0x36c1c0, extradata = 0x0}}, static self = 0x0}, <QDBusContext> = { d_ptr = 0xbffff12c}, static staticMetaObject = {d = { superdata = 0x80634c0, stringdata = 0x805b460 "QAptWorker", data = 0x805bc00, extradata = 0x0}}, m_child_pid = -1073743928, m_cache = 0x8099f08, m_policy = 0x2, m_records = 0x809f528, m_systemLocked = false, m_questionResponse = {{d = 0x8063440, e = 0x8063440}}, m_acquireStatus = 0x82248b0, m_questionBlock = 0x0, m_xapianProc = 0x805b14b, m_dpkgProcess = 0x845ff4} Could you try replacing "int" on lines 169 and 171? I realized that while division-by-zero is the most common floating point error crash, integer overflow is also a SIGFPE. er, replacing "int" with "unsigned long" can i do it in runtime ... during debuging or do i need to recompile the package after the changes ? plus line 169 171 of what file ? i not sure think my lines and yours are not numbered the same (a hunch) Ah, I'm talking about editing src/worker/workeracquireprogress.cpp and recompiling. yeah thats what i figured ... however in the source i have there is no variable in line 171. appart from that i will try let me know what to do I meant workeracquire.cpp, oops. :) Change "int ETA = 0;" to "unsigned long ETA = 0;" and "ETA = (int)((TotalBytes - CurrentBytes) / CurrentCPS);" to "ETA = (unsigned long)((TotalBytes - CurrentBytes) / CurrentCPS);" ok i did just that ... patched, recomiled, reinstalled ... error remains here is the debugging (bt full) output (a bit different from the original) #0 0x006b8638 in __udivdi3 () from /lib/i386-linux-gnu/libgcc_s.so.1 No symbol table info available. #1 0x08056d1b in WorkerAcquire::Pulse (this=0x82250f8, Owner=0xbfffef34) at /home/shani/libqapt-1.1.90/src/worker/workeracquire.cpp:169 packagePercentage = <optimized out> percentage = 0 speed = -1 ETA = <optimized out> #2 0x005165c6 in pkgAcquire::Run(int) () from /usr/lib/libapt-pkg.so.4.11 No symbol table info available. #3 0x00513af7 in ListUpdate(pkgAcquireStatus&, pkgSourceList&, int) () from /usr/lib/libapt-pkg.so.4.11 No symbol table info available. #4 0x08051145 in QAptWorker::updateCache (this=0xbffff78c) at /home/shani/libqapt-1.1.90/src/worker/worker.cpp:210 result = true Lock = <incomplete type> fetcher = <incomplete type> #5 0x0805b131 in QaptworkerAdaptor::qt_metacall (this=0x8068b40, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0xbffff17c) at /home/shani/libqapt-1.1.90/obj-i686-linux-gnu/src/worker/qaptworkeradaptor.moc:210 No locals. #6 0x0044fce7 in ?? () from /usr/lib/libQtDBus.so.4 No symbol table info available. #7 0x00450e16 in ?? () from /usr/lib/libQtDBus.so.4 No symbol table info available. #8 0x00451764 in ?? () from /usr/lib/libQtDBus.so.4 No symbol table info available. #9 0x00451978 in ?? () from /usr/lib/libQtDBus.so.4 No symbol table info available. #10 0x002b01f2 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 No symbol table info available. #11 0x002984fa in QCoreApplication::event(QEvent*) () from /usr/lib/libQtCore.so.4 No symbol table info available. #12 0x00298169 in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 No symbol table info available. #13 0x002981e8 in QCoreApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 No symbol table info available. #14 0x00297f1e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 No symbol table info available. #15 0x0029b6f3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 ---Type <return> to continue, or q <return> to quit--- No symbol table info available. #16 0x0029b84c in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4 No symbol table info available. #17 0x002c5d74 in ?? () from /usr/lib/libQtCore.so.4 No symbol table info available. #18 0x008d0e1f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 No symbol table info available. #19 0x008d1550 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 No symbol table info available. #20 0x008d17ea in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 No symbol table info available. #21 0x002c61aa in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 No symbol table info available. #22 0x00296f5d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 No symbol table info available. #23 0x002971a1 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 No symbol table info available. #24 0x0029b8fd in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 No symbol table info available. #25 0x0804ce9a in main (argc=2, argv=0xbffff864) at /home/shani/libqapt-1.1.90/src/worker/main.cpp:27 worker = {<QCoreApplication> = {<No data fields>}, <QDBusContext> = { d_ptr = 0xbffff12c}, static staticMetaObject = {d = { superdata = 0x80634c0, stringdata = 0x805b660 "QAptWorker", data = 0x805bb20, extradata = 0x0}}, m_child_pid = 134623220, m_cache = 0x80981f0, m_policy = 0x2, m_records = 0x809e810, m_systemLocked = false, m_questionResponse = {{d = 0x8063440, e = 0x8063440}}, m_acquireStatus = 0x82250f8, m_questionBlock = 0x0, m_xapianProc = 0x805b149, m_dpkgProcess = 0x845ff4} Git commit 3c2ba4948b47a60249a3cf9f63b528610b0cdfe2 by Jonathan Thomas. Committed on 10/08/2011 at 23:02. Pushed by jmthomas into branch 'master'. Another shot at bug 279690 CCBUG:279690 M +3 -4 src/worker/workeracquire.cpp http://commits.kde.org/libqapt/3c2ba4948b47a60249a3cf9f63b528610b0cdfe2 Could you see if that helps? nope ... sorry Are you sure you're applying the fix right? upgraded and ran debug again: bt full (a little different) #0 0x006b8638 in __udivdi3 () from /lib/i386-linux-gnu/libgcc_s.so.1 No symbol table info available. #1 0x08056d1b in WorkerAcquire::Pulse (this=0x8225a28, Owner=0xbfffef34) at /build/buildd/qapt-1.1.90/src/worker/workeracquire.cpp:169 packagePercentage = <optimized out> percentage = 0 speed = -1 ETA = <optimized out> #2 0x005165c6 in pkgAcquire::Run(int) () from /usr/lib/libapt-pkg.so.4.11 No symbol table info available. #3 0x00513af7 in ListUpdate(pkgAcquireStatus&, pkgSourceList&, int) () from /usr/lib/libapt-pkg.so.4.11 No symbol table info available. #4 0x08051145 in QAptWorker::updateCache (this=0xbffff78c) at /build/buildd/qapt-1.1.90/src/worker/worker.cpp:210 result = true Lock = <incomplete type> fetcher = <incomplete type> #5 0x0805b131 in QaptworkerAdaptor::qt_metacall (this=0x8068b40, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0xbffff17c) at /build/buildd/qapt-1.1.90/obj-i686-linux-gnu/src/worker/qaptworkeradaptor.moc:210 No locals. #6 0x0044fce7 in QDBusConnectionPrivate::deliverCall (this=0x8072508, object= 0x8068b40, msg=..., metaTypes=..., slotIdx=1) at qdbusintegrator.cpp:942 context = {connection = {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x495560 "QDBusConnection", data = 0x495780, extradata = 0x0}}, d = 0x8072508}, message = @0x8081518} old = 0x0 ptr = {o = 0x8068b40} params = {a = 10, s = 1, ptr = 0xbffff17c, { array = "\000\000\000\000\064\362\377\277d\025\b\b\021\001\000\000on+\000\064\362\377\277X\320<\000\000\000\000\000\252\000\034\000\320\021\b\b@\024\b\b\364\357<", q_for_alignment_1 = -4611701188251877376, q_for_alignment_2 = -1.9966316223144531}} i = 0 outputArgs = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x8063488}, d = 0x8063488}} fail = false auxParameters = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x8063488}, d = 0x8063488}} pCount = 0 #7 0x00450e16 in QDBusConnectionPrivate::activateCall (this=0x8072508, object=0x8068b40, flags=273, msg=...) at qdbusintegrator.cpp:845 mo = 0x8081564 ---Type <return> to continue, or q <return> to quit--- memberName = {static shared_null = {ref = {_q_value = 275}, alloc = 0, size = 0, data = 0x3d0ef8 "", array = ""}, static shared_empty = {ref = { _q_value = 1}, alloc = 0, size = 0, data = 0x3d0ee4 "", array = ""}, d = 0x8080168} slotData = {flags = 273, slotIdx = 26, metaTypes = {{p = { static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x8081240}, d = 0x8081240}}} cachePropertyName = "_qdbus_slotCache" slotCache = {hash = {<QHash<QString, QDBusSlotCache::Data>> = {{ d = 0x8081268, e = 0x8081268}}, <No data fields>}} cacheKey = {static null = {<No data fields>}, static shared_null = {ref = { _q_value = 1}, alloc = 0, size = 0, data = 0x80633f2, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 3}, alloc = 0, size = 0, data = 0x3d0fbe, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = { 0}}, d = 0x80805b8, static codecForCStrings = 0x0} signature = {static null = {<No data fields>}, static shared_null = {ref = { _q_value = 1}, alloc = 0, size = 0, data = 0x80633f2, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 3}, alloc = 0, size = 0, data = 0x3d0fbe, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = { 0}}, d = 0x3d0fac, static codecForCStrings = 0x0} #8 0x00451764 in QDBusConnectionPrivate::activateObject (this=0x8072508, node=..., msg=..., pathStartPos=-1073745216) at qdbusintegrator.cpp:1430 interfaceFound = true connector = 0x8068930 #9 0x00451978 in QDBusActivateObjectEvent::placeMetaCall (this=0x80814d8) at qdbusintegrator.cpp:1524 No locals. #10 0x002b01f2 in QObject::event (this=0xbffff78c, e=0x80814d8) at kernel/qobject.cpp:1217 mce = 0x80814d8 currentSender = {sender = 0x8072508, signal = -1, ref = 1} previousSender = 0x0 #11 0x002984fa in QCoreApplication::event (this=0xbffff78c, e=0x80814d8) at kernel/qcoreapplication.cpp:1560 No locals. #12 0x00298169 in QCoreApplicationPrivate::notify_helper (this=0x80648c0, receiver=0xbffff78c, event=0x80814d8) at kernel/qcoreapplication.cpp:866 No locals. #13 0x002981e8 in QCoreApplication::notify (this=0xbffff78c, receiver=0xbffff78c, event=0x80814d8) at kernel/qcoreapplication.cpp:812 d = 0x80648c0 ---Type <return> to continue, or q <return> to quit--- #14 0x00297f1e in QCoreApplication::notifyInternal (this=0xbffff78c, receiver=0xbffff78c, event=0x80814d8) at kernel/qcoreapplication.cpp:731 threadData = 0x8064948 returnValue = <optimized out> result = false cbdata = {0xbffff78c, 0x80814d8, 0xbffff49f} d = <optimized out> #15 0x0029b6f3 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 No locals. #16 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8064948) at kernel/qcoreapplication.cpp:1372 e = 0x80814d8 r = 0xbffff78c locker = {val = 134629744} startOffset = 0 #17 0x0029b84c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1265 data = <optimized out> #18 0x002c5d74 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 No locals. #19 postEventSourceDispatch (s=0x80683b8) at kernel/qeventdispatcher_glib.cpp:277 source = 0x80683b8 #20 0x008d0e1f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 No symbol table info available. #21 0x008d1550 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 No symbol table info available. #22 0x008d17ea in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 No symbol table info available. #23 0x002c61aa in QEventDispatcherGlib::processEvents (this=0x8065608, flags=...) at kernel/qeventdispatcher_glib.cpp:422 d = 0x8065618 canWait = true savedFlags = {i = 0} result = <optimized out> #24 0x00296f5d in QEventLoop::processEvents (this=0xbffff744, flags=...) at kernel/qeventloop.cpp:149 d = 0x8080eb8 #25 0x002971a1 in QEventLoop::exec (this=0xbffff744, flags=...) at kernel/qeventloop.cpp:201 d = 0x8080eb8 app = 0xbffff6fc #26 0x0029b8fd in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008 threadData = 0x8064948 ---Type <return> to continue, or q <return> to quit--- eventLoop = {<QObject> = {_vptr.QObject = 0x3ce448, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x359d20 "QObject", data = 0x359dc0, extradata = 0x3c93a0}}, d_ptr = {d = 0x8080eb8}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x362900 "Qt", data = 0x366180, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x80634a0, stringdata = 0x36c080 "QEventLoop", data = 0x36c0a0, extradata = 0x0}}} returnCode = <optimized out> #27 0x0804ce9a in main (argc=2, argv=0xbffff864) at /build/buildd/qapt-1.1.90/src/worker/main.cpp:27 worker = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x805c068, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x359d20 "QObject", data = 0x359dc0, extradata = 0x3c93a0}}, d_ptr = {d = 0x80648c0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x362900 "Qt", data = 0x366180, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x80634a0, stringdata = 0x36c120 "QCoreApplication", data = 0x36c1c0, extradata = 0x0}}, static self = 0x0}, <QDBusContext> = { d_ptr = 0xbffff12c}, static staticMetaObject = {d = { superdata = 0x80634c0, stringdata = 0x805b460 "QAptWorker", data = 0x805bc00, extradata = 0x0}}, m_child_pid = -1073743928, m_cache = 0x809cea0, m_policy = 0x2, m_records = 0x809c730, m_systemLocked = false, m_questionResponse = {{d = 0x8063440, e = 0x8063440}}, m_acquireStatus = 0x8225a28, m_questionBlock = 0x0, m_xapianProc = 0x805b14b, m_dpkgProcess = 0x845ff4} pretty sure ... but just to be on the safe side ... can you let me know exactly what i should do i'll try again when i get back from work tonight. :) The backtrace shows that you're using the Ubuntu packages, and not a self-compiled version with the fix. I'm fairly sure that this fix should work, so I'll go ahead with the 1.2.0 release tomorrow, and you can see if things work after the upgrade. sorry about that ... first of all, i did not change the control file when compiling the package, further more i must have inadvertently installed the old packaged when i upgraded. (due to not changing the control file package number was smaller than the package in the repositories. i must have forgot to hold it back when upgrading. so again a thousand apologies for missleading you. i recompiled and tried again ... and it seem to be working. and then downgraded to verify. looking forward for your fix. No problem. :) It's better to be safe than sorry. *** Bug 279913 has been marked as a duplicate of this bug. *** hey ... thanks again for the attention ... installed qapt 1.2 in upgrade ... as expected problem solved ... it was an educational experience for me. |
Created attachment 62683 [details] syslog Version: unspecified (using KDE 4.7.0) OS: Linux i upgraded to ubuntu oneiric latest updates and purged residual configuration. and since next boot i keep getting this message when tring to check for updates. i tried reinstalling a few related packages but no luck let me know if you need more than my addad logs Reproducible: Always Steps to Reproduce: run muon package manager and check for updates Actual Results: Qaptworkere error Expected Results: no errors OS: Linux (i686) release 3.0.0-8-generic Compiler: gcc