For the record, this is a recipe to reliably reproduce the crash, thanks to "iponeverything" in the Ubuntu bug (slightly simplified):
--------- 8< -----------
- Attach a an strace to CK so you can see when you see it fall down:
sudo strace -p `pidof console-kit-daemon`
- Open additional xterm's like so: xterm -geometry 20x10 &
open 9 or 10 of them.
- now go through and use "su - someuser" in all of the open xterms.
- Next go thru and close each xterm one by one by using the close button in the upper right corner -- by the time you get to the forth or fifth window -- console-kit-daemon will have segfault'ed for you.
--------- 8< -----------
I tried for half an hour to turn this into a noninteractive test script, but failed unfortunately.
I tested CK with James' patch, and it works very well. I don't get crashes any more, and both X and pam-ck-connector based sessions work as usual, and even hammering it with something like
for i in `seq 50`; do
ck-launch-session sleep 5 &
sleep 0.1
done
For the record, this is a recipe to reliably reproduce the crash, thanks to "iponeverything" in the Ubuntu bug (slightly simplified):
--------- 8< -----------
- Attach a an strace to CK so you can see when you see it fall down:
sudo strace -p `pidof console-kit-daemon`
- Open additional xterm's like so: xterm -geometry 20x10 &
open 9 or 10 of them.
- now go through and use "su - someuser" in all of the open xterms.
- Next go thru and close each xterm one by one by using the close button in the upper right corner -- by the time you get to the forth or fifth window -- console-kit-daemon will have segfault'ed for you.
--------- 8< -----------
I tried for half an hour to turn this into a noninteractive test script, but failed unfortunately.
I tested CK with James' patch, and it works very well. I don't get crashes any more, and both X and pam-ck-connector based sessions work as usual, and even hammering it with something like
for i in `seq 50`; do launch- session sleep 5 &
ck-
sleep 0.1
done
works correctly.