Description of problem: When testing fast user switching for the Fedora graphics testday I get segfaults. Version-Release number of selected component (if applicable): gnome-color- How reproducible: when switching users Steps to Reproduce: 1. Loging with user1 2. Switch to user2 3. Actual results: When switching to user2 a get "Oh no! Something has gone wrong." Expected results: successful to user2 Additional info: user1 has a color profile defined and loaded, user2 does not (just created for test day). scenario1: log in with user1 (with color profile). Everything ok. switch to user2 "Oh no..." Logout: back to working desktop of user1. [ 208.072819] gsettings-data-[2183]: segfault at 18 ip 00007fc8f256d252 sp 00007ffffd89f230 error 4 in libgio-2.0.so.0.2990.0[7fc8f24cc000+144000] [ 208.568917] gsettings-data-[2197]: segfault at 18 ip 00007fb31c1e0252 sp 00007fff2e09d870 error 4 in libgio-2.0.so.0.2990.0[7fb31c13f000+144000] [ 211.093913] gnome-settings-[2182]: segfault at 8 ip 00007fa9e5dcd62e sp 00007ffffd22abd0 error 4 in libcolor.so[7fa9e5dc4000+e000] [ 215.295664] gnome-settings-[2333]: segfault at 8 ip 00007faa3812662e sp 00007fff297af850 error 4 in libcolor.so[7faa3811d000+e000] scenario2: log in as user1 (no color profile) switch to user2 working desktop for user2 switch to user1 black screen....have to reboot Attached dmesg output with these proximate time marks: logged in as user1 (with color profile) 22:39 switch user 22:40:23 login as user2 22:40:30 Oh noh message 22:40:41 logout, prompt to loging as user1
Created attachment 522201 [details] relavant dmesg output
Can you get a backtrace please? You might have to use abrt to get it as I don't think there's a way of attaching to g-s-d as it's starting in another session. Thanks.
Only these dumps are created: Sep 9 12:33:44 develbox abrt[1477]: saved core dump of pid 1465 (/usr/bin/gsettings-data-convert) to /var/spool/abrt/ccpp-2011-09-09-12:33:43-1465.new/coredump (18022400 bytes) Sep 9 12:33:44 develbox abrtd: Directory 'ccpp-2011-09-09-12:33:43-1465' creation detected Sep 9 12:33:52 develbox abrtd: Dump directory is a duplicate of /var/spool/abrt/ccpp-2011-09-08-23:49:57-1469 Sep 9 12:33:52 develbox abrtd: Deleting dump directory ccpp-2011-09-09-12:33:43-1465 (dup of ccpp-2011-09-08-23:49:57-1469), sending dbus signal Sep 9 12:35:25 develbox abrt[2148]: saved core dump of pid 2139 (/usr/bin/gsettings-data-convert) to /var/spool/abrt/ccpp-2011-09-09-12:35:25-2139.new/coredump (18018304 bytes) Sep 9 12:35:25 develbox abrtd: Directory 'ccpp-2011-09-09-12:35:25-2139' creation detected Sep 9 12:35:26 develbox abrtd: Dump directory is a duplicate of /var/spool/abrt/ccpp-2011-09-08-21:55:32-2616 Sep 9 12:35:26 develbox abrtd: Deleting dump directory ccpp-2011-09-09-12:35:25-2139 (dup of ccpp-2011-09-08-21:55:32-2616), sending dbus signal Sep 9 12:35:29 develbox abrt[2224]: saved core dump of pid 2137 (/usr/libexec/gnome-settings-daemon) to /var/spool/abrt/ccpp-2011-09-09-12:35:28-2137.new/coredump (55009280 bytes) Sep 9 12:35:29 develbox abrtd: Directory 'ccpp-2011-09-09-12:35:28-2137' creation detected Sep 9 12:35:29 develbox abrtd: Corrupted or bad dump /var/spool/abrt/ccpp-2011-09-09-12:35:28-2137 (res:2), deleting Sep 9 12:37:00 develbox abrt[2417]: saved core dump of pid 1534 (/usr/bin/gnome-screensaver) to /var/spool/abrt/ccpp-2011-09-09-12:37:00-1534.new/coredump (20787200 bytes) Sep 9 12:37:00 develbox abrtd: Directory 'ccpp-2011-09-09-12:37:00-1534' creation detected Sep 9 12:37:00 develbox abrtd: Corrupted or bad dump /var/spool/abrt/ccpp-2011-09-09-12:37:00-1534 (res:2), deleting Which one should be the one?
It seems I cannot get a proper dump for g-s-d: Sep 9 13:45:08 develbox abrt[3374]: saved core dump of pid 3306 (/usr/libexec/gnome-settings-daemon) to /var/spool/abrt/ccpp-2011-09-09-13:45:07-3306.new/coredump (54996992 bytes) Sep 9 13:45:08 develbox abrtd: Directory 'ccpp-2011-09-09-13:45:07-3306' creation detected Sep 9 13:45:08 develbox abrtd: Package 'gnome-settings-daemon' isn't signed with proper key Sep 9 13:45:08 develbox gnome-session[3154]: WARNING: Application 'gnome-settings-daemon.desktop' killed by signal Sep 9 13:45:08 develbox abrtd: Corrupted or bad dump /var/spool/abrt/ccpp-2011-09-09-13:45:07-3306 (res:2), deleting Sep 9 13:51:48 develbox kernel: [ 136.662654] gnome-settings-[2209]: segfault at 8 ip 00007f11cc1e962e sp 00007fff3eb3a7f0 error 4 in libcolor.so[7f11cc1e0000+e000] Sep 9 13:51:48 develbox abrt[2244]: not dumping repeating crash in '/usr/libexec/gnome-settings-daemon' Sep 9 13:51:48 develbox gnome-session[1902]: WARNING: App 'gnome-settings-daemon.desktop' respawning too quickly
when I remove the color profile for user1 I can switch to user2 without getting the "Oh no...". As soon as I activate the same color profile for user2 I get "Oh no.." and I am thrown back to user1.
OK, I found the problem. When user1 adds a color profile from his/her local home directory user2 has no access to this profile. Even when user2 has the same profile in her/his directory it does not work. The only thing that makes it work is putting the profile in /usr/share/color/icc. Then is works for both users. imho there are two solutions to this problem: 1. when I user adds a profile it is put in /usr/share/color/icc so other users use it automatically 2. Each user has it own color settings, if one users add a profile it does not affect the settings of other users. I think it should be solution 2 and my guess is that it was intended that way :)
(In reply to comment #6) > 2. Each user has it own color settings, if one users add a profile it does not > affect the settings of other users. This is what's supposed to happen. I'm debugging this now, thanks.
I've applied this upstream: commit e24d4df228e07f89598017c89e3102c80e761dfd Author: Richard Hughes <richard> Date: Fri Sep 9 14:52:07 2011 +0100 color: Do not segfault when doing fast-user-switching into a new account This prevents the crash, but we need to look at the correct behavior for FUS and when to apply the color profile for the new user. Resolves https://bugzilla.redhat.com/show_bug.cgi?id=736846 I'll think about how we can do FUS in a sane way tonight.
commit e2e05f1966c67c54cc8b191698776fc11f107227 Author: Richard Hughes <richard> Date: Fri Sep 9 16:44:52 2011 +0100 color: Use a username suffix on the profile ID This allows fast user switching to work correctly when both sessions want to use the same profile and the profile is not set system-wide. This properly fixes https://bugzilla.redhat.com/show_bug.cgi?id=736846
Retested with F16Beta with today's updates gnome-color-manager-3.2.0-3 Scenario: user1, added color profile from home dir, gets added to ~/.local/share/icc/ switch to user2 no crash :) check color settings. The same profile (seems to be) is active as for user1 although it is not installed for user2. Is this the intended behaviour? When I switch to another color profile for user2 nothing happens. switch back to user1 switching color profiles works. switch back to user2 black screen, after doing a ctrl-alt-f1 (to get a terminal to see what is happening) I got thrown back to password lock screen for user1.
(In reply to comment #10) > Retested with F16Beta with today's updates > gnome-color-manager-3.2.0-3 You need gnome-settings-daemon 3.2.0 or newer. Richard.
gnome-settings-daemon-3.2.0-1 was installed during testing. When I change the color profile for user2 is does not have any effect. When I switch to user1 this color profile is set for him/her as well but here it works.
This works for me now using the latest F16 packages.