aptd crashed with AttributeError in _inline_callbacks(): 'NoneType' object has no attribute 'send'

Bug #971748 reported by sirianni
194
This bug affects 78 people
Affects Status Importance Assigned to Milestone
python-defer
Invalid
Undecided
Unassigned
aptdaemon (Ubuntu)
Fix Released
Medium
Unassigned
Precise
Fix Released
High
Sebastian Heinlein

Bug Description

TEST CASE:
1. use a system without network manager running
2. open update-manager and click check
3. verify that there is a error dialog opening
4. install the version from precise-proposed
5. reboot
6. repeat (2) and verify that there is no error anymore

Happened upon Gnome startup.

ProblemType: Crash
DistroRelease: Ubuntu 12.04
Package: aptdaemon 0.43+bzr784-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-21.34-generic 3.2.13
Uname: Linux 3.2.0-21-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.0-0ubuntu2
Architecture: amd64
Date: Mon Apr 2 12:42:19 2012
DesktopFile: /usr/share/aptdaemon/aptdaemon.desktop
ExecutablePath: /usr/sbin/aptd
ExecutableTimestamp: 1331728907
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Beta amd64 (20120301)
InterpreterPath: /usr/bin/python2.7
PackageArchitecture: all
ProcCmdline: /usr/bin/python /usr/sbin/aptd
ProcCwd: /
ProcEnviron:

PythonArgs: ['/usr/sbin/aptd']
SourcePackage: aptdaemon
Title: aptd crashed with AttributeError in _inline_callbacks(): 'NoneType' object has no attribute 'send'
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: engr http mailman nisrcs radadmin sysadmin wheel xelus

Related branches

Revision history for this message
sirianni (eric-sirianni) wrote :
Revision history for this message
Apport retracing service (apport) wrote : Possible regression detected

This crash has the same stack trace characteristics as bug #639616. However, the latter was already fixed in an earlier package version than the one in this report. This might be a regression or because the problem is in a dependent package.

tags: removed: need-duplicate-check
tags: added: regression-retracer
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in aptdaemon (Ubuntu):
status: New → Confirmed
visibility: private → public
Revision history for this message
Fabien Tassin (fta) wrote :

happens to me daily and after/during each upgrade, since Mar 15.
Most likely a regression of aptdaemon 0.43+bzr784-0ubuntu1

dino99 (9d9)
tags: added: i386
Revision history for this message
Christian Reis (kiko) wrote :

Daily for me as well, upgraded today.

Revision history for this message
dino99 (9d9) wrote :

Still getting it on Precise i386 with aptdaemon 0.43+bzr805-0ubuntu1
But i cant report it as apport identify it as a #639616 duplicate, even if this one is marked "fix released" . Seems that apport take care only of the beginning of the error message :

it identify:
- aptdaemon crashed with AttributeError in _inline_callbacks()
- but ignore the end of the error : 'NoneType' object has no attribute 'send'

and does not care about "fix released" field (at least for this package)

Revision history for this message
dino99 (9d9) wrote :

I get this traceback:

File "/usrlib/python2.7/dist-packages/defer/__init__.py", line 475, in _inline_callbacks result=gen.send(result)
AttributeError: 'NoneType' object has no attribute 'send'

Revision history for this message
Fabien Tassin (fta) wrote :

so now we have an LTS with this daily crasher *sigh*

tentatively linking python-defer to this bug, as it seems it's the new home of this code.

Revision history for this message
Fabien Tassin (fta) wrote :

I checked the py stack leading to this AttributeError, it happens the fault really is in aptdaemon after all.

[(<frame object at 0x3005200>, '/usr/lib/python2.7/dist-packages/defer/__init__.py', 473, '_inline_callbacks', [' print >> fd, inspect.stack()\n'], 0),
 (<frame object at 0x30115e0>, '/usr/lib/python2.7/dist-packages/defer/__init__.py', 592, 'unwind_generator', [' return _inline_callbacks(None, func(*args, **kwargs), Deferred())\n'], 0),
 (<frame object at 0x300a550>, '/usr/lib/python2.7/dist-packages/aptdaemon/pkcompat.py', 306, '__init__', [' self.netmon.get_network_state()\n'], 0),
 (<frame object at 0x2e37280>, '/usr/lib/python2.7/dist-packages/aptdaemon/core.py', 1406, '__init__', [' self.packagekit = pkcompat.PackageKit(self.queue, connect, bus)\n'], 0),
 (<frame object at 0x2e317f0>, '/usr/lib/python2.7/dist-packages/aptdaemon/core.py', 2191, 'main', [' daemon = AptDaemon(options, bus=bus)\n'], 0),
 (<frame object at 0x28e7ef0>, '/usr/sbin/aptd', 28, '<module>', [' aptdaemon.core.main()\n'], 0)]

