Re: Away for FOSDEM



Vincent Untz wrote:
> Right now, when I log in, gnome-session is blocked here:
> 
> #2  0xb6e52f50 in read_all (fd=16, buf=0x8d2bbc0 "", len=4)
>     at gnome-keyring.c:324
> #3  0xb6e53799 in run_sync_operation (buffer=0xbfd46c78, 
>     receive_buffer=0xbfd46c64) at gnome-keyring.c:571
> #4  0xb6e550f0 in gnome_keyring_daemon_prepare_environment_sync ()
>     at gnome-keyring.c:1794
> #5  0x0805c7cb in gsm_keyring_daemon_start () at gsm-keyring.c:69
> #6  0x08055252 in main (argc=1, argv=0xbfd46e24) at main.c:723
> 
> (the blocking call is read() in read_all())
> If I kill gnome-keyring-daemon, then the login continues.
> 
> Can you take a look at this? When looking at the code in the daemon, it
> seems like there are many cases when nothing is written back to the
> client and where this can block... Maybe I'm just reading the code
> wrong, but if that's the case, it's really bad.

I'm guessing that the installed gnome-keyring-daemon is of the wrong
version, somehow.

The daemon disconnects (has always been this way) when it receives
something it doesn't recognize. Do unix sockets really hang when the
other end closes without sending something through it?

In any case I've committed a patch to gnome-keyring which calls
shutdown() before close(), and should hopefully alleviate the problem.

LMK if not.

Cheers,
Stef Walter



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]