Mozilla firefox freezes/zombie on FreeBSD current

From: Subbsd <subbsd_at_gmail.com>
Date: Mon, 26 Dec 2016 22:29:33 +0300
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.

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 100754 firefox             -                    -1  152 sleep   uwait
18827 101508 firefox             Gecko_IOThread       -1  130 sleep   kqread
18827 101509 firefox             Socket Thread        -1  128 sleep   select
18827 101510 firefox             JS Watchdog          -1  121 sleep   uwait
18827 101511 firefox             JS Helper            -1  120 sleep   uwait
18827 101512 firefox             JS Helper            -1  120 sleep   uwait
18827 101513 firefox             JS Helper            -1  120 sleep   uwait
18827 101514 firefox             JS Helper            -1  120 sleep   uwait
18827 101515 firefox             JS Helper            -1  120 sleep   uwait
18827 101516 firefox             JS Helper            -1  120 sleep   uwait
18827 101517 firefox             JS Helper            -1  120 sleep   uwait
18827 101518 firefox             JS Helper            -1  120 sleep   uwait
18827 101519 firefox             JS Helper            -1  120 sleep   uwait
18827 101520 firefox             JS Helper            -1  120 sleep   uwait
18827 101521 firefox             JS Helper            -1  120 sleep   uwait
18827 101522 firefox             JS Helper            -1  120 sleep   uwait
18827 101523 firefox             Hang Monitor         -1  132 sleep   uwait
18827 101524 firefox             BgHangManager        -1  125 sleep   uwait
18827 101525 firefox             -                    -1  129 sleep   select
18827 101526 firefox             -                    -1  129 sleep   select
18827 101527 firefox             Cache2 I/O           -1  120 sleep   uwait
18827 101528 firefox             Timer                -1  120 sleep   uwait
18827 101529 firefox             DataStorage          -1  145 sleep   uwait
18827 101530 firefox             GMPThread            -1  148 sleep   uwait
18827 101532 firefox             -                    -1  149 sleep   kqread
18827 101533 firefox             HTML5 Parser         -1  152 sleep   uwait
18827 101534 firefox             IPDL Background      -1  138 sleep   uwait
18827 101538 firefox             ImgDecoder #1        -1  152 sleep   uwait
18827 101539 firefox             ImgDecoder #2        -1  152 sleep   uwait
18827 101540 firefox             ImgDecoder #3        -1  152 sleep   uwait
18827 101541 firefox             ImgDecoder #4        -1  152 sleep   uwait
18827 101542 firefox             ImgDecoder #5        -1  152 sleep   uwait
18827 101543 firefox             ImgDecoder #6        -1  152 sleep   uwait
18827 101544 firefox             ImgDecoder #7        -1  152 sleep   uwait
18827 101545 firefox             ImageIO              -1  152 sleep   uwait
18827 101546 firefox             Compositor           -1  152 sleep   vmpfw
18827 101547 firefox             SoftwareVsyncThread  -1  120 sleep   uwait
18827 101548 firefox             DOM Worker           -1  120 sleep   uwait
18827 101552 firefox             DOM Worker           -1  120 sleep   uwait
18827 101556 firefox             StreamTrans #11      -1  120 sleep   uwait
18827 101557 firefox             URL Classifier       -1  152 sleep   uwait
18827 101558 firefox             ImageBridgeChild     -1  152 sleep   uwait
18827 101559 firefox             Cache I/O            -1  152 sleep   uwait
18827 101560 firefox             mozStorage #1        -1  152 sleep   uwait
18827 101561 firefox             mozStorage #2        -1  152 sleep   uwait
---

--
% procstat -k 18827
  PID    TID COMM                TDNAME              KSTACK
18827 100754 firefox             -                   mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101508 firefox             Gecko_IOThread      mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep kqueue_kevent kern_kevent
sys_kevent amd64_syscall Xfast_syscall
18827 101509 firefox             Socket Thread       mi_switch
sleepq_catch_signals sleepq_wait_sig _cv_wait_sig seltdwait kern_poll
sys_poll amd64_syscall Xfast_syscall
18827 101510 firefox             JS Watchdog         mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101511 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101512 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101513 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101514 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101515 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101516 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101517 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101518 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101519 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101520 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101521 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101522 firefox             JS Helper           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101523 firefox             Hang Monitor        mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101524 firefox             BgHangManager       mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101525 firefox             -                   mi_switch
sleepq_catch_signals sleepq_wait_sig _cv_wait_sig seltdwait kern_poll
sys_poll amd64_syscall Xfast_syscall
18827 101526 firefox             -                   mi_switch
sleepq_catch_signals sleepq_wait_sig _cv_wait_sig seltdwait kern_poll
sys_poll amd64_syscall Xfast_syscall
18827 101527 firefox             Cache2 I/O          mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101528 firefox             Timer               mi_switch
sleepq_catch_signals sleepq_timedwait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101529 firefox             DataStorage         mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101530 firefox             GMPThread           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101532 firefox             -                   mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep kqueue_kevent kern_kevent
sys_kevent amd64_syscall Xfast_syscall
18827 101533 firefox             HTML5 Parser        mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101534 firefox             IPDL Background     mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101538 firefox             ImgDecoder #1       mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101539 firefox             ImgDecoder #2       mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101540 firefox             ImgDecoder #3       mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101541 firefox             ImgDecoder #4       mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101542 firefox             ImgDecoder #5       mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101543 firefox             ImgDecoder #6       mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101544 firefox             ImgDecoder #7       mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101545 firefox             ImageIO             mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
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
18827 101547 firefox             SoftwareVsyncThread mi_switch
sleepq_catch_signals sleepq_timedwait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101548 firefox             DOM Worker          mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101552 firefox             DOM Worker          mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101556 firefox             StreamTrans #11     mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101557 firefox             URL Classifier      mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101558 firefox             ImageBridgeChild    mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101559 firefox             Cache I/O           mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101560 firefox             mozStorage #1       mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
18827 101561 firefox             mozStorage #2       mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall
---

No any data from "truss -p" or ktrace.

kill -9 or any other kill is not affected.
If i apply 'xkill' on stale firefox windows it come to 'stopped'
process in 'top'.
And also there is no reaction on kill (e.g. -19, SIGCONT).

In this state, procstat show:

% procstat -k 18827
  PID    TID COMM                TDNAME              KSTACK
18827 100754 firefox             -                   mi_switch
thread_suspend_switch thread_single exit1 sigexit postsig ast
doreti_ast
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

% procstat -t 18827
  PID    TID COMM                TDNAME              CPU  PRI STATE   WCHAN
18827 100754 firefox             -                    -1  120 stop    -
18827 101546 firefox             Compositor           -1  152 stop    vmpfw


Just CC to freebsd-current_at_ ,  because not sure that this problem of
freebsd-gecko_at_ only.

Anyone else met with such behavior ?

Additional settings: for qt5-gui:

loader.conf:

kern.ipc.shmmni=4096
kern.ipc.shmseg=4096
kern.ipc.shmmax=1073741824
sem_load="YES"
kern.ipc.shm_allow_removed=1
Received on Mon Dec 26 2016 - 18:29:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:09 UTC