Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Jul 2010 16:29:31 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        David Xu <davidxu@freebsd.org>
Cc:        FreeBSD Current <current@freebsd.org>
Subject:   Re: firefox is stuck in getbuf()
Message-ID:  <20100720132931.GI2381@deviant.kiev.zoral.com.ua>
In-Reply-To: <4C4510B8.6090105@freebsd.org>
References:  <4C4510B8.6090105@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--pfhjpIY4DSX7ckaW
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Jul 20, 2010 at 10:58:00AM +0800, David Xu wrote:
> With newest -HEAD code, firefox is stuck in getbuf().
>=20
> top
>=20
> last pid:  1814;  load averages:  0.00,  0.05,  0.07=20
>=20
>                                         up 0+00:37:11  10:54:01
> 135 processes: 1 running, 134 sleeping
> CPU:  3.7% user,  0.0% nice,  0.6% system,  0.0% interrupt, 95.7% idle
> Mem: 259M Active, 393M Inact, 151M Wired, 1484K Cache, 111M Buf, 186M Free
> Swap: 2020M Total, 2020M Free
>=20
>   PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU=20
> COMMAND
>  1427 davidxu       1  45    0   114M   101M select  0   1:24  0.29% Xorg
>  1588 davidxu      10  44    0   279M   145M getbuf  0   2:15  0.00%=20
> firefox-bin
>=20
>=20
> procstat  -k 1588
>   PID    TID COMM             TDNAME           KSTACK=20
>=20
>  1588 100200 firefox-bin      initial thread   mi_switch sleepq_switch=20
> sleepq_wait _sleep getdirtybuf flush_deplist softdep_sync_metadata=20
> ffs_syncvnode ffs_fsync VOP_FSYNC_APV fsync syscallenter syscall=20
> Xint0x80_syscall
>  1588 100207 firefox-bin      -                mi_switch sleepq_switch=20
> sleepq_catch_signals sleepq_wait_sig _cv_wait_sig seltdwait poll=20
> syscallenter syscall Xint0x80_syscall
>  1588 100208 firefox-bin      -                mi_switch sleepq_switch=20
> sleepq_catch_signals sleepq_wait_sig _sleep __umtx_op_cv_wait _umtx_op=20
> syscallenter syscall Xint0x80_syscall
>  1588 100209 firefox-bin      -                mi_switch sleepq_switch=20
> sleepq_catch_signals sleepq_timedwait_sig _sleep __umtx_op_cv_wait=20
> _umtx_op syscallenter syscall Xint0x80_syscall
>  1588 100210 firefox-bin      -                mi_switch sleepq_switch=20
> sleepq_catch_signals sleepq_timedwait_sig _sleep __umtx_op_cv_wait=20
> _umtx_op syscallenter syscall Xint0x80_syscall
>  1588 100216 firefox-bin      -                mi_switch sleepq_switch=20
> sleepq_catch_signals sleepq_wait_sig _sleep __umtx_op_cv_wait _umtx_op=20
> syscallenter syscall Xint0x80_syscall
>  1588 100220 firefox-bin      -                mi_switch sleepq_switch=20
> sleepq_wait _sleep getdirtybuf flush_deplist softdep_sync_metadata=20
> ffs_syncvnode ffs_fsync VOP_FSYNC_APV fsync syscallenter syscall=20
> Xint0x80_syscall
>  1588 100238 firefox-bin      -                mi_switch sleepq_switch=20
> sleepq_catch_signals sleepq_wait_sig _sleep __umtx_op_cv_wait _umtx_op=20
> syscallenter syscall Xint0x80_syscall
>  1588 100239 firefox-bin      -                mi_switch sleepq_switch=20
> sleepq_catch_signals sleepq_wait_sig _sleep __umtx_op_cv_wait _umtx_op=20
> syscallenter syscall Xint0x80_syscall
>  1588 100240 firefox-bin      -                mi_switch sleepq_switch=20
> sleepq_catch_signals sleepq_wait_sig _sleep __umtx_op_cv_wait _umtx_op=20
> syscallenter syscall Xint0x80_syscall

Can you, please, do the following:
show the backtraces for the system processes, in particular, syncer,
bufdaemon, softdepflush daemon, pagedaemon and vm ?
for the stuck firefox thread, find the address of the buffer
supplied as an argument to getdirtybuf, and print the *(struct buf *)addr ?
This can be done on the live/stuck system using kgdb on /dev/mem.

--pfhjpIY4DSX7ckaW
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAkxFpLoACgkQC3+MBN1Mb4iesgCg2IIFqNXpYotXrIliwt2PsR3h
ploAnjATNLv7/VMpMIrn1TWUawStSd8r
=Yn0/
-----END PGP SIGNATURE-----

--pfhjpIY4DSX7ckaW--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100720132931.GI2381>