apt crashes when wireless connection fails

Bug #103593 reported by matt_hargett
28
Affects Status Importance Assigned to Milestone
apt (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: adept

I got this crash while packages were downloading. It may have been due to the wireless network being fritzy. I still dont' think it should crash, though.

#6 0xb7ea07f1 in pkgRecords::Lookup ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#7 0xb7ec3078 in pkgAcqArchive::QueueNext ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#8 0xb7ec3a0e in pkgAcqArchive::Failed ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#9 0xb7eadba8 in pkgAcquire::Worker::RunMessages ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#10 0xb7eae880 in pkgAcquire::Worker::InFdReady ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#11 0xb7ea61a9 in pkgAcquire::RunFds ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#12 0xb7ea944f in pkgAcquire::Run ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#13 0x08112b53 in ?? ()
#14 0x08113f8b in ?? ()
#15 0x08114c45 in ?? ()
#16 0x08073c43 in ?? ()
#17 0x08075345 in ?? ()
#18 0xb6ffb88b in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#19 0xb6ffc330 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#20 0xb73909af in QButton::clicked () from /usr/lib/libqt-mt.so.3
#21 0xb7099f30 in QButton::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3
#22 0xb703265d in QWidget::event () from /usr/lib/libqt-mt.so.3
#23 0xb6f92a60 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#24 0xb6f94c1e in QApplication::notify () from /usr/lib/libqt-mt.so.3
#25 0xb7757ce2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#26 0xb6f2525d in QApplication::sendSpontaneousEvent ()
   from /usr/lib/libqt-mt.so.3
#27 0xb6f23ec2 in QETWidget::translateMouseEvent ()
   from /usr/lib/libqt-mt.so.3
#28 0xb6f21fac in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#29 0xb6f39180 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#30 0xb6fad136 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#31 0xb6facf46 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#32 0xb6f94609 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#33 0x080727a5 in ?? ()
#34 0xb67acebc in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#35 0x080724d1 in ?? ()

Revision history for this message
Dima Ryazanov (dima-gmail) wrote :

I got a similar crash, but I wasn't downloading packages at that time. (The wireless wasn't working well, though.)

I right-clicked on a package in the list, and after one or two seconds, Adept crashed.

Revision history for this message
Richard Birnie (rbirnie-deactivatedaccount) wrote :

Having done some digging, heavily guided by persia on irc (thanks persia), it seems the bug is actually in apt not adept. Specifically it seems to be in the file acquire-worker.cc.

#8 in the backtrace mentions a call to pkgAcqArchive::Failed from pkgAcqArchive::RunMessages. #9 shows that this function belongs to /usr/lib/libapt-pkg-libc6.4-6.so.3.53

Having downloaded and unpacked the feisty source for apt running `grep -r pkgAcquire::Worker::RunMessages *` over the directory returns

apt-0.6.46.4ubuntu10/apt-pkg/acquire-worker.cc:bool pkgAcquire::Worker::RunMessages()

so the Run::Messages() function is in acquire-worker.cc. Looking through that file RunMessages() is defined on line 185. Scrolling further down the call to Failed() is on line 317. This is part of a case block starting on line 296, which says that the block which seems to be causing the problem is executed when `case 400` occurs. The comment on line 294 indicates that case 400 occurs when there is a URI failure. It's hard to know for certain but it seems possible that this refers to a URI from the apt sources.list file. This could be caused by a flaky internet connection but it's hard to know for sure.

This gives us two problems. If the network connection is flaky some URIs won't load. Not much we can do about a flaky network unfortunately although this seems to be the cause of the users problem. Secondly under certain (unknown) circumstances, when libapt receives a 400 error, it can crash, rather than providing a useful error to the calling program, for retry or user feedback. This probably is a bug but it's hard to know what causes the crash without seeing points #0-#5 of the backtrace. If either of the people who have commented on this bug could supply that it would be a big help. Alternatively, more information on which packages were being installed would help so we could try to reproduce it.

thanks,
Rich

Changed in adept:
assignee: nobody → rbirnie
status: New → Incomplete
Revision history for this message
Richard Birnie (rbirnie-deactivatedaccount) wrote :

Unassigning myself. This needs someone with more skills than me to take over now.

Changed in apt:
assignee: rbirnie → nobody
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for apt (Ubuntu) because there has been no activity for 60 days.]

Revision history for this message
Marco Maini (maini10) wrote :

Reopen after expiration since new duplicate of this is reported.

Changed in apt:
status: Invalid → Confirmed
Revision history for this message
JETorkildsen (jeta3) wrote :
Download full text (4.1 KiB)

I have the exact same crash in adept while downloading updates. But on a stable wired connection. My crash log is:

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1233185072 (LWP 6941)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#6 0xb7f2b7f4 in pkgRecords::Lookup ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#7 0xb7f4e078 in pkgAcqArchive::QueueNext ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#8 0xb7f4ea0e in pkgAcqArchive::Failed ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#9 0xb7f38ba8 in pkgAcquire::Worker::RunMessages ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#10 0xb7f39880 in pkgAcquire::Worker::InFdReady ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#11 0xb7f311a9 in pkgAcquire::RunFds ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#12 0xb7f3444f in pkgAcquire::Run ()
   from /usr/lib/libapt-pkg-libc6.4-6.so.3.53
#13 0x08113273 in ?? ()
#14 0x081146ab in ?? ()
#15 0x08115365 in ?? ()
#16 0x08073c53 in ?? ()
#17 0x08075345 in ?? ()
#18 0xb708688b in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#19 0xb7087330 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#20 0xb741b7cb in QButton::clicked () from /usr/lib/libqt-mt.so.3
#21 0xb7124f30 in QButton::mouseReleaseEvent () from /usr/lib/...

Read more...

Revision history for this message
Julian Andres Klode (juliank) wrote :

This bug is more than 4 years old and shouldn't happen anymore.

Changed in apt (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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