Opened 5 years ago

Last modified 4 years ago

#9915 new defect

dbus.exceptions.DBusException in sugar-install-bundle

Reported by: Zelenogorets Owned by:
Priority: normal Milestone: Future Release
Component: not assigned Version: 1.0 Software Build 802
Keywords: Cc:
Blocked By: Blocking:
Deployments affected: Action Needed: diagnose
Verified: no

Description

I’m running build 802 (release 8.2.1) on my XO-1. The G1G1 activities have been updated via Software Update, and the Micropolis activity has been installed from a memory stick using the sugar-install-bundle command from within the Terminal activity. However, when I try to install either the StarChart activity or the x2o activity from the same memory stick using sugar-install-bundle, I consistently receive the following error message:

ERROR:dbus.proxies:Introspect error on org.laptop.ActivityRegistry:/org/laptop/ActivityRegistry: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
Traceback (most recent call last):
  File "/usr/bin/sugar-install-bundle", line 18, in <module>
    bundle.install()
  File "/usr/lib/python2.5/site-packages/sugar/bundle/activitybundle.py", line 357, in install
    act = activity.get_registry().get_activity(self._bundle_id)
  File "/usr/lib/python2.5/site-packages/sugar/activity/registry.py", line 127, in get_activity
    info_dict = self._registry.GetActivity(service_name)
  File "/usr/lib/python2.5/site-packages/dbus/proxies.py", line 68, in __call__
    return self._proxy_method(*args, **keywords)
  File "/usr/lib/python2.5/site-packages/dbus/proxies.py", line 140, in __call__
    **keywords)
  File "/usr/lib/python2.5/site-packages/dbus/connection.py", line 630, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1

The only difference that I’m aware of between successfully installing the Micropolis activity and unsuccessfully trying to install the StarChart and x2o activities, was that Micropolis was installed before the XO-1’s networking was set up, while the attempts to install StarChart and x2o happened after the networking was set up. (My daughter’s XO-1 has the same setup as mine; all three activities were successfully installed on hers from the same memory stick before its networking was set up.)

A search of the existing tickets showed the same exception being noted in #6248 and #7811, although neither of those seemed to be connected to the Activity Registry.

If I can provide any other information that would help solve this problem, please let me know. (I’m quite comfortable working within a shell, given my UNIX programming background. I haven’t used Python, though.)

Thanks for your help!

Attachments (1)

Trac_9915_sib-strace.tar.gz (101.2 KB) - added by Zelenogorets 5 years ago.
sib-strace file archive

Download all attachments as: .zip

Change History (10)

comment:1 Changed 5 years ago by Quozl

  • Action Needed changed from never set to diagnose
  • Milestone changed from Not Triaged to 1.0-software-update

Per the DBus documentation the ChildExited means While starting a new process, the child exited with a status code.

I suggest you look through /home/olpc/.sugar/default/logs for some files created around the same time as the event, as they may contain further details of the failure.

comment:2 Changed 5 years ago by Zelenogorets

sugar-install-bundle runs for three seconds to produce the results above; no new entry is made to any of the log files in /home/olpc/.sugar/default/logs during that interval.

The shell.log file had a few odd messages before sugar-install-bundle was run …

(sugar-shell:1306): Wnck-WARNING **: Property _NET_WM_NAME contained invalid UTF-8

(sugar-shell:1306): Wnck-WARNING **: Received a timestamp of 0; window activation may not function properly.

1261104533.222900 ERROR root: Model for window 18875587 does not exist.

… but I don’t know if they’d have any connection to this ticket.

Is there any place else that might hold relevant log entries or error messages for this ticket?

comment:3 Changed 5 years ago by Quozl

No other place that I know of.

Let's find out what the child process is for and why it fails. Since I'm not an expert in DBus, or Sugar internals, the simplest method that I can think of is to strace. Prefix your sugar-install-bundle command like so:

strace -tt -ff -s 1024 -o sib-strace $*

where $* represents the entire sugar-install-bundle command line that you had been attempting.

This will run slower. It will generate a series of sib-strace.${PID} logs.

tar and gzip the logs and attach them here. I'll go through them to try to figure out what is failing.

Changed 5 years ago by Zelenogorets

sib-strace file archive

comment:4 Changed 5 years ago by Zelenogorets

A quick browse at the trace files shows that the socket on file descriptor 4 becomes unreadable, returning a series of EAGAIN errors.

comment:5 Changed 4 years ago by dsd

Those EAGAINs are normal. It's non-blocking I/O, so the usual access pattern is when select() says you have data, you call read() and you continue to call read() until you get EAGAIN.

Strange bug.

comment:6 Changed 4 years ago by Quozl

  • Milestone changed from 1.0-software-update to 10.1.2

comment:7 Changed 4 years ago by dsd

This could well be a segfault in the dbus-spawned app, which would show up in "dmesg".

Also, please try to reproduce this on the latest build 10.1.2-851. http://wiki.laptop.org/go/Release_notes/10.1.2

comment:8 Changed 4 years ago by Quozl

  • Milestone changed from 10.1.2 to 10.1.3

comment:9 Changed 4 years ago by erikos

  • Milestone changed from 10.1.3 to Future Release

Moving out, decision in triage meeting.

Note: See TracTickets for help on using tickets.