When an application is "running" in the systray (e.g. kxkb) at logout and the session manager (CVS20040601) tries to restart it at next login, the session won't start up but terminates (although at a very late state) and you get back to the login screen. This seems to be the case with any systray app, so I presume it's a general xfce4-session bug.
Ok, weird bug, but easy to fix. The problem is that once the first KDE application is started, it will run kdeinit (and a bunch of other daemons) which will also connect to the session manager, though they were not explicitly started by the sm. This confused xfce4-session and caused a segfault. Its fixed now, though not yet committed, cause my sandbox is kind of broken ATM. Anyway, this is something about KDE thats really annoying. It can cause several other problems if the kdeinit process itself is managed by the session manager. Therefore I added the KDE compatibility to xfce4-session to avoid such problems. Please enable "Launch KDE services on startup" if you plan to use KDE applications.
Committed, should be fixed now.
Ok, Nick, I need your help tracking the problem: Please set the environment variable XFSM_VERBOSE prior to starting xfce4-session. Then after the session manager crashed, append the file ~/.xfce4-session.verbose-log to this bug report, so I can have a look at it. In addition, it'd be helpful if you could compile xfce4-session with debugging enabled (--enable-debug=full) and send me the backtrace of the core dump.
Hi Benedikt, sorry I've been so little verbose last time. The latest CVS version didn't compile out of the box with --enable-debug=full, I had to comment out an unused variable (maybe this is intended). Nevertheless, here comes the output in .xfce4-session.verbose-log, with --enable-debug=full enabled. But I'm afraid the problem is more subtle. I tried session management with a kde systray app (kxkb) and the formerly mentioned qt-only app (pgcalc2). When I start kxkb with xfce4 running, the panel freezes/crashes. Hm, well. I have to kill -s 9 it to restart the panel. After restarting it manually, kxkb comes up normally, the panel is fully functional. But when I login next time, the session seems to actually crash, the "Your session has lasted less than 10 seconds..." message appears. With pgcalc2 the behaviour is just as I described it in the first bug report: the "crash" appears very late in the startup process, just when the session-manager background disappears (so maybe this problem is not related to xfce4-session only). Could you please tell my where xfce4-session core-dumps? ### .xfce4-session.verbose-log with kxbd -- start Session "Default" loaded successfully. Manager startup continues [Previous Id = None] ICE connection fd = 6, received NEW CLIENT ICE connection fd = 6, received REGISTER CLIENT [Previous Id = 11c0a80023000108612061000000025820000] Manager startup continues [Previous Id = 11c0a80023000108612061000000025820000] Client Id = 11c0a80023000108612061000000025820000, received SET PROPERTIES [Num props = 6] Name: Program Type: ARRAY8 Value: xfwm4 Name: UserID Type: ARRAY8 Value: narend Name: RestartStyleHint Type: CARD8 Value: 0 Name: ProcessID Type: ARRAY8 Value: 30051 Name: CurrentDirectory Type: ARRAY8 Value: /home/narend Name: _GSM_Priority Type: CARD8 Value: 20 ICE connection fd = 7, received NEW CLIENT ICE connection fd = 7, received REGISTER CLIENT [Previous Id = 11c0a80023000108612061100000025820002] Manager startup continues [Previous Id = 11c0a80023000108612061100000025820002] Client Id = 11c0a80023000108612061100000025820002, received SET PROPERTIES [Num props = 6] Name: Program Type: ARRAY8 Value: xftaskbar4 Name: UserID Type: ARRAY8 Value: narend Name: RestartStyleHint Type: CARD8 Value: 0 Name: ProcessID Type: ARRAY8 Value: 30054 Name: CurrentDirectory Type: ARRAY8 Value: /home/narend Name: _GSM_Priority Type: CARD8 Value: 30 ICE connection fd = 8, received NEW CLIENT ICE connection fd = 8, received REGISTER CLIENT [Previous Id = 11c0a80023000108612061200000025820003] Manager startup continues [Previous Id = 11c0a80023000108612061200000025820003] Client Id = 11c0a80023000108612061200000025820003, received SET PROPERTIES [Num props = 6] Name: Program Type: ARRAY8 Value: xfdesktop Name: UserID Type: ARRAY8 Value: narend Name: RestartStyleHint Type: CARD8 Value: 0 Name: ProcessID Type: ARRAY8 Value: 30056 Name: CurrentDirectory Type: ARRAY8 Value: /home/narend Name: _GSM_Priority Type: CARD8 Value: 35 ICE connection fd = 9, received NEW CLIENT ICE connection fd = 9, received REGISTER CLIENT [Previous Id = 11c0a80023000108612328500000295930002] Manager startup continues [Previous Id = 11c0a80023000108612328500000295930002] Client Id = 11c0a80023000108612328500000295930002, received SET PROPERTIES [Num props = 6] Name: Program Type: ARRAY8 Value: xfce4-panel Name: UserID Type: ARRAY8 Value: narend Name: RestartStyleHint Type: CARD8 Value: 0 Name: ProcessID Type: ARRAY8 Value: 30058 Name: CurrentDirectory Type: ARRAY8 Value: /home/narend Name: _GSM_Priority Type: CARD8 Value: 40 ICE connection fd = 10, received NEW CLIENT ICE connection fd = 10, received REGISTER CLIENT [Previous Id = None] ### .xfce4-session.verbose-log with kxbd -- end ### .xfce4-session.verbose-log with pgcalc2 -- start Session "Default" loaded successfully. Manager startup continues [Previous Id = None] ICE connection fd = 6, received NEW CLIENT ICE connection fd = 6, received REGISTER CLIENT [Previous Id = 11c0a80023000108612061000000025820000] Manager startup continues [Previous Id = 11c0a80023000108612061000000025820000] Client Id = 11c0a80023000108612061000000025820000, received SET PROPERTIES [Num props = 6] Name: Program Type: ARRAY8 Value: xfwm4 Name: UserID Type: ARRAY8 Value: narend Name: RestartStyleHint Type: CARD8 Value: 0 Name: ProcessID Type: ARRAY8 Value: 30592 Name: CurrentDirectory Type: ARRAY8 Value: /home/narend Name: _GSM_Priority Type: CARD8 Value: 20 ICE connection fd = 7, received NEW CLIENT ICE connection fd = 7, received REGISTER CLIENT [Previous Id = 11c0a80023000108612061100000025820002] Manager startup continues [Previous Id = 11c0a80023000108612061100000025820002] Client Id = 11c0a80023000108612061100000025820002, received SET PROPERTIES [Num props = 6] Name: Program Type: ARRAY8 Value: xftaskbar4 Name: UserID Type: ARRAY8 Value: narend Name: RestartStyleHint Type: CARD8 Value: 0 Name: ProcessID Type: ARRAY8 Value: 30595 Name: CurrentDirectory Type: ARRAY8 Value: /home/narend Name: _GSM_Priority Type: CARD8 Value: 30 ICE connection fd = 8, received NEW CLIENT ICE connection fd = 8, received REGISTER CLIENT [Previous Id = 11c0a80023000108612061200000025820003] Manager startup continues [Previous Id = 11c0a80023000108612061200000025820003] Client Id = 11c0a80023000108612061200000025820003, received SET PROPERTIES [Num props = 6] Name: Program Type: ARRAY8 Value: xfdesktop Name: UserID Type: ARRAY8 Value: narend Name: RestartStyleHint Type: CARD8 Value: 0 Name: ProcessID Type: ARRAY8 Value: 30597 Name: CurrentDirectory Type: ARRAY8 Value: /home/narend Name: _GSM_Priority Type: CARD8 Value: 35 ICE connection fd = 9, received NEW CLIENT ICE connection fd = 9, received REGISTER CLIENT [Previous Id = 11c0a80023000108612328500000295930002] Manager startup continues [Previous Id = 11c0a80023000108612328500000295930002] Client Id = 11c0a80023000108612328500000295930002, received SET PROPERTIES [Num props = 6] Name: Program Type: ARRAY8 Value: xfce4-panel Name: UserID Type: ARRAY8 Value: narend Name: RestartStyleHint Type: CARD8 Value: 0 Name: ProcessID Type: ARRAY8 Value: 30599 Name: CurrentDirectory Type: ARRAY8 Value: /home/narend Name: _GSM_Priority Type: CARD8 Value: 40 ICE connection fd = 10, received NEW CLIENT ICE connection fd = 10, received REGISTER CLIENT [Previous Id = 11c0a80023000108612363100000301090000] Manager startup continues [Previous Id = 11c0a80023000108612363100000301090000] ICE connection fd = 11, received NEW CLIENT ICE connection fd = 11, received REGISTER CLIENT [Previous Id = 11c0a80023000108612277400000284950002] Manager startup continues [Previous Id = 11c0a80023000108612277400000284950002] Manager finished startup, entering IDLE mode now Client Id = 11c0a80023000108612277400000284950002, received SET PROPERTIES [Num props = 5] Name: CloneCommand Type: LISTofARRAY8 Name: Program Type: ARRAY8 Value: xterm Name: RestartCommand Type: LISTofARRAY8 Name: UserID Type: ARRAY8 Value: narend Name: ProcessID Type: ARRAY8 Value: 30604 ICE connection fd = 12, received NEW CLIENT ICE connection fd = 12, received REGISTER CLIENT [Previous Id = None] ### .xfce4-session.verbose-log with pgcalc2 -- end
hm, the log looks ok, except for xterm, but xterm is known to be buggy with session management. xfce4-session dumps a core file to the directory it was started from (usually your home directory). You may have to rise the core file limit first (ulimit -c unlimited for sh/ksh/zsh).
Oh, and btw. wheres this unused variable?
I compiled the latest CVS, and in version 4.1.8 of xfce4-session at least the "unused variable" thing has vanished. Nevertheless, the behaviour is very unpredictable. First, the panel crashes/freezes when I start kxkb during an xfce4 session, but that I should rather report as a panel bug I guess. But I can't really reproduce the xfce-session "crash" every time. There is no core dump, so xfce4-session doesn't actually seem to crash. Attached please find the output when starting xfce4 manually from the console. There are some parts missing (mainly qt/kde output if I remember correctly), but I wasn't able to reproduce the exact same output again. I started xfce4 via startxfce4 several times in a row, and since I presume the information in .cache/sessions/xfce4-session-... didn't change, I expected xfce4-session to behave the same at every startup. As a matter of fact, it didn't. It actually started up normally one time, with the systray app kxkb running, but the panel was frozen. I'm sorry I can't be more specific, but I guess there are a few things interacting making this hard to track. It's very late right now, I will be on it again tomorrow or next week and try to find out more. Nick. Release Date: 18 December 2003 X Protocol Version 11, Revision 0, Release 6.7 Build Operating System: Linux 2.4.21-14.ELsmp i686 [ELF] Current Operating System: Linux fred.localdomain 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004 i686 Build Date: 07 May 2004 Build Host: tweety.build.redhat.com Before reporting problems, check http://wiki.X.Org to make sure that you have the latest version. Module Loader present OS Kernel: Linux version 2.6.5-1.358 (bhcompile@bugs.build.redhat.com) (gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)) #1 Sa t May 8 09:04:50 EDT 2004 Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Sun Jun 6 00:18:11 2004 (==) Using config file: "/etc/X11/xorg.conf" xfce4-session: Session Manager running in verbose mode. GetModeLine - scrn: 0 clock: 108000 GetModeLine - hdsp: 1400 hbeg: 34208 hend: 34320 httl: 1688 vdsp: 1050 vbeg: 1050 vend: 1053 vttl: 1066 flags: -2147483648 ** Message: xfwm4: Workspace count not set, using rc value: 6 -- snip -- (xftaskbar4:31141): libxfcegui4-WARNING **: ICE I/O Error (xftaskbar4:31141): libxfcegui4-WARNING **: Disconnected from session manager. ICE default IO error handler doing an exit(), pid = 31143, errno = 0 ICE default IO error handler doing an exit(), pid = 31145, errno = 0 xscreensaver: SIGHUP received: restarting... xscreensaver: running as narend/narend (501/501) GetModeLine - scrn: 0 clock: 108000 GetModeLine - hdsp: 1400 hbeg: 34208 hend: 34320 httl: 1688 vdsp: 1050 vbeg: 1050 vend: 1053 vttl: 1066 flags: -2147483648 kdeinit: Fatal IO error: client killed klauncher: Exiting on signal 15 The application 'xfce-mcs-manager' lost its connection to the display :0.0; most likely the X server was shut down or you killed/destroyed the application. xfwm4: Fatal IO error 104 (Connection reset by peer) on X server :0.0. kded: Fatal IO error: client killed waiting for X server to shut down X connection to :0.0 broken (explicit kill or server shutdown).
Please look at the messages you "-- snip --"ed, there should be atleast one message from xfce4-session.
Here comes the full output. For comparison I attached two versions, one of a login with kxkb to be started (leads to "crash"), and one of a "sane" session start (without kxkb). ## Crash output -- start /usr/bin/startxfce4: Starting X server Release Date: 18 December 2003 X Protocol Version 11, Revision 0, Release 6.7 Build Operating System: Linux 2.4.21-14.ELsmp i686 [ELF] Current Operating System: Linux pc-narend.admin.frm2 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004 i686 Build Date: 07 May 2004 Build Host: tweety.build.redhat.com Before reporting problems, check http://wiki.X.Org to make sure that you have the latest version. Module Loader present OS Kernel: Linux version 2.6.5-1.358 (bhcompile@bugs.build.redhat.com) (gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)) #1 Sat May 8 09:04:50 EDT 2004 Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jun 7 15:38:13 2004 (==) Using config file: "/etc/X11/xorg.conf" GetModeLine - scrn: 0 clock: 108000 GetModeLine - hdsp: 1400 hbeg: 34208 hend: 34320 httl: 1688 vdsp: 1050 vbeg: 1050 vend: 1053 vttl: 1066 flags: -2147483648 ** Message: xfwm4: Workspace count not set, using rc value: 6 (xfce4-panel:13299): Gtk-WARNING **: Theme file for default has no name (xfce4-panel:13299): Gtk-CRITICAL **: file gtkbox.c: line 374 (gtk_box_pack_start): assertion `child->parent == NULL' failed (xfce4-panel:13299): Gtk-CRITICAL **: file gtkbox.c: line 374 (gtk_box_pack_start): assertion `child->parent == NULL' failed ** Message: xfce4-panel: Successfully started with session management (xfdesktop:13297): Gtk-WARNING **: Theme file for default has no name QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used kbuildsycoca running... (xfwm4:13293): libxfcegui4-WARNING **: ICE I/O Error (xfwm4:13293): libxfcegui4-WARNING **: Disconnected from session manager. (xfce4-panel:13299): libxfcegui4-WARNING **: ICE I/O Error (xfce4-panel:13299): libxfcegui4-WARNING **: Disconnected from session manager. (xftaskbar4:13295): libxfcegui4-WARNING **: ICE I/O Error (xftaskbar4:13295): libxfcegui4-WARNING **: Disconnected from session manager. DCOP aborting while waiting for answer from 'kxkb' xscreensaver: SIGHUP received: restarting... xscreensaver: running as narend/narend (501/501) The application 'xfwm4' lost its connection to the display :0.0; most likely the X server was shut down or you killed/destroyed the application. The application 'xfce4-panel' lost its connection to the display :0.0; most likely the X server was shut down or you killed/destroyed the application. in xkb_refresh_gui: text in set_new_locale: tmp is not null in xkb_refresh_gui: image kdeinit: Fatal IO error: client killed klauncher: Exiting on signal 15 The application 'xfce-mcs-manager' lost its connection to the display :0.0; most likely the X server was shut down or you killed/destroyed the application. kded: Fatal IO error: client killed waiting for X server to shut down XIO: fatal IO error 104 (Connection reset by peer) on X server ":0.0" after 0 requests (0 known processed) with 0 events remaining. ## Crash output -- end ## Sane output -- start /usr/bin/startxfce4: Starting X server Release Date: 18 December 2003 X Protocol Version 11, Revision 0, Release 6.7 Build Operating System: Linux 2.4.21-14.ELsmp i686 [ELF] Current Operating System: Linux pc-narend.admin.frm2 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004 i686 Build Date: 07 May 2004 Build Host: tweety.build.redhat.com Before reporting problems, check http://wiki.X.Org to make sure that you have the latest version. Module Loader present OS Kernel: Linux version 2.6.5-1.358 (bhcompile@bugs.build.redhat.com) (gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)) #1 Sat May 8 09:04:50 EDT 2004 Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jun 7 15:40:51 2004 (==) Using config file: "/etc/X11/xorg.conf" GetModeLine - scrn: 0 clock: 108000 GetModeLine - hdsp: 1400 hbeg: 34208 hend: 34320 httl: 1688 vdsp: 1050 vbeg: 1050 vend: 1053 vttl: 1066 flags: -2147483648 ** Message: xfwm4: Workspace count not set, using rc value: 6 (xfce4-panel:13413): Gtk-WARNING **: Theme file for default has no name /usr/local/sunbird/MozillaSunbird-bin: error while loading shared libraries: libmozjs.so: cannot open shared object file: No such file or directory /usr/local/thunderbird/thunderbird-bin: error while loading shared libraries: libmozjs.so: cannot open shared object file: No such file or directory xscreensaver: no keyboard or mouse data in /proc/interrupts? (xfce4-panel:13413): Gtk-CRITICAL **: file gtkbox.c: line 374 (gtk_box_pack_start): assertion `child->parent == NULL' failed (xfce4-panel:13413): Gtk-CRITICAL **: file gtkbox.c: line 374 (gtk_box_pack_start): assertion `child->parent == NULL' failed ** Message: xfce4-panel: Successfully started with session management (xfdesktop:13411): Gtk-WARNING **: Theme file for default has no name Error: No running window found. PING ... 56(84) bytes of data. --- ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 0.530/0.541/0.552/0.011 ms, pipe 2 Error: No running window found. Error: No running window found. Audio device open for 44.1Khz, stereo, 16bit failed Trying 44.1Khz, 8bit stereo. Audio device open for 44.1Khz, stereo, 8bit failed Trying 48Khz, 16bit stereo. xscreensaver: 0: unrecognised ClientMessage "_NET_ACTIVE_WINDOW" received xscreensaver: 0: for window 0x1400025 (Mozilla / calendarMainWindow) xscreensaver: 0: unrecognised ClientMessage "WM_CHANGE_STATE" received xscreensaver: 0: for window 0x1400025 (Mozilla / calendarMainWindow) ## Sane output -- end edited on: 06-07 14:02
It's me again. Just to show that it's not a pure kde related issue, here another output with the qt-only systray app pgcalc2, which also leads to a crash. /usr/bin/startxfce4: Starting X server Release Date: 18 December 2003 X Protocol Version 11, Revision 0, Release 6.7 Build Operating System: Linux 2.4.21-14.ELsmp i686 [ELF] Current Operating System: Linux pc-narend.admin.frm2 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004 i686 Build Date: 07 May 2004 Build Host: tweety.build.redhat.com Before reporting problems, check http://wiki.X.Org to make sure that you have the latest version. Module Loader present OS Kernel: Linux version 2.6.5-1.358 (bhcompile@bugs.build.redhat.com) (gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)) #1 Sat May 8 09:04:50 EDT 2004 Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jun 7 15:50:11 2004 (==) Using config file: "/etc/X11/xorg.conf" GetModeLine - scrn: 0 clock: 108000 GetModeLine - hdsp: 1400 hbeg: 34208 hend: 34320 httl: 1688 vdsp: 1050 vbeg: 1050 vend: 1053 vttl: 1066 flags: -2147483648 ** Message: xfwm4: Workspace count not set, using rc value: 6 xscreensaver: no keyboard or mouse data in /proc/interrupts? (xfce4-panel:13688): Gtk-WARNING **: Theme file for default has no name (xfce4-panel:13688): Gtk-CRITICAL **: file gtkbox.c: line 374 (gtk_box_pack_start): assertion `child->parent == NULL' failed (xfce4-panel:13688): Gtk-CRITICAL **: file gtkbox.c: line 374 (gtk_box_pack_start): assertion `child->parent == NULL' failed ** Message: xfce4-panel: Successfully started with session management (xfdesktop:13686): Gtk-WARNING **: Theme file for default has no name QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used /usr/local/thunderbird/thunderbird-bin: error while loading shared libraries: libmozjs.so: cannot open shared object file: No such file or directory /usr/local/sunbird/MozillaSunbird-bin: error while loading shared libraries: libmozjs.so: cannot open shared object file: No such file or directory QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used kbuildsycoca running... PING ... 56(84) bytes of data. --- ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 0.537/0.654/0.772/0.120 ms, pipe 2 Error: No running window found. (xfwm4:13682): libxfcegui4-WARNING **: ICE I/O Error (xfwm4:13682): libxfcegui4-WARNING **: Disconnected from session manager. (xfce4-panel:13688): libxfcegui4-WARNING **: ICE I/O Error (xfce4-panel:13688): libxfcegui4-WARNING **: Disconnected from session manager. (xftaskbar4:13684): libxfcegui4-WARNING **: ICE I/O Error (xftaskbar4:13684): libxfcegui4-WARNING **: Disconnected from session manager. xscreensaver: SIGHUP received: restarting... xscreensaver: running as narend/narend (501/501) The application 'xfce-mcs-manager' lost its connection to the display :0.0; most likely the X server was shut down or you killed/destroyed the application. waiting for X server to shut down kded: Fatal IO error: client killed DCOP aborting (delayed) call from 'anonymous-13698' to 'kded' kdeinit: Fatal IO error: client killed klauncher: Exiting on signal 15 edited on: 06-07 14:03
"kbuildsycoca running..." <- your "qt-only systray app" starts kdeinit, so its not really what I'd call QT-only :-) Looking at the output, I can see that you disabled KDE compatibility. Please enable KDE compatibility and try again.
I was pretty sure that this was qt-only, but I'll check again... Hm, looks like you're right; there is a windows version, too, that is maybe the reason why I assumed it doesn't use kde. Nevertheless, I personally don't want to use kde or kdeinit. So I don't want to enable KDE compatibility. That's why I use xfce4 ;-). But for example on other computers I maintain it would be good if there was the possiblilty to run kde-apps along with a working xfce4-session. You never know what an arbitrary user might do or what his/her xfce settings look like ;-). And this app pgcalc2 is a nice thing to have but I only start it once in a time, and if I forget to close it at xfce logout, I don't want to edit the session file to be able to login again. But ok, since this is the unstable branch, I can of course deinstall xfce4-session for now. I will look for a qt/kde-free systray app and try that. Don't you experience a similar behaviour? edited on: 06-07 15:55 edited on: 06-07 15:56
Theres no way to run KDE apps in Xfce w/o enabling KDE compatibility. If you want to run KDE apps, enable KDE compatibility, thats the deal. Else you are garantied to experience all kinds of problems (caused by KDE btw.).
I know that, I didn't say I wanted to run kde apps without starting the kde machinery. That is unavoidable (unfortunately), I just said that I might run kde apps from time to time. I don't like to start the whole KDE stuff by default. But it's not acceptable that the session manager crashes if a user option is not set "correctly". Xfce4 should be ready for every bonehead user maneuver. So what are you going to do about it? It can't be that xfce4-session does not start up only because the user left a kde app open at logout without having the KDE compatibility option set (which might happen in actual practice). edited on: 06-07 18:40
Honestly, I've already tested to run KDE apps w/o enabling the KDE compat, and it worked so far (not taking into account the usual KDE oddities). I'll try to investigate into this further, but nevertheless: A user that runs KDE apps (no matter if he/she leaves the apps open on logout or not) _should_ enable KDE compat, thats what KDE compat is for! And btw. KDE compat does not "start the whole KDE stuff", it does only start the basic services and does some vital things for KDE, like setting SETTING_MANAGER for the klauncher service and so on.
> Honestly, I've already tested to run KDE apps w/o enabling the KDE compat, and > it worked so far (not taking into account the usual KDE oddities). Well, xfce4-session should have a failsafe plan for such oddities (e.g. just not starting the app). > I'll try to > investigate into this further, but nevertheless: A user that runs KDE apps (no > matter if he/she leaves the apps open on logout or not) _should_ enable KDE > compat, thats what KDE compat is for! I disagree. As far as I can see, KDE compat starts the same services (dcopserver, kded, klauncher, kaccess, etc.) which are started when you run a kde app. Only the app comes up faster if you have launched them at startup, ok. But it slows down login significantly and causes a larger memory footprint. That does matter (at least for me) when you're sometimes forced to get along with underpowered hardware (in which case xfce4 is a nice compromise between features and speed/memusage). Btw. I tested KDE compat and found that kded and - strange enough - kxkb (although not listed in the xfce4-session-xxx:0 file) are started in the "foreground", means they appear in the taskbar as normal apps. > And btw. KDE compat does not "start the > whole KDE stuff", it does only start the basic services and does some vital > things for KDE, like setting SETTING_MANAGER for the klauncher service and so on. And I don't see why those vital things are really vital for only using a simple kde application. In most cases you don't need interprocess communication or whatever, I'm normally happy if the app communicates correctly with me. But afaik this is an intensively discussed topic in the KDE community, and the behaviour might vanish in a future version (or made optional). Anyway, that's really a KDE oddity and somewhat off-topic here ;-) edited on: 06-07 20:11
I'm working on such a plan, but its non trivial! Don't treat it like a simple problem, cause if it were a simple problem, I'd already fixed it. KDE compat fires up kdeinit, as it would be fired when you start a kde app, with an important difference: kdeinit _isn't_ handled in the session! This is the way session management "works" in KDE and thats how KDE apps expect it to be. Don't blame KDE bugs/problems on xfce. And keep in mind: Xfce is fast and what some people would call "bloat-free". If we continue adding work-arounds for every single broken app, we end up as "Gnome/KDE-ng". There is already a workaround for KDE apps (-> KDE compat) and it is possible that I won't add another work-around (if it turns out to be a KDE problem that you describe). If you don't want KDE compat because of the longer startup time, you have to find yourself another workaround, e.g. unset SESSION_MANAGER env variable before running KDE apps. Else the rule of thumb remains: "If you want to run KDE apps, enable KDE compat. If you dislike the longer startup-time and increased memory footprint, don't run KDE apps!"
I'd like to say one more thing in this thread because I guess you get me wrong: I'm not solely looking for my personal benefit by reporting bugs here. I know how to get my xfce session up and running and what to do if things break. But the average user will be stuck if xfce4 is not coming up, he/she won't know what files to edit/delete. You have some sort of KDE integration in xfce already since in the desktop menu most kde apps show up and users will click them. So all I'm proposing is that xfce should be ready if a users chooses to fire up a KDE app and didn't close it at logout time. To prevent xfce from not starting up at all is not a workaround in my eyes. If this is a KDE-related problem, then xfce has a problem to deal with. At least it should be able to ignore broken apps (whether they're KDE or GNOME or whatever) and start up without them. You're doing great work and I'm just trying to help a little. And since I'm coding myself, saying that this issue is trivial was certainly not my intent. Keep pluggin'!
Ok, I'm sorry, I felt a bit offended recently and didn't see the point. You are right of course that we have to handle this case gracefully. So, again, I just tested to run KDE apps in xfce4-session w/o KDE compat and it worked just nice for me. So please make sure you are using the latest xfce4-session from CVS and try again to be sure the problem is still around. And then lets start again tracking the problem.
Hi again, the issue _seems_ to be gone, even with kde compat disabled. KDE apps get restarted normally. It could have been a Fedora Core/Xorg thing, since I experienced a similar behaviour with OpenOffice and KDE apps. But I'm not sure. KDE apps sometimes, not always, crashed at first start (due to an ICE issue) and started normally at subsequent starts. But that should not prevent xfce4-session from continuing startup, I guess? Anyway, I think we can consider this closed for the time being, probably at all. If I experience anything else concerning this problem, I'll let you know. PS: Used CVS version 20040721 (4.1.12).
I think the problem was the SIGPIPE issue w/ xfce4-session on Linux. It caused xfce4-session to crash under certain conditions. I fixed that some time ago.
Fixed.
Even verified by reporter.