Gnome pausing forever if restarted too soon?
Maxim Vetrov
muxas at mail.ru
Tue Apr 8 12:38:22 UTC 2008
Joe Marcus Clarke пишет:
> On Mon, 2008-04-07 at 11:01 +0400, Yar Tikhiy wrote:
>
>> Hi all,
>>
>> Today I've got enough motivation to ask about a problem I've saw since
>> my first days with Gnome in FreeBSD. When I quit my current Gnome
>> session and start a new one in a moment, e.g., to test some new
>> settings, Gnome won't fully start: It will show the initial logo, load
>> some components, hide the logo, and then just pause with the empty
>> desktop. It doesn't seem to matter if I use gdm or startx. The
>> workaround I found is to kill Gnome-related processes left running
>> after I quit Gnome, but doing so each time is a bit annoying. Is it a
>> known issue? Sorry, I failed to find any references to it in the FAQs.
>>
>
> The issue is with bonobo-activation-server. If it remains running
> (i.e. some of its clients keep it running), GNOME will not restart. If
> it alone is killed, GNOME will start right up. I haven't yet looked
> into why these clients are not dying.
>
> Joe
>
>
You're right, it's bonobo-activation-server but all components are dead,
bonobo-slay -l says there is only b-a-s (or its threads?). I've never
tried to dig into gnome/freebsd internals, so excuse me if use some
boken logic, I'm just ordinary user :-)
I ran ktrace on b-a-s (session logout) several times.
The last 80 lines when b-a-s quited sucessfully look like:
*********************************************************************************
1082 bonobo-activation-s RET _umtx_op 0
1082 bonobo-activation-s CALL poll(0x29620060,0x3,0xffffffff)
1082 bonobo-activation-s CALL write(0x2,0xbfbfe050,0x21)
1082 bonobo-activation-s GIO fd 2 wrote 33 bytes
"thread 0x295060a0 take guard [1]
"
1082 bonobo-activation-s RET write 33/0x21
1082 bonobo-activation-s CALL gettimeofday(0xbfbfd5a8,0)
1082 bonobo-activation-s RET gettimeofday 0
1082 bonobo-activation-s CALL sendto(0xe,0xbfbfd5ee,0x4b,0,0,0)
1082 bonobo-activation-s GIO fd 14 wrote 75 bytes
"<12>Apr 8 22:05:33 bonobo-activation-server (muxas-1082): All
clients dead"
1082 bonobo-activation-s RET sendto 75/0x4b
1082 bonobo-activation-s CALL gettimeofday(0xbfbfe6b8,0)
1082 bonobo-activation-s RET gettimeofday 0
1082 bonobo-activation-s CALL gettimeofday(0xbfbfe738,0)
1082 bonobo-activation-s RET gettimeofday 0
1082 bonobo-activation-s CALL write(0x2,0xbfbfe050,0x24)
1082 bonobo-activation-s GIO fd 2 wrote 36 bytes
"thread 0x295060a0 release guard [1]
"
1082 bonobo-activation-s RET write 36/0x24
1082 bonobo-activation-s CALL gettimeofday(0xbfbfe7b8,0)
1082 bonobo-activation-s RET gettimeofday 0
1082 bonobo-activation-s CALL poll(0x295934c0,0x2,0x3e8)
1082 bonobo-activation-s RET _umtx_op -1 errno 60 Operation timed out
1082 bonobo-activation-s CALL gettimeofday(0xbf1b5df8,0)
1082 bonobo-activation-s RET gettimeofday 0
1082 bonobo-activation-s CALL thr_exit(0x2960c300)
1082 bonobo-activation-s RET poll 0
1082 bonobo-activation-s CALL gettimeofday(0xbfbfe7c8,0)
1082 bonobo-activation-s RET gettimeofday 0
1082 bonobo-activation-s CALL gettimeofday(0xbfbfd5f8,0)
1082 bonobo-activation-s RET gettimeofday 0
1082 bonobo-activation-s CALL sendto(0xe,0xbfbfd63e,0x48,0,0,0)
1082 bonobo-activation-s GIO fd 14 wrote 72 bytes
"<12>Apr 8 22:05:34 bonobo-activation-server (muxas-1082): Quit
server !"
1082 bonobo-activation-s RET sendto 72/0x48
1082 bonobo-activation-s CALL write(0x2,0xbfbfe1e0,0x21)
1082 bonobo-activation-s GIO fd 2 wrote 33 bytes
"thread 0x295060a0 take guard [1]
"
1082 bonobo-activation-s RET write 33/0x21
1082 bonobo-activation-s CALL close(0xe)
1082 bonobo-activation-s RET close 0
1082 bonobo-activation-s CALL write(0x2,0xbfbfe1e0,0x24)
1082 bonobo-activation-s GIO fd 2 wrote 36 bytes
"thread 0x295060a0 release guard [1]
"
1082 bonobo-activation-s RET write 36/0x24
1082 bonobo-activation-s CALL getpid
1082 bonobo-activation-s RET getpid 1082/0x43a
1082 bonobo-activation-s CALL write(0x2,0x2954ac80,0x64)
1082 bonobo-activation-s GIO fd 2 wrote 100 bytes
"
(bonobo-activation-server:1082): Bonobo-WARNING **: Leaked a total
of 1 refs to 1 bonobo object(s)
"
1082 bonobo-activation-s RET write 100/0x64
1082 bonobo-activation-s CALL close(0x9)
1082 bonobo-activation-s RET close 0
1082 bonobo-activation-s CALL close(0x8)
1082 bonobo-activation-s RET close 0
1082 bonobo-activation-s CALL write(0xb,0x28217966,0x1)
1082 bonobo-activation-s GIO fd 11 wrote 1 byte
"A"
1082 bonobo-activation-s RET poll 1
1082 bonobo-activation-s RET write 1
1082 bonobo-activation-s CALL _umtx_op(0x29550200,0x5,0,0,0)
1082 bonobo-activation-s RET _umtx_op 0
1082 bonobo-activation-s CALL read(0xa,0xbf9feecb,0x1)
1082 bonobo-activation-s GIO fd 10 read 1 byte
"A"
1082 bonobo-activation-s RET read 1
1082 bonobo-activation-s CALL poll(0x29620060,0x2,0xffffffff)
1082 bonobo-activation-s CALL unlink(0x295625e0)
1082 bonobo-activation-s NAMI
"/var/tmp/orbit-muxas/linc-43a-0-731d5d5f7ce7b"
1082 bonobo-activation-s RET unlink 0
1082 bonobo-activation-s CALL close(0xf)
1082 bonobo-activation-s RET close 0
1082 bonobo-activation-s CALL exit(0)
*********************************************************************************
The last 80 lines when b-a-s hung:
*********************************************************************************
3649 bonobo-activation-s RET write 59/0x3b
3649 bonobo-activation-s CALL write(0x2,0xbf9fe0c0,0x41)
3649 bonobo-activation-s GIO fd 2 wrote 65 bytes
"IID 'OAFIID:Bonobo_CosNaming_NamingContext' (0x2954cdc0), alive
"
3649 bonobo-activation-s RET write 65/0x41
3649 bonobo-activation-s CALL gettimeofday(0xbf9fd688,0)
3649 bonobo-activation-s RET gettimeofday 0
3649 bonobo-activation-s CALL sendto(0xe,0xbf9fd6ce,0x56,0,0,0)
3649 bonobo-activation-s GIO fd 14 wrote 86 bytes
"<12>Apr 8 22:26:12 bonobo-activation-server (muxas-3649): After
prune: 1 live servers"
3649 bonobo-activation-s RET sendto 86/0x56
3649 bonobo-activation-s CALL gettimeofday(0xbf9fe818,0)
3649 bonobo-activation-s RET gettimeofday 0
3649 bonobo-activation-s CALL write(0x2,0xbf9fe130,0x24)
3649 bonobo-activation-s GIO fd 2 wrote 36 bytes
"thread 0x2954ca90 release guard [1]
"
3649 bonobo-activation-s RET write 36/0x24
3649 bonobo-activation-s CALL read(0x3,0x2961e080,0xc)
3649 bonobo-activation-s RET read -1 errno 53 Software caused
connection abort
3649 bonobo-activation-s CALL close(0x3)
3649 bonobo-activation-s RET close 0
3649 bonobo-activation-s CALL write(0x2,0xbf9fe130,0x21)
3649 bonobo-activation-s GIO fd 2 wrote 33 bytes
"thread 0x2954ca90 take guard [1]
"
3649 bonobo-activation-s RET write 33/0x21
3649 bonobo-activation-s CALL write(0x2,0xbf9fe0c0,0x40)
3649 bonobo-activation-s GIO fd 2 wrote 64 bytes
"IID 'OAFIID:Bonobo_Activation_EventSource' (0x2954cbe0), alive
"
3649 bonobo-activation-s RET write 64/0x40
3649 bonobo-activation-s CALL _umtx_op(0x29505920,0x8,0x1,0x29505900,0)
3649 bonobo-activation-s RET _umtx_op 0
3649 bonobo-activation-s CALL _umtx_op(0x29505920,0xa,0,0,0)
3649 bonobo-activation-s RET _umtx_op 0
3649 bonobo-activation-s CALL _umtx_op(0x29550380,0x5,0,0,0)
3649 bonobo-activation-s RET _umtx_op 0
3649 bonobo-activation-s CALL socket(PF_LOCAL,SOCK_STREAM,0)
3649 bonobo-activation-s RET socket 3
3649 bonobo-activation-s CALL fcntl(0x3,F_SETFL,O_NONBLOCK)
3649 bonobo-activation-s RET fcntl 0
3649 bonobo-activation-s CALL fcntl(0x3,F_SETFD,FD_CLOEXEC)
3649 bonobo-activation-s RET fcntl 0
3649 bonobo-activation-s CALL connect(0x3,0x2961e080,0x2f)
3649 bonobo-activation-s NAMI
"/var/tmp/orbit-muxas/linc-e65-0-221f433de006"
3649 bonobo-activation-s RET connect -1 errno 2 No such file or
directory
3649 bonobo-activation-s CALL close(0x3)
3649 bonobo-activation-s RET close 0
3649 bonobo-activation-s CALL write(0x2,0xbf9fe0c0,0x3f)
3649 bonobo-activation-s GIO fd 2 wrote 63 bytes
"IID 'OAFIID:GNOME_NetstatusApplet_Factory' (0x29e0b100), dead
"
3649 bonobo-activation-s RET write 63/0x3f
3649 bonobo-activation-s CALL write(0x2,0xbf9fe0c0,0x41)
3649 bonobo-activation-s GIO fd 2 wrote 65 bytes
"IID 'OAFIID:Bonobo_CosNaming_NamingContext' (0x2954cdc0), alive
"
3649 bonobo-activation-s RET write 65/0x41
3649 bonobo-activation-s CALL gettimeofday(0xbf9fd688,0)
3649 bonobo-activation-s RET gettimeofday 0
3649 bonobo-activation-s CALL sendto(0xe,0xbf9fd6ce,0x56,0,0,0)
3649 bonobo-activation-s GIO fd 14 wrote 86 bytes
"<12>Apr 8 22:26:12 bonobo-activation-server (muxas-3649): After
prune: 0 live servers"
3649 bonobo-activation-s RET sendto 86/0x56
3649 bonobo-activation-s CALL socket(PF_LOCAL,SOCK_STREAM,0)
3649 bonobo-activation-s RET socket 3
3649 bonobo-activation-s CALL fcntl(0x3,F_SETFL,O_NONBLOCK)
3649 bonobo-activation-s RET fcntl 0
3649 bonobo-activation-s CALL fcntl(0x3,F_SETFD,FD_CLOEXEC)
3649 bonobo-activation-s RET fcntl 0
3649 bonobo-activation-s CALL connect(0x3,0x2961e080,0x2f)
3649 bonobo-activation-s NAMI
"/var/tmp/orbit-muxas/linc-e65-0-221f433de006"
3649 bonobo-activation-s RET connect -1 errno 2 No such file or
directory
3649 bonobo-activation-s CALL close(0x3)
3649 bonobo-activation-s RET close 0
3649 bonobo-activation-s CALL _umtx_op(0x29505920,0x8,0x1,0x29505900,0)
3649 bonobo-activation-s RET _umtx_op -1 errno 60 Operation timed out
3649 bonobo-activation-s CALL thr_exit(0x2960c400)
*********************************************************************************
ps -H output showed that b-a-s waited for mutex to release (until I
killed -s TERM it):
MWCHAN USER PID PPID PGID SID JOBC STAT TT COMMAND
ucond muxas 3649 1 3649 3649 0 Is ??
/usr/local/libexec/bonobo-activation-server --ac-activate --ior-output-fd=16
umtxn muxas 3649 1 3649 3649 0 Is ??
/usr/local/libexec/bonobo-activation-server --ac-activate --ior-output-fd=16
How can I find what blocks b-a-s?
Regards,
Vetrov Maxim
More information about the freebsd-gnome
mailing list