[Sugar-devel] Questions about GConf and ORBit.

Tomeu Vizoso tomeu at sugarlabs.org
Fri Jul 3 09:27:46 EDT 2009


2009/7/3 Michael Stone <michael at laptop.org>:
> Dear sugar-devel, (and Tomeu and Simon in particular),
>
> I decided to spend a few hours this evening investigating the state of
> rainbow+sugar.
>
> My current results are based on tests performed in a Debian Squeeze chroot
> constructed according to the procedures I wrote down at
>
>  http://wiki.sugarlabs.org/go/Development_Team/Chroot
>
> Today, these procedures wound up installing
>
>  education-desktop-sugar 0.837
>  python-sugar-0.84 0.84.1-1
>  python-sugar-toolkit-0.84 0.84.4-3
>
> and a variety of other things.
>
> I then installed rainbow according to the source code installation instructions
> at
>
>  http://wiki.laptop.org/go/Rainbow/Installation_Instructions
>
> and installed the sugar and sugar-toolkit patches:
>
>  curl 'http://dev.laptop.org/git/users/mstone/sugar/patch/?id=71df9fadd59ea5cc08a414f5d25a0135395533e5' | patch /usr/share/pyshared/jarabe/view/service.py
>  curl 'http://dev.laptop.org/git/users/mstone/sugar-toolkit/patch/?id=a65c8d2148ba5028437114049027e594238f2ed8' | patch /usr/share/pyshared/sugar/activity/activityfactory.py
>
> that Sascha and I wrote a few months ago.
>
> Then I ran
>
>  touch /etc/olpc-security
>
> to tell sugar to try to use rainbow.
>
> Then, after commenting out a few lines in /usr/bin/rainbow-sugarize, (notably,
> handling of XAUTHORITY, .sugar/config, and TMPDIR), I ran into the following
> persistent activity-launch failure:
>
> (See attached log for full details; the interesting bit is excerpted below.)
>
> -------------------------------------------------------------------------------
> ...
> about to execve
> argv: ['sugar-activity', 'pippy_app.Chat', '-b', 'org.laptop.Chat', '-a', '5fb7b60ee4635e7e67161464dab772656c660274']
> env: {'SUGAR_BUNDLE_PATH': '/usr/share/sugar/activities/Chat.activity', 'SUGAR_SCALING': '100', 'LM_DEBUG': 'net', 'LOGNAME': 'sugar', 'USER': '10012', 'PATH': '/usr/share/sugar/activities/Chat.activity/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games', 'HOME': '/var/spool/rainbow/2/uid_to_home_dir/10012', 'DISPLAY': 'localhost:1', 'LANG': 'en_US.UTF-8', 'TERM': 'xterm', 'SHELL': '/bin/bash', 'TZ': 'UTC', 'SESSION_MANAGER': 'local/heat:@/tmp/.ICE-unix/21077,unix/heat:/tmp/.ICE-unix/21077', 'SHLVL': '2', 'ICEAUTHORITY': '/var/spool/rainbow/2/uid_to_home_dir/10012/.ICEauthority', 'SUDO_USER': 'root', 'USERNAME': 'root', 'SUDO_UID': '1000', 'SUGAR_ACTIVITY_ROOT': '/var/spool/rainbow/2/uid_to_home_dir/10012', 'SUGAR_LOGGER_LEVEL': 'debug', 'GTK2_RC_FILES': '/usr/share/sugar/data/sugar-100.gtkrc', 'SUGAR_BUNDLE_ID': 'org.laptop.Chat', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-Yk6Co1qS9e,guid=fce2be94a630405102e085bc4a4d6a08', 'SUDO_COMMAND': '/usr/sbin1246589388.964848 DEBUG root: *** Act 5fb7b60ee4635e7e67161464dab772656c660274, mesh instance None, scope private
> 1246589388.975903 DEBUG root: Creating a jobject.
> Traceback (most recent call last):
>  File "/usr/bin/sugar-activity", line 21, in <module>
>    main.main()
>  File "/usr/lib/python2.5/site-packages/sugar/activity/main.py", line 140, in main
>    create_activity_instance(activity_constructor, activity_handle)
>  File "/usr/lib/python2.5/site-packages/sugar/activity/main.py", line 34, in create_activity_instance
>    activity = constructor(handle)
>  File "/usr/share/sugar/activities/Chat.activity/pippy_app.py", line 54, in __init__
>    super(Chat, self).__init__(handle)
>  File "/usr/share/sugar/activities/Chat.activity/activity.py", line 22, in __init__
>    super(ViewSourceActivity, self).__init__(handle)
>  File "/usr/lib/python2.5/site-packages/sugar/activity/activity.py", line 556, in __init__
>    icon_color = client.get_string('/desktop/sugar/user/color')
> glib.GError: Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See http://projects.gnome.org/gconf/ for information. (Details -  1: Server ping error: IDL:omg.org/CORBA/COMM_FAILURE:1.0)
> 1246589389.150681 DEBUG root: _cleanup_temp_files
> Activity died: pid 21590 condition 256 data 5fb7b60ee4635e7e67161464dab772656c660274
>
> -------------------------------------------------------------------------------
>
> Based on this traceback and a quick round of Googling, it seems likely to me
> that at least one of gconf or orbit is assuming that human operators have only
> one uid.
>
> Hence two questions:
>
>  1. Do you know anything about such an assumption?

No, but I don't see that in the logs. What I see is one process trying
and failing to access GConf. Is there a GConf daemon running? Either
using Orbit or D-Bus? If so, what's the mechanism used by clients to
contact the daemon? Maybe an env var is missing?

>  2. Are more bleeding-edge versions of Sugar still using gconf-over-orbit?

Sugar is a normal GConf client in this regard. My understanding is
that if it links to the D-Bus client library, it will use D-Bus. Orbit
otherwise.

HTH,

Tomeu

> Regards,
>
> Michael
>
> P.S. - Interesting reading:
>  http://blog.fishsoup.net/2009/06/07/hacking-local-defaults-into-gconf/
>
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
>
>


More information about the Sugar-devel mailing list