From owner-freebsd-gnome@FreeBSD.ORG Tue Apr 8 12:38:21 2008 Return-Path: Delivered-To: freebsd-gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D72571065670 for ; Tue, 8 Apr 2008 12:38:21 +0000 (UTC) (envelope-from muxas@mail.ru) Received: from mx27.mail.ru (mx27.mail.ru [194.67.23.23]) by mx1.freebsd.org (Postfix) with ESMTP id 706D78FC3C for ; Tue, 8 Apr 2008 12:38:21 +0000 (UTC) (envelope-from muxas@mail.ru) Received: from [80.243.71.203] (port=46023 helo=devel.muxas.net) by mx27.mail.ru with asmtp id 1JjD5f-000HAs-00; Tue, 08 Apr 2008 16:38:19 +0400 Message-ID: <47FB6739.3010903@mail.ru> Date: Tue, 08 Apr 2008 23:38:17 +1100 From: Maxim Vetrov User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; ru-RU; rv:1.8.1.13) Gecko/20080404 SeaMonkey/1.1.9 MIME-Version: 1.0 To: Joe Marcus Clarke References: <1207584457.80953.13.camel@shumai.marcuscom.com> In-Reply-To: <1207584457.80953.13.camel@shumai.marcuscom.com> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-Spam: Not detected Cc: Yar Tikhiy , freebsd-gnome@freebsd.org Subject: Re: Gnome pausing forever if restarted too soon? X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Apr 2008 12:38:22 -0000 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