Description of problem: KDE's ksmserver treats firefox as a 'legacy' app when saving the session during shutdown; this makes firefox's own session saving more likely to fail. This worked properly in Fedora 14, but not in F15+. It doesn't look like it's a firefox regression or a kde regression so I'm fingering libSM for now. Firefox on a kde desktop on a low-powered amd brazos machine constantly loads up with the "Oops, this is embarassing" message when launched from the ksm session restore (on login). Some investigation (of ksmserverrc and .xsession-errors, see attached files) reveals that this is because ksmserver treats it as a 'legacy' app, whatever that means, and it look like legacy apps only get 4 seconds to shut themselves down before being killed, rather than the (I think) 10 seconds apps normally get. I'm pretty sure firefox didn't use to be a legacy app and checking with old livecds reveales that I'm right - ksmserver in Fedora 14 treats firefox just like any other app, but this changes in F15 and persists through to F17. See http://lxr.kde.org/source/kde/kde-workspace/ksmserver/ for what ksmserver is doing - the relevant files are shutdown.cpp and legacy.cpp I thought that this could be due to F14 staying with firefox 3.6, but I tried with the up-to-date remi version (http://blog.famillecollet.com/) and: F14-Fx3.6 NORMAL F14-remiFx12 NORMAL F15-Fx4 LEGACY F15-Fx12 LEGACY F15-remiFx12 LEGACY F16-Fx13 LEGACY F17-Fx13 LEGACY (F15-remiFx12 is with remi's srpm rebuilt for F15). So it's not something introduced in newer firefox versions and it's not a difference between the fedora and remi builds of firefox. The Fedora 14 results remain unchanged when installing and fully updating the system. The Fedora 15 livecd has similar kde packages to a fully updated Fedora 14 system, so the problem may lie elsewhere. Last known good packages: xulrunner-1.9.2.24-1.fc14.x86_64 firefox-3.6.24-1.fc14.x86_64 kdelibs-4.6.5-8.fc14.x86_64 kdebase-workspace-4.6.5-5.fc14.x86_64 qt-4.7.4-7.fc14.x86_64 libX11-1.3.4-4.fc14.x86_64 libSM-1.1.0-7.fc12.x85_64 xorg-x11-server-Xorg-1.9.5-2.fc14.x86_64 First known bad packages: xulrunner-2.0.1-1.fc15.x86_64 firefox-4,0.1-1.fc15.x86_64 kdelibs-4.6.2-5.fc15.x86_64 kdebase-workspace-4.6.2-6.fc15.x86_64 qt-4.7.2-8.fc15.x86_64 libX11-1.4.3-1.fc15.x86_64 libSM-1.2.0-2.fc15.x85_64 xorg-x11-server-Xorg-1.10.1-14.fc15.x86_64 Current packages: xulrunner-13.0-1.fc17.x86_64 firefox-13.0-1.fc17.x86_64 kdelibs-4.8.3-1.fc17.x86_64 kde-workspace-4.8.3-3.fc17.x86_64 qt-4.8.2-2.fc17.x86_64 libX11-1.4.99.901-2.fc17.x86_64 libSM-1.2.1-1.fc17.x86_64 xorg-x11-server-Xorg-1.12.0-5.fc17.x86_64 Based on these package versions, I suspect that the regression is in libSM.
Created attachment 591276 [details] F14 .kde/share/config/ksmserverrc showing firefox in Sessions saved and no entries in LegacySession
Created attachment 591282 [details] F14 'grep ksm .xsession-errors' showing shutdown process with no legacy session apps
Created attachment 591283 [details] F16 .kde/share/config/ksmserverrc showing firefox in LegacySession
Created attachment 591285 [details] F16 'grep ksm .xsession-errors' showing shutdown process with one legacy session app and firefox missing from the list of normal programs
Forgot to state clearly how to reproduce this: This can be easily reproduced by booting the KDE live image in a VM, installing firefox, launching it and then logging out. And then examining ~/.kde/share/config/ksmserverrc. You can also see the ksmserver output in ~/.xsession-errors after launching 'kdebugdialog' from the command-line, unticking 'Disable all debug output', (and optionally clicking 'Deselect All') and searching for 'ksm' to find the entries to select to see debug messages from ksmsever on the next login.
I installed libSM-1.2.0-2.fc15 from the F14 live image but couldn't then trigger the 'legacy app' issue. So perhaps the regression isn't in libSM after all. Any ideas?
So this is apparently because firefox still relies on libgnome(ui) for its session-saving support - see https://bugzilla.mozilla.org/show_bug.cgi?id=694570 - but does not Require it. Session-saving worked on the F14 KDE image because libgnome was installed, in F15 onwards it's gone. I'm not sure when things changed on the default/gnome live image, but firefox session-saving is broken in the same way on the F17 gnome spin. I confirmed that this is the cause of the issue by removing libgnome from a F14 install (and seeing session-saving break) and by adding libgnomeui to a F15 install (and seeing session-saving fixed). Note: A better way to test this issue is to use xprop to get WM_CLIENT_LEADER and then use it with 'xprop -id ID | grep SM_CLIENT_ID' to check whether firefox has session-saving support.
Thanks for the workaround Oliver! It's a relief to not have Firefox give me the "Oops, that was embarrassing" dialog every time I start it up after logging out.
This message is a reminder that Fedora 17 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 17. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '17'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 17's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 17 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior to Fedora 17's end of life. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 17 changed to end-of-life (EOL) status on 2013-07-30. Fedora 17 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed.