QApt worker crashed or disappeared when using muon package manager to check for updates

Bug #823087 reported by Kevin S
68
This bug affects 10 people
Affects Status Importance Assigned to Milestone
QApt
Fix Released
High
qapt (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

As soon as you start Muon Package Manager and press "Check for Updates" button an error occurs.

Error Description: "It appears that the QApt worker has either crashed or disappeared. Please report a bug to the QApt maintainers"

Some times closing muon package manager after error causes muon crash. Kcrash info included.

ProblemType: Bug
DistroRelease: Kubuntu 11.10 Alpha 3
Package: qapt-deb-installer 1.1.90-0ubuntu1
Uname: Linux 3.0.0-8-generic
Architecture: amd64
Date: Tues Aug 9 1:27:21 2011
InstallationMedia: Kubuntu 11.10 "Oneiric Ocelot" - Alpha 3 amd64
SourcePackage: qapt
UpgradeStatus: Fresh Install

Tags: crash muon qapt
Revision history for this message
Kevin S (ks20xx) wrote :
Kevin S (ks20xx)
description: updated
Changed in qapt (Ubuntu):
status: New → Confirmed
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

The Muon crash log is unrelated to this bug. it's a symptom of https://bugs.kde.org/show_bug.cgi?id=279345 which is fixed for Muon 1.2.0 final.

The qaptworker crash log from the KDE bug:

Program received signal SIGFPE, Arithmetic exception.
#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---

Changed in qapt:
importance: Unknown → High
status: Unknown → New
Revision history for this message
Jonathan Thomas (echidnaman) wrote : [libqapt] src/worker: Don't divide by zero. Fixes a crash exposed by the latest APT update.

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: <email address hidden>

M +5 -1 src/worker/workeracquire.cpp

http://commits.kde.org/libqapt/561b6d02ca04d8d4a20902571b2130ed494ce63b

diff --git a/src/worker/workeracquire.cpp b/src/worker/workeracquire.cpp
index a11a55f..4d59679 100644
--- a/src/worker/workeracquire.cpp
+++ b/src/worker/workeracquire.cpp
@@ -166,7 +166,11 @@ bool WorkerAcquire::Pulse(pkgAcquire *Owner)
         speed = CurrentCPS;
     }

- int ETA = (int)((TotalBytes - CurrentBytes) / CurrentCPS);
+ int ETA = 0;
+ if (CurrentCPS) {
+ ETA = (int)((TotalBytes - CurrentBytes) / CurrentCPS);
+ }
+
     // if the ETA is greater than two weeks, show unknown time
     if (ETA > 14*24*60*60) {
         ETA = 0;

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qapt - 1.2.0-0ubuntu1

---------------
qapt (1.2.0-0ubuntu1) oneiric; urgency=low

  * New upstream release (LP: #822623, #823087)
 -- Jonathan Thomas <email address hidden> Thu, 11 Aug 2011 19:08:39 -0400

Changed in qapt (Ubuntu):
status: Confirmed → Fix Released
Changed in qapt:
status: New → Fix Released
Revision history for this message
Tommy_CZ (t-kijas) wrote :

It is not fixed. Now, on 2 my computers and 2 other pcs of my friends, the Muon-Updater freezed, leaving OS in the bad condition.

In a better case, dpkg --configure-a or something like that has to be done. (We had to put it manualy into konsole, I think BUTTON in the dialogue window for IT would be very useful - like "You have corrupted database of packages, probably because of interrupting updating process, do not worry, you can easily repair it by clicking "Repair Button" or "Cancel" if you want to do it later."

In a worse case, some of them weren't able to log into KDE anymore.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.