! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Session manager sometimes leaves a core file
Status:
RESOLVED: FIXED
Product:
Xfce4-session
Component:
General

Comments

Description Bernhard Walle 2005-01-20 20:34:24 CET
Sometimes after logging out, the session manager crashes. Nothing bad happens,
only a core resides in $HOME.

Reproducible: Always
Steps to Reproduce:
1. 
2. 
3. 




#0  0x400a4ba2 in _IceTransClose () from /usr/X11R6/lib/libICE.so.6
#1  0x400a44ac in _IceFreeConnection () from /usr/X11R6/lib/libICE.so.6
#2  0x400a465a in IceCloseConnection () from /usr/X11R6/lib/libICE.so.6
#3  0x0805461e in xfsm_manager_close_connection (client=0x40766830, cleanup=1)
    at xfsm-manager.c:927
#4  0x40093de8 in _SmsProcessMessage () from /usr/X11R6/lib/libSM.so.6
#5  0x400a3207 in IceProcessMessages () from /usr/X11R6/lib/libICE.so.6
#6  0x0804f7de in ice_process_messages (channel=0x8083a88, condition=G_IO_IN,
user_data=0x8084810)
    at ice-layer.c:103
#7  0x4061dd5f in g_io_unix_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
#8  0x405f6d17 in g_main_context_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
#9  0x405f9467 in g_main_context_iterate () from /opt/gnome/lib/libglib-2.0.so.0
#10 0x405fa677 in g_main_loop_run () from /opt/gnome/lib/libglib-2.0.so.0
#11 0x402bce43 in gtk_main () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#12 0x0804fc87 in main (argc=1, argv=0xbffff1b4) at main.c:244
Comment 1 Benedikt Meurer editbugs 2005-01-20 21:00:15 CET
This is really weird. The only possible cause I can think of is that ice_conn
points to an invalid location, which would mean that either libSM has a serious
bug or the sms_conn is invalid. But if sms_conn is invalid, it is unlikely that
SmsCleanUp() would succeed. In addition, if ice_conn is invalid,
IceSetShutdownNegotiation() shouldn't work.

But lets see, for the core file, do:

frame 3
print client->sms_conn
print ice_conn
Comment 2 Bernhard Walle 2005-01-20 21:03:08 CET
(gdb) frame 3
#3  0x400a465a in IceCloseConnection () from /usr/X11R6/lib/libICE.so.6
(gdb) print client->sms_conn
No symbol "client" in current context.
(gdb) print ice_conn
No symbol "ice_conn" in current context.
(gdb) frame 4
#4  0x0805461e in xfsm_manager_close_connection (client=0x8184808, cleanup=1) at
xfsm-manager.c:927
927           IceCloseConnection (ice_conn);
(gdb) print client->sms_conn
$1 = 0x40766830
(gdb) print ice_conn
$2 = 0x400ac8f8
Comment 3 Bernhard Walle 2005-01-20 21:05:31 CET
Don't ask me why the "bt" has changed, I don't know it ...
Comment 4 Benedikt Meurer editbugs 2005-01-20 21:14:23 CET
Please enable verbose output and post the last messages of xfce4-session.
Comment 5 Bernhard Walle 2005-01-20 21:15:06 CET
The bug is not reproducable. Only sometimes.
Comment 6 Bernhard Walle 2005-01-20 21:16:25 CET
How would I enablel verbose output.
Comment 7 Benedikt Meurer editbugs 2005-01-20 21:25:02 CET
Set XFSM_VERBOSE prior to running xfce4-session. xfce4-session will then print
extensive debug informations to ~/.xfce4-session.verbose-log.
Comment 8 Bernhard Walle 2005-01-20 21:32:09 CET
Created attachment 163 
Non-crash verbose output
Comment 9 Benedikt Meurer editbugs 2005-01-20 21:43:13 CET
I need the verbose output for the crash, because I think I know why the
IceCloseConnection() call fails.
Comment 10 Bernhard Walle 2005-01-20 22:17:47 CET
Since the crash is not reproducable ...

All what I can do is to enable the verbose output now and wait until it crashes
again. I'll send you the file then.
Comment 11 Benedikt Meurer editbugs 2005-01-20 22:22:22 CET
Sure, thanks.
Comment 12 Bernhard Walle 2005-01-24 19:47:22 CET
Created attachment 171 
Don't know if it contains the information you need.

BT now was

#0  0x400a4ba2 in _IceTransClose () from /usr/X11R6/lib/libICE.so.6
#1  0x400a44ac in _IceFreeConnection () from /usr/X11R6/lib/libICE.so.6
#2  0x400a465a in IceCloseConnection () from /usr/X11R6/lib/libICE.so.6
#3  0x0805461e in xfsm_manager_close_connection (client=0x40766830, cleanup=1)
    at xfsm-manager.c:927
#4  0x40093de8 in _SmsProcessMessage () from /usr/X11R6/lib/libSM.so.6
#5  0x400a3207 in IceProcessMessages () from /usr/X11R6/lib/libICE.so.6
#6  0x0804f7de in ice_process_messages (channel=0x8184b60, condition=G_IO_IN,
    user_data=0x8084810) at ice-layer.c:103
