[ConsoleKit] [multi-seat] console-kit-daemon crash when second time login
Halton Huo
Halton.Huo at Sun.COM
Wed Sep 2 04:59:50 PDT 2009
[If you do not care about multi-seat branch, please ignore]
Hi Ray,
There is critical bug for multi-seat branch with following steps:
- I login as a local user and it is fine
- Logout fine
- When I login the second time, console-kit-daemon core with
daemon-pstack.out
Apply the attached patch(ConsoleKit-07-crash.diff), crash will go away
but still have problem. According the history.txt:
1) Start console-kit-daemon
2) Start gdm-binary
3) Login window ready, login as halton.
'ck-list-session -a' output as 1-login.out
4) User halton logged in, click logout menu.
'ck-list-session -a' output as 1-logout.out
SessionSeat1Local and Session1 are removed and added back.
I think Session1 should be remove here, right?
5) logout successfully, login again.
'ck-list-session -a' output as 2-login.out
SessionSeat1Local is removed and Session2 is created. It is not right
behavior, does it?
Thanks,
Halton.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ConsoleKit-07-crash.diff
Type: text/x-patch
Size: 740 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/consolekit/attachments/20090902/ec5db20c/attachment.bin
-------------- next part --------------
SessionSeat1Local:
unix-user = '0'
realname = 'Super-User'
seat = 'Seat1'
session-type = 'LoginWindow'
display-type = 'Local'
open = 'FALSE'
active = 'FALSE'
x11-display = ''
x11-display-device = ''
display-device = ''
remote-host-name = ''
is-local = 'TRUE'
on-since = '2009-09-02T11:29:56.700365Z'
login-session-id = ''
idle-since-hint = ''
Session1:
unix-user = '150184'
realname = '(null)'
seat = 'Seat1'
session-type = ''
display-type = ''
open = 'TRUE'
active = 'TRUE'
x11-display = ':0'
x11-display-device = '/dev/vt/2'
display-device = '/dev/console'
remote-host-name = ''
is-local = 'TRUE'
on-since = '2009-09-02T11:30:53.003484Z'
login-session-id = ''
idle-since-hint = ''
-------------- next part --------------
SessionSeat1Local:
unix-user = '50'
realname = 'GDM Reserved UID'
seat = 'Seat1'
session-type = 'LoginWindow'
display-type = 'Local'
open = 'TRUE'
active = 'TRUE'
x11-display = ':0'
x11-display-device = '/dev/vt/2'
display-device = '/dev/console'
remote-host-name = ''
is-local = 'TRUE'
on-since = '2009-09-02T11:29:56.700365Z'
login-session-id = ''
idle-since-hint = ''
Session1:
unix-user = '0'
realname = 'Super-User'
seat = 'Seat1'
session-type = ''
display-type = ''
open = 'FALSE'
active = 'FALSE'
x11-display = ''
x11-display-device = ''
display-device = ''
remote-host-name = ''
is-local = 'TRUE'
on-since = '2009-09-02T11:30:53.003484Z'
login-session-id = ''
idle-since-hint = ''
-------------- next part --------------
t at 1 (l at 1) signal SEGV (no mapping at the fault address) in ck_session_run_programs at line 1653 in file "ck-session.c"
1653 extra_env[n++] = g_strdup_printf ("CK_SESSION_ID=%s", session->priv->id);
(dbx) where
current thread: t at 1
=>[1] ck_session_run_programs(session = 0x809fc10, action = 0x807c514 "session_added"), line 1653 in "ck-session.c"
[2] ck_seat_add_session(seat = 0x8099990, session = 0x809fc10, error = (nil)), line 1031 in "ck-seat.c"
[3] remove_session_for_cookie(manager = 0x809c410, cookie = 0x80a79b8 "14ffd08ad85e72b489720a734a645ae0-1251217528.101045-1944603906", error =
0x8047644), line 2081 in "ck-manager.c"
[4] ck_manager_close_session(manager = 0x809c410, cookie = 0x80a79b8 "14ffd08ad85e72b489720a734a645ae0-1251217528.101045-1944603906", context
= 0x8090780), line 2206 in "ck-manager.c"
[5] dbus_glib_marshal_ck_manager_VOID__STRING_POINTER(closure = 0x804774c, return_value = (nil), n_param_values = 3U, param_values = 0x80a8600, invocation_hint = (nil), marshal_data = 0x8062970), line 146 in "ck-manager-glue.h"
[6] invoke_object_method(0x809c410, 0x80799ac, 0x8079a0c, 0x8097868, 0x8097ba0, 0x809ad7d, 0xfef7b0fc, 0xfef6c3f9), at 0xfef6bfb5
[7] object_registration_message(0x8097868, 0x8097ba0, 0x8097080, 0xfef35b0d), at 0xfef6cee8
[8] _dbus_object_tree_dispatch_and_unlock(0x8090d08), at 0xfef35c3f
[9] dbus_connection_dispatch(0x8097868), at 0xfef27b17
[10] message_queue_dispatch(0x8097508, 0x0, 0x0, 0xfedb4bf8), at 0xfef6a06d
[11] g_main_context_dispatch(0x8096ca8, 0x0, 0x80a52e8, 0x3), at 0xfedb4dbe
[12] g_main_context_iterate(0x8096ca8, 0x1, 0x1, 0x8090108), at 0xfedb546f
[13] g_main_loop_run(0x809f4a0, 0x0), at 0xfedb5a99
[14] main(argc = 1, argv = 0x8047e90), line 334 in "main.c"
(dbx) p session->priv
session->priv = 0xaaaaaaaa
(dbx) cont
t at 1 (l at 1) signal SEGV (no mapping at the fault address) in
ck_session_run_programs at line 1653 in file "ck-session.c"
1653 extra_env[n++] = g_strdup_printf ("CK_SESSION_ID=%s", session->priv->id);
-------------- next part --------------
Session1:
unix-user = '0'
realname = 'Super-User'
seat = 'Seat1'
session-type = ''
display-type = ''
open = 'FALSE'
active = 'FALSE'
x11-display = ''
x11-display-device = ''
display-device = ''
remote-host-name = ''
is-local = 'TRUE'
on-since = '2009-09-02T11:30:53.003484Z'
login-session-id = ''
idle-since-hint = ''
Session2:
unix-user = '150184'
realname = '(null)'
seat = 'Seat1'
session-type = ''
display-type = ''
open = 'TRUE'
active = 'TRUE'
x11-display = ':0'
x11-display-device = '/dev/vt/2'
display-device = '/dev/console'
remote-host-name = ''
is-local = 'TRUE'
on-since = '2009-09-02T11:33:14.269241Z'
login-session-id = ''
idle-since-hint = ''
-------------- next part --------------
1251890996.701 type=SEAT_ADDED : seat-id='Seat1' seat-kind=0
1251890998.987 type=SEAT_SESSION_ADDED : seat-id='Seat1' session-id='SessionSeat1Local' session-type='LoginWindow' session-x11-display=':0' session-x11-display-device='/dev/vt/2' session-display-device='/dev/console' session-remote-host-name='' session-is-local=TRUE session-is-dynamic=TRUE session-unix-user=50 session-creation-time='2009-09-02T11:29:56.700365Z'
1251890998.987 type=SEAT_ACTIVE_SESSION_CHANGED : seat-id='Seat1' session-id='SessionSeat1Local'
1251891051.339 type=SEAT_SESSION_REMOVED : seat-id='Seat1' session-id='SessionSeat1Local' session-type='LoginWindow' session-x11-display='' session-x11-display-device='' session-display-device='' session-remote-host-name='' session-is-local=TRUE session-is-dynamic=TRUE session-unix-user=0 session-creation-time='2009-09-02T11:29:56.700365Z'
1251891051.339 type=SEAT_ACTIVE_SESSION_CHANGED : seat-id='Seat1' session-id=''
1251891051.339 type=SEAT_SESSION_ADDED : seat-id='Seat1' session-id='SessionSeat1Local' session-type='LoginWindow' session-x11-display='' session-x11-display-device='' session-display-device='' session-remote-host-name='' session-is-local=TRUE session-is-dynamic=TRUE session-unix-user=0 session-creation-time='2009-09-02T11:29:56.700365Z'
1251891053.004 type=SEAT_SESSION_ADDED : seat-id='Seat1' session-id='Session1' session-type='' session-x11-display=':0' session-x11-display-device='/dev/vt/2' session-display-device='/dev/console' session-remote-host-name='' session-is-local=TRUE session-is-dynamic=FALSE session-unix-user=150184 session-creation-time='2009-09-02T11:30:53.003484Z'
1251891053.004 type=SEAT_ACTIVE_SESSION_CHANGED : seat-id='Seat1' session-id='Session1'
1251891148.012 type=SEAT_SESSION_REMOVED : seat-id='Seat1' session-id='Session1' session-type='' session-x11-display='' session-x11-display-device='' session-display-device='' session-remote-host-name='' session-is-local=TRUE session-is-dynamic=FALSE session-unix-user=0 session-creation-time='2009-09-02T11:30:53.003484Z'
1251891148.012 type=SEAT_ACTIVE_SESSION_CHANGED : seat-id='Seat1' session-id=''
1251891148.012 type=SEAT_SESSION_ADDED : seat-id='Seat1' session-id='Session1' session-type='' session-x11-display='' session-x11-display-device='' session-display-device='' session-remote-host-name='' session-is-local=TRUE session-is-dynamic=FALSE session-unix-user=0 session-creation-time='2009-09-02T11:30:53.003484Z'
1251891155.165 type=SEAT_SESSION_ADDED : seat-id='Seat1' session-id='SessionSeat1Local' session-type='LoginWindow' session-x11-display=':0' session-x11-display-device='/dev/vt/2' session-display-device='/dev/console' session-remote-host-name='' session-is-local=TRUE session-is-dynamic=TRUE session-unix-user=50 session-creation-time='2009-09-02T11:29:56.700365Z'
1251891155.165 type=SEAT_ACTIVE_SESSION_CHANGED : seat-id='Seat1' session-id='SessionSeat1Local'
1251891193.861 type=SEAT_SESSION_REMOVED : seat-id='Seat1' session-id='SessionSeat1Local' session-type='LoginWindow' session-x11-display='' session-x11-display-device='' session-display-device='' session-remote-host-name='' session-is-local=TRUE session-is-dynamic=TRUE session-unix-user=0 session-creation-time='2009-09-02T11:29:56.700365Z'
1251891193.861 type=SEAT_ACTIVE_SESSION_CHANGED : seat-id='Seat1' session-id=''
1251891194.269 type=SEAT_SESSION_ADDED : seat-id='Seat1' session-id='Session2' session-type='' session-x11-display=':0' session-x11-display-device='/dev/vt/2' session-display-device='/dev/console' session-remote-host-name='' session-is-local=TRUE session-is-dynamic=FALSE session-unix-user=150184 session-creation-time='2009-09-02T11:33:14.269241Z'
1251891194.271 type=SEAT_ACTIVE_SESSION_CHANGED : seat-id='Seat1' session-id='Session2'
More information about the ConsoleKit
mailing list