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>
freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to