#7  0x4061dd5f in g_io_unix_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
#8  0x405f6d17 in g_main_context_dispatch () from
/opt/gnome/lib/libglib-2.0.so.0
#9  0x405f9467 in g_main_context_iterate () from
/opt/gnome/lib/libglib-2.0.so.0
#10 0x405fa677 in g_main_loop_run () from /opt/gnome/lib/libglib-2.0.so.0
#11 0x402bce43 in gtk_main () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#12 0x0804fc87 in main (argc=1, argv=0xbffff144) at main.c:244
Comment 13 Benedikt Meurer editbugs 2005-01-24 20:35:11 CET
What about the relevant lines from the verbose log?
Comment 14 Bernhard Walle 2005-01-24 21:55:58 CET
Well, I simply attached the whole logfile. Don't know which is relevant.
(Unfortunately, there are not timestamps in the log.)
Comment 15 Benedikt Meurer editbugs 2005-01-24 22:01:28 CET
Sorry, I'm blind. Somehow I didn't notice the attachment. I'll look into this
tomorrow, thanks.
Comment 16 Benedikt Meurer editbugs 2005-01-25 19:08:55 CET
Hm, the ICE I/O errors look weird, tho nothing critical afterall.

What is this qpamat application? It seems to be the application that actually
causes the problem. Can you try to logout with qpamat running and without qpamat
running and see if that affects xfce4-session's "crashing behaviour"?
Comment 17 Bernhard Walle 2005-01-25 19:14:32 CET
http://qpamat.berlios.de/, self-written. Doesn't contain session-management
specific code (something on my TODO list ;-)). I'll try it out tomorrow.
Comment 18 Bernhard Walle 2005-01-25 21:43:03 CET
No direct releation, I did a shutdown with qpamat now, without a core file.
Comment 19 Bernhard Walle 2005-07-27 01:04:43 CEST
Hello,

now the situation is: The crash is reproducable with QPaMaT started while
logging out and the session manager does not shutdown the system if this was the
choosen logout method because of that crash.

I ported QPaMaT to Qt 4.0.0 (which may be the difference in behaviour here) and
upgraded to SuSE 9.3 (which shouldn't be the problem).

A current backtrace:

#0  0x400b12d0 in IceProtocolShutdown () from /usr/X11R6/lib/libICE.so.6
#1  0x4009f401 in SmsCleanUp () from /usr/X11R6/lib/libSM.so.6
#2  0x08053d28 in xfsm_manager_close_connection (client=0x614b204c, cleanup=1)
    at xfsm-manager.c:925
#3  0x400a0db8 in _SmsProcessMessage () from /usr/X11R6/lib/libSM.so.6
#4  0x400b01d7 in IceProcessMessages () from /usr/X11R6/lib/libICE.so.6
#5  0x0804ef7e in ice_process_messages (channel=0x808e908, condition=G_IO_IN,
user_data=0x80a0d18)
    at ice-layer.c:103
#6  0x4063569f in g_io_channel_unix_get_fd () from /opt/gnome/lib/libglib-2.0.so.0
#7  0x4060e967 in g_main_context_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
#8  0x40610ce2 in g_main_context_acquire () from /opt/gnome/lib/libglib-2.0.so.0
#9  0x40611cf7 in g_main_loop_run () from /opt/gnome/lib/libglib-2.0.so.0
#10 0x402cfbe3 in gtk_main () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#11 0x0804f427 in main (argc=1, argv=0xbfffee64) at main.c:244

The logfile is attached. QPaMaT is simple Qt 4.0.0 without session management
specific code. Don't know if I do something really wrong (removing a file in a
signal handler shouldn't be a problem).
Comment 20 Benedikt Meurer editbugs 2005-07-27 14:05:46 CEST
Hm, I cannot thing of any reason here. Does the client crash as well?
Comment 21 Bernhard Walle 2005-07-27 14:21:22 CEST
No (at least it leaves no core-file).

If you need some variables from the core-file, just say which one.
Comment 22 Benedikt Meurer editbugs 2005-07-27 14:29:49 CEST
Can you install libSM and libICE with debugging symbols and check the
SmsCleanUp() and IceProtocolShutdown() calls?
Comment 23 Bernhard Walle 2005-07-27 15:47:52 CEST
This one, I got another bt (I'll not delete this one if you have any questions).
For the result, see the attachment.
Comment 24 Bernhard Walle 2005-07-27 15:52:28 CEST
Created attachment 279 
GDB session
Comment 25 Bernhard Walle 2005-07-27 23:38:48 CEST
BTW: I get this crash not only with QPaMaT but with every Qt4 application
(designer, assistant). Self-compiled and RPMs from SuSE.
Comment 26 Harold Aling 2007-02-15 20:56:47 CET
Closing this bug as 'fixed' since there were no replies since 2005-07-27...

Bug #730

Reported by:
Bernhard Walle
Reported on: 2005-01-20
Last modified on: 2009-07-14

People

Assignee:
Benedikt Meurer
CC List:
0 users

Version

Attachments

Non-crash verbose output (9.72 KB, text/plain)
2005-01-20 21:32 CET , Bernhard Walle
no flags
Don't know if it contains the information you need. (6.58 KB, text/plain)
2005-01-24 19:47 CET , Bernhard Walle
no flags
GDB session (11.20 KB, text/plain)
2005-07-27 15:52 CEST , Bernhard Walle
no flags

Additional information