i'm not using network-manager on this box so it's probably the least tested path (if not the totally untested path). That may explain why there's only a few dupes, not millions.

While exploring that path, I found the bug:
In aptdaemon, self.netmon is a ProcNetworkMonitor() instance, which is good in my case, and when called, it properly finds 'online'. The problem seems to be the missing return value in ProcNetworkMonitor.get_network_state().
it sure fixes this AttributeError for me, but then i'm getting a cryptic _DefGen_Return raise from the defer module. So more work is needed.

anyway, python-defer should not die the way it does anyway, so its task here is probably also valid.

Revision history for this message
sirianni (eric-sirianni) wrote :

I am also not using NetworkManager, and I see this bug daily as well.

Revision history for this message
Ralf (ralf-kaestner) wrote :

I think this is a dup of #639616

Revision history for this message
Sebastian Heinlein (glatzor) wrote :

Fabien, thanks for your good analysis. I fixed the bug in trunk. Indeed python-defer should give a better hint of a wrong use.

Changed in python-defer:
status: New → Invalid
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in aptdaemon (Ubuntu Precise):
status: New → Confirmed
Changed in aptdaemon (Ubuntu):
importance: Undecided → Medium
Revision history for this message
avejidah (avejidah) wrote :

Thanks for your hard work guys. I have this crash on every login, too, since I upgraded to 12.04 in April. Is there anything helpful that I could add (logs, etc)? As with Fabien, I am not using Network Manager.

Revision history for this message
Sebastian Heinlein (glatzor) wrote :

Actually this is already fixed. I will try to get an updated version to precise

Changed in aptdaemon (Ubuntu Precise):
importance: Undecided → Medium
Revision history for this message
David Gelvin (dgel923) wrote :

Also affected by this on every start-up. 12.04 clean install, not using Network Manager.

Changed in aptdaemon (Ubuntu):
status: Confirmed → Fix Committed
Changed in aptdaemon (Ubuntu Precise):
importance: Medium → High
milestone: none → ubuntu-12.04.1
Changed in aptdaemon (Ubuntu Precise):
assignee: nobody → Sebastian Heinlein (glatzor)
Revision history for this message
Simon Rijk (s-p-rijk) wrote :

Also affected by this one every start-up. 12.04, not using Network Manager. Thanks for the fix!

Michael Vogt (mvo)
description: updated
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello sirianni, or anyone else affected,

Accepted aptdaemon into precise-proposed. The package will build now and be available in a few hours. Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users. If this package fixes the bug for you please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case details of your testing will help us make a better decision. Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in aptdaemon (Ubuntu Precise):
status: Confirmed → Fix Committed
tags: added: verification-needed
Revision history for this message
Bogdan Harjoc (harjoc-gmail) wrote :

Thanks! I was getting the same stack trace (no 'send' attr for NoneType in _inline_callbacks) every new reboot (ubuntu-12.04-i386).

Just enabled -proposed, upgraded and the startup crash is gone.

tags: added: verification-done
removed: verification-needed
Revision history for this message
dino99 (9d9) wrote :

Works on Quantal i386 logged as gnome-classic (proposed activated, package aptdaemon 0.45+bzr846, python-defer 1.06-2)

Revision history for this message
avejidah (avejidah) wrote :

Seems to have fixed the problem for me as well. Thanks!

Revision history for this message
avejidah (avejidah) wrote :

Since I did this -proposed aptdaemon update, update-manager crashes any time I try to install updates. I'm not sure if it's related, but update-manager seemed to work fine before this update (see attached screenshot).

Revision history for this message
Ashley (chippyash) wrote :

Still a problem - occurring daily - every time I log in. system fully up to date 12.04. aptdaemon version 0.43+bzr805-0ubuntu1

Revision history for this message
Michael Vogt (mvo) wrote :

Fwiw, I can reproduce the fix here too.

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

This bug was fixed in the package aptdaemon - 0.43+bzr805-0ubuntu2

---------------
aptdaemon (0.43+bzr805-0ubuntu2) precise-proposed; urgency=low

  * debian/patches:
    - Add fix-lp-971748: Fixes to the /proc/net based network monitor to
      not fail on systems without NetworkManager running (fixes LP: #971748))
    - Add fix-lp-932581: Fix GetUpdates on system with broken dependencies
      (fixes LP: #932581)
    - Add fix-lp-981124: Fix type mismatches in the client signals to not
      fail on very large packages (fixes LP: #981124)
    - Add fix-lp-900982: Fix return type of get_package_status_from_enum
      (fixes LP: #900982)
 -- Sebastian Heinlein <email address hidden> Tue, 12 Jun 2012 09:38:14 +0200

Changed in aptdaemon (Ubuntu Precise):
status: Fix Committed → Fix Released
dino99 (9d9)
Changed in aptdaemon (Ubuntu):
status: Fix Committed → Fix Released
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.