[Sugar-devel] Questions about GConf and ORBit.

Michael Stone michael at laptop.org
Thu Jul 2 23:34:07 EDT 2009


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?

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

Regards,

Michael

P.S. - Interesting reading: 

   http://blog.fishsoup.net/2009/06/07/hacking-local-defaults-into-gconf/ 
-------------- next part --------------
/usr/bin/sudo -E -- /usr/bin/rainbow-run -v -v -a /usr/bin/rainbow-sugarize -s /var/spool/rainbow/2 -f 1 -f 2 -c /usr/share/sugar/activities/Chat.activity -u sugar -i org.laptop.Chat -e /tmp/tmpaAPgeN -- sugar-activity pippy_app.Chat -b org.laptop.Chat -a 5fb7b60ee4635e7e67161464dab772656c660274

resuming uid (64002)
rainbow:
(<function report at 0xb7b4c684>,
 '/var/spool/rainbow/2',
 {'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-Yk6Co1qS9e,guid=fce2be94a630405102e085bc4a4d6a08',
  'DISPLAY': 'localhost:1',
  'GTK2_RC_FILES': '/usr/share/sugar/data/sugar-100.gtkrc',
  'HISTCONTROL': 'ignoreboth',
  'HOME': '/home/sugar',
  'LANG': 'en_US.UTF-8',
  'LM_DEBUG': 'net',
  'LOGNAME': 'sugar',
  'LS_COLORS': 'rs=0:di=01;34:ln=01;36:hl=44;37:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=0',
  'MAIL': '/var/mail/sugar',
  'PATH': '/usr/share/sugar/activities/Chat.activity/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games',
  'PWD': '/home/sugar',
  'SESSION_MANAGER': 'local/heat:@/tmp/.ICE-unix/21077,unix/heat:/tmp/.ICE-unix/21077',
  'SHELL': '/bin/bash',
  'SHLVL': '2',
  'SUDO_COMMAND': '/usr/sbin/chroot /home/mstone/sid-root /bin/bash -l',
  'SUDO_GID': '1000',
  'SUDO_UID': '1000',
  'SUDO_USER': 'root',
  'SUGAR_ACTIVITY_ROOT': '/home/sugar/.sugar/default/org.laptop.Chat',
  'SUGAR_BUNDLE_ID': 'org.laptop.Chat',
  'SUGAR_BUNDLE_PATH': '/usr/share/sugar/activities/Chat.activity',
  'SUGAR_LOGGER_LEVEL': 'debug',
  'SUGAR_SCALING': '100',
  'TERM': 'xterm',
  'TZ': 'UTC',
  'USER': 'sugar',
  'USERNAME': 'root'},
 ['sugar-activity',
  'pippy_app.Chat',
  '-b',
  'org.laptop.Chat',
  '-a',
  '5fb7b60ee4635e7e67161464dab772656c660274'],
 '/usr/share/sugar/activities/Chat.activity',
 <rainbow.permissions.permlist.PermissionSet object at 0xb7b4dbec>,
 [1, 2],
 64002,
 64002,
 None,
 [],
 ['org.laptop.Chat'],
 '/usr/bin/rainbow-sugarize',
 False)
added owner (64002) and uid (10012) to gid (10016)
reserved gid (10017) for tag org.laptop.Chat
added owner (64002) and uid (10012) to gid (10010)
maybe_add_gid owner: sugar members: ['10007', 'sugar'] result: True
Dropping privilege to run assistant.
Closing fds.
Running assistant.
['/usr/bin/rainbow-sugarize', '-v', '-v', '-v', '-u', '10012', '-e', '/tmp/tmppmNNuH'] {'SUGAR_BUNDLE_PATH': '/usr/share/sugar/activities/Chat.activity', 'SUGAR_SCALING': '100', 'LM_DEBUG': 'net', 'LOGNAME': 'sugar', 'USER': 'sugar', 'PATH': '/usr/share/sugar/activities/Chat.activity/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games', 'HOME': '/home/sugar', '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', 'SUDO_USER': 'root', 'USERNAME': 'root', 'SUDO_UID': '1000', 'SUGAR_ACTIVITY_ROOT': '/home/sugar/.sugar/default/org.laptop.Chat', '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/sbin/chroot /home/mstone/sid-root /bin/bash -l', 'SUDO_GID': '1000', 'HISTCONTROL': 'ignoreboth', 'PWD': '/home/sugar', 'MAIL': '/var/mail/sugar', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:hl=44;37:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.Sugarizing isolated uid 10012.
Sugarizing envdir /tmp/tmppmNNuH.
-E USER=10012
-E HOME=/var/spool/rainbow/2/uid_to_home_dir/10012
-E ICEAUTHORITY=/var/spool/rainbow/2/uid_to_home_dir/10012/.ICEauthority
-E SUGAR_ACTIVITY_ROOT=/var/spool/rainbow/2/uid_to_home_dir/10012
-E DISPLAY=localhost:1
resuming uid (64002)
rainbow:
(<function report at 0xb7b4c684>,
 '/var/spool/rainbow/2',
 {'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-Yk6Co1qS9e,guid=fce2be94a630405102e085bc4a4d6a08',
  'DISPLAY': 'localhost:1',
  'GTK2_RC_FILES': '/usr/share/sugar/data/sugar-100.gtkrc',
  'HISTCONTROL': 'ignoreboth',
  'HOME': '/home/sugar',
  'LANG': 'en_US.UTF-8',
  'LM_DEBUG': 'net',
  'LOGNAME': 'sugar',
  'LS_COLORS': 'rs=0:di=01;34:ln=01;36:hl=44;37:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=0',
  'MAIL': '/var/mail/sugar',
  'PATH': '/usr/share/sugar/activities/Chat.activity/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games',
  'PWD': '/home/sugar',
  'SESSION_MANAGER': 'local/heat:@/tmp/.ICE-unix/21077,unix/heat:/tmp/.ICE-unix/21077',
  'SHELL': '/bin/bash',
  'SHLVL': '2',
  'SUDO_COMMAND': '/usr/sbin/chroot /home/mstone/sid-root /bin/bash -l',
  'SUDO_GID': '1000',
  'SUDO_UID': '1000',
  'SUDO_USER': 'root',
  'SUGAR_ACTIVITY_ROOT': '/home/sugar/.sugar/default/org.laptop.Chat',
  'SUGAR_BUNDLE_ID': 'org.laptop.Chat',
  'SUGAR_BUNDLE_PATH': '/usr/share/sugar/activities/Chat.activity',
  'SUGAR_LOGGER_LEVEL': 'debug',
  'SUGAR_SCALING': '100',
  'TERM': 'xterm',
  'TZ': 'UTC',
  'USER': 'sugar',
  'USERNAME': 'root'},
 ['sugar-activity',
  'pippy_app.Chat',
  '-b',
  'org.laptop.Chat',
  '-a',
  '5fb7b60ee4635e7e67161464dab772656c660274'],
 '/usr/share/sugar/activities/Chat.activity',
 <rainbow.permissions.permlist.PermissionSet object at 0xb7b4dbec>,
 [1, 2],
 64002,
 64002,
 None,
 [],
 ['org.laptop.Chat'],
 '/usr/bin/rainbow-sugarize',
 False)
added owner (64002) and uid (10012) to gid (10016)
reserved gid (10017) for tag org.laptop.Chat
added owner (64002) and uid (10012) to gid (10010)
maybe_add_gid owner: sugar members: ['10007', 'sugar'] result: True
Assistant returned 0.
pid 21590  uid 0
Mounting tmpfsen on /var/tmp and... drat; /tmp kills the X socket. :( <MS>
dropping privilege to (10012, 10016, [10016, 10010])
chdir to /usr/share/sugar/activities/Chat.activity
umask(0)
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


More information about the Sugar-devel mailing list