Mozilla firefox freezes/zombie on FreeBSD current
Konstantin Belousov
kostikbel at gmail.com
Tue Dec 27 09:33:51 UTC 2016
On Mon, Dec 26, 2016 at 10:29:33PM +0300, Subbsd wrote:
> Hi,
>
> On recent FreeBSD version (tested on two host: one from
> svn://svn.freebsd.org/base/head ( r310507 now) and second from
> https://github.com/FreeBSDDesktop/freebsd-base-graphics.git /
> drm-next-4.7 ) and latest firefox ( firefox-50.1.0_4,1 ) I often get
> into a situation where firefox is hands.
Which graphics driver do you use with pristine head ?
>
> It looks like unresponsive window: https://snag.gy/gKPhnb.jpg
>
> with follow information from procstat:
>
> ---
> % procstat -t 18827
> PID TID COMM TDNAME CPU PRI STATE WCHAN
> 18827 101546 firefox Compositor -1 152 sleep vmpfw
> 18827 101546 firefox Compositor mi_switch
> sleepq_wait _sleep vm_page_busy_sleep vm_page_sleep_if_busy
> vm_fault_hold vm_fault trap_pfault trap calltrap
This thread is problematic. It waits for a page ceasing the busy state,
in the page fault handler. The question to answer first is, who is the
owner of the busy state and why the page is not released.
Using the command
ps -H -o pid,lwp,mwchan,nwchan <pid of firefox>
find the thread which is hung, and the numerical address of the wait channel
where the thread is blocked, from the NWCHAN column of ps output.
Start kgdb on the live system as
kgdb <path to>/kernel.full /dev/mem
and do
(kgdb) p/x *(struct vm_page *)<NWCHAN>
If the output above shows non-zero object, also please do
(kgdb) p/x *(struct vm_object *)<address of the object>
More information about the freebsd-gecko
mailing list