[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