Bug 256485 - www/firefox: Crashing tabs since upgrade to 89
Summary: www/firefox: Crashing tabs since upgrade to 89
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-gecko (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-06-08 17:19 UTC by Ashish SHUKLA
Modified: 2021-06-12 00:45 UTC (History)
2 users (show)

See Also:
jbeich: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ashish SHUKLA freebsd_committer 2021-06-08 17:19:06 UTC
After upgrade to Firefox 89, I am unable to open a single tab or visit a single page.

Following is the backtrace from the coredump:

λ lldb11 -c ./firefox.core $(which firefox)
(lldb) target create "/usr/local/bin/firefox" --core "./firefox.core"
Core file '/usr/home/abbe/firefox.core' (x86_64) was loaded.

(lldb) bt all
This version of LLDB has no plugin for the mipsassem language. Inspection of frame variables will be limited.
This version of LLDB has no plugin for the mipsassem language. Inspection of frame variables will be limited.
* thread #1, name = 'Web Content', stop reason = signal SIGSEGV
  * frame #0: 0x0000000806873dc1 libxul.so`mozilla::ipc::FatalError(char const*, bool) + 209
    frame #1: 0x0000000806874f8d libxul.so`mozilla::ipc::IProtocol::HandleFatalError(char const*) const + 45
    frame #2: 0x000000080691a6a4 libxul.so`mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const&) + 44804
    frame #3: 0x000000080686f48d libxul.so`mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) + 493
    frame #4: 0x0000000806870103 libxul.so`mozilla::ipc::MessageChannel::MessageTask::Run() + 435
    frame #5: 0x00000008063fa5a3 libxul.so`mozilla::RunnableTask::Run() + 19
    frame #6: 0x00000008063f96a5 libxul.so`mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) + 7557
    frame #7: 0x00000008063f7366 libxul.so`mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) + 22
    frame #8: 0x00000008063fbee8 libxul.so`mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_3>::Run() + 56
    frame #9: 0x0000000806406162 libxul.so`nsThread::ProcessNextEvent(bool, bool*) + 1170
    frame #10: 0x000000080640a54b libxul.so`NS_ProcessNextEvent(nsIThread*, bool) + 75
    frame #11: 0x0000000806872298 libxul.so`mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) + 152
    frame #12: 0x0000000806838948 libxul.so`MessageLoop::Run() + 88
    frame #13: 0x0000000808a8c5c9 libxul.so`nsBaseAppShell::Run() + 41
    frame #14: 0x00000008098a7af7 libxul.so`XRE_RunAppShell() + 71
    frame #15: 0x0000000806838948 libxul.so`MessageLoop::Run() + 88
    frame #16: 0x00000008098a793b libxul.so`XRE_InitChildProcess(int, char**, XREChildData const*) + 1131
    frame #17: 0x0000000001039cbb firefox`main + 731
    frame #18: 0x0000000001039762 firefox`_start(ap=<unavailable>, cleanup=<unavailable>) at crt1_c.c:75:7
  thread #2, name = 'IPC I/O Child', stop reason = signal SIGSEGV
    frame #0: 0x000000080138a4ca libc.so.7`__sys_kevent at _kevent.S:4
    frame #1: 0x000000080123e4f3 libthr.so.3`__thr_kevent(kq=4, changelist=0x000000080dc15000, nchanges=0, eventlist=0x000000080dc16000, nevents=64, timeout=<unavailable>) at thr_syscalls.c:400:8
    frame #2: 0x000000080d32ad7f libevent-2.1.so.7`___lldb_unnamed_symbol98$$libevent-2.1.so.7 + 847
    frame #3: 0x000000080d31efb3 libevent-2.1.so.7`event_base_loop + 963
    frame #4: 0x000000080683a3a0 libxul.so`base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) + 368
    frame #5: 0x0000000806838948 libxul.so`MessageLoop::Run() + 88
    frame #6: 0x0000000806841bcd libxul.so`base::Thread::ThreadMain() + 541
    frame #7: 0x000000080683edea libxul.so`ThreadFunc(void*) + 10
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x0000000801a13e00) at thr_create.c:292:16
  thread #3, name = 'pool-spawner', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x0000000801ab4740, mp=0x0000000801664808, abstime=0x0000000000000000, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x0000000000000000, cancel=1) at thr_cond.c:380
    frame #5: 0x00000008034f57f2 libglib-2.0.so.0`g_cond_wait(cond=0x0000000801af4c08, mutex=0x0000000801af4c00) at gthread-posix.c:782:6
    frame #6: 0x0000000803430561 libglib-2.0.so.0`g_async_queue_pop_intern_unlocked(queue=0x0000000801af4c00, wait=1, end_time=-1) at gasyncqueue.c:419:6
    frame #7: 0x000000080343067d libglib-2.0.so.0`g_async_queue_pop_unlocked(queue=0x0000000801af4c00) at gasyncqueue.c:475:10
    frame #8: 0x00000008034b7cd9 libglib-2.0.so.0`g_thread_pool_spawn_thread(data=0x0000000000000000) at gthreadpool.c:315:27
    frame #9: 0x00000008034b74d5 libglib-2.0.so.0`g_thread_proxy(data=0x0000000801a2eb00) at gthread.c:820:20
    frame #10: 0x000000080123282b libthr.so.3`thread_start(curthread=0x0000000801a14300) at thr_create.c:292:16
  thread #4, name = 'gmain', stop reason = signal SIGSEGV
    frame #0: 0x000000080138a56a libc.so.7`__sys_poll at _poll.S:4
    frame #1: 0x000000080123df56 libthr.so.3`__thr_poll(fds=<unavailable>, nfds=<unavailable>, timeout=<unavailable>) at thr_syscalls.c:338:8
    frame #2: 0x0000000803491904 libglib-2.0.so.0`g_poll(fds=0x0000000801a082a8, nfds=1, timeout=-1) at gpoll.c:125:10
    frame #3: 0x000000080347d35f libglib-2.0.so.0`g_main_context_poll(context=0x0000000801a596c0, timeout=-1, priority=2147483647, fds=0x0000000801a082a8, n_fds=1) at gmain.c:4422:13
    frame #4: 0x000000080347ad29 libglib-2.0.so.0`g_main_context_iterate(context=0x0000000801a596c0, block=1, dispatch=1, self=0x0000000801a2ec20) at gmain.c:4114:3
    frame #5: 0x000000080347adf3 libglib-2.0.so.0`g_main_context_iteration(context=0x0000000801a596c0, may_block=1) at gmain.c:4184:12
    frame #6: 0x000000080347cc0d libglib-2.0.so.0`glib_worker_main(data=0x0000000000000000) at gmain.c:6077:7
    frame #7: 0x00000008034b74d5 libglib-2.0.so.0`g_thread_proxy(data=0x0000000801a2ec20) at gthread.c:820:20
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x0000000801a14800) at thr_create.c:292:16
  thread #5, name = 'pool-/usr/local', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x0000000801ab46e0, mp=0x0000000801664688, abstime=0x00007fffdfbbaed8, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x00007fffdfbbaed8, cancel=1) at thr_cond.c:380
    frame #5: 0x00000008034f59ee libglib-2.0.so.0`g_cond_wait_until(cond=0x0000000801af4b88, mutex=0x0000000801af4b80, end_time=2137497164) at gthread-posix.c:918:19
    frame #6: 0x0000000803430580 libglib-2.0.so.0`g_async_queue_pop_intern_unlocked(queue=0x0000000801af4b80, wait=1, end_time=2137497164) at gasyncqueue.c:422:13
    frame #7: 0x000000080343089b libglib-2.0.so.0`g_async_queue_timeout_pop_unlocked(queue=0x0000000801af4b80, timeout=500000) at gasyncqueue.c:574:10
    frame #8: 0x00000008034b9063 libglib-2.0.so.0`g_thread_pool_wait_for_new_task(pool=0x0000000801a2eaa0) at gthreadpool.c:278:18
    frame #9: 0x00000008034b8e1a libglib-2.0.so.0`g_thread_pool_thread_proxy(data=0x0000000801a2eaa0) at gthreadpool.c:343:14
    frame #10: 0x00000008034b74d5 libglib-2.0.so.0`g_thread_proxy(data=0x000000080e406000) at gthread.c:820:20
    frame #11: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080e40a000) at thr_create.c:292:16
  thread #6, name = 'gdbus', stop reason = signal SIGSEGV
    frame #0: 0x000000080138a56a libc.so.7`__sys_poll at _poll.S:4
    frame #1: 0x000000080123df56 libthr.so.3`__thr_poll(fds=<unavailable>, nfds=<unavailable>, timeout=<unavailable>) at thr_syscalls.c:338:8
    frame #2: 0x0000000803491904 libglib-2.0.so.0`g_poll(fds=0x000000080ec08050, nfds=2, timeout=-1) at gpoll.c:125:10
    frame #3: 0x000000080347d35f libglib-2.0.so.0`g_main_context_poll(context=0x000000080e8210c0, timeout=-1, priority=2147483647, fds=0x000000080ec08050, n_fds=2) at gmain.c:4422:13
    frame #4: 0x000000080347ad29 libglib-2.0.so.0`g_main_context_iterate(context=0x000000080e8210c0, block=1, dispatch=1, self=0x000000080e80d7e0) at gmain.c:4114:3
    frame #5: 0x000000080347b298 libglib-2.0.so.0`g_main_loop_run(loop=0x000000080e800720) at gmain.c:4317:5
    frame #6: 0x000000080325779e libgio-2.0.so.0`gdbus_shared_thread_func(user_data=0x000000080e810540) at gdbusprivate.c:280:3
    frame #7: 0x00000008034b74d5 libglib-2.0.so.0`g_thread_proxy(data=0x000000080e80d7e0) at gthread.c:820:20
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080e841000) at thr_create.c:292:16
  thread #7, name = 'dconf worker', stop reason = signal SIGSEGV
    frame #0: 0x000000080138a56a libc.so.7`__sys_poll at _poll.S:4
    frame #1: 0x000000080123df56 libthr.so.3`__thr_poll(fds=<unavailable>, nfds=<unavailable>, timeout=<unavailable>) at thr_syscalls.c:338:8
    frame #2: 0x0000000803491904 libglib-2.0.so.0`g_poll(fds=0x000000080f007000, nfds=1, timeout=-1) at gpoll.c:125:10
    frame #3: 0x000000080347d35f libglib-2.0.so.0`g_main_context_poll(context=0x0000000801a59b40, timeout=-1, priority=2147483647, fds=0x000000080f007000, n_fds=1) at gmain.c:4422:13
    frame #4: 0x000000080347ad29 libglib-2.0.so.0`g_main_context_iterate(context=0x0000000801a59b40, block=1, dispatch=1, self=0x0000000801b08e40) at gmain.c:4114:3
    frame #5: 0x000000080347adf3 libglib-2.0.so.0`g_main_context_iteration(context=0x0000000801a59b40, may_block=1) at gmain.c:4184:12
    frame #6: 0x000000080d86c46d libdconfsettings.so`___lldb_unnamed_symbol78$$libdconfsettings.so + 29
    frame #7: 0x00000008034b74d5 libglib-2.0.so.0`g_thread_proxy(data=0x0000000801b08e40) at gthread.c:820:20
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x0000000801a14d00) at thr_create.c:292:16
  thread #8, name = 'Socket Thread', stop reason = signal SIGSEGV
    frame #0: 0x000000080138a56a libc.so.7`__sys_poll at _poll.S:4
    frame #1: 0x000000080123df56 libthr.so.3`__thr_poll(fds=<unavailable>, nfds=<unavailable>, timeout=<unavailable>) at thr_syscalls.c:338:8
    frame #2: 0x0000000803de2be2 libnspr4.so`PR_Poll + 1202
    frame #3: 0x000000080651f7db libxul.so`mozilla::net::nsSocketTransportService::Run() + 6139
    frame #4: 0x000000080651fecd libxul.so`non-virtual thunk to mozilla::net::nsSocketTransportService::Run() + 13
    frame #5: 0x00000008064063f5 libxul.so`nsThread::ProcessNextEvent(bool, bool*) + 1829
    frame #6: 0x000000080640a54b libxul.so`NS_ProcessNextEvent(nsIThread*, bool) + 75
    frame #7: 0x00000008068729b8 libxul.so`mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) + 136
    frame #8: 0x0000000806838948 libxul.so`MessageLoop::Run() + 88
    frame #9: 0x0000000806404429 libxul.so`nsThread::ThreadFunc(void*) + 297
    frame #10: 0x0000000803de80cd libnspr4.so`___lldb_unnamed_symbol183$$libnspr4.so + 221
    frame #11: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080f257400) at thr_create.c:292:16
  thread #9, name = 'JS Watchdog', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x000000080f36eb20, mp=0x000000080167a388, abstime=0x00007fffdf576ed0, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x00007fffdf576ed0, cancel=1) at thr_cond.c:380
    frame #5: 0x0000000803de086a libnspr4.so`PR_WaitCondVar + 234
    frame #6: 0x0000000806bbd41a libxul.so`WatchdogMain(void*) + 250
    frame #7: 0x0000000803de80cd libnspr4.so`___lldb_unnamed_symbol183$$libnspr4.so + 221
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080f258d00) at thr_create.c:292:16
  thread #10, name = 'JS Helper', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x0000000801a282a0, mp=0x0000000801663488, abstime=0x0000000000000000, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x0000000000000000, cancel=1) at thr_cond.c:380
    frame #5: 0x000000000106a7c3 firefox`mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 67
    frame #6: 0x0000000809ab12dc libxul.so`js::HelperThread::ThreadMain(void*) + 572
    frame #7: 0x0000000809abf394 libxul.so`js::detail::ThreadTrampoline<void (&)(void*), js::HelperThread*>::Start(void*) + 36
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080f259200) at thr_create.c:292:16
  thread #11, name = 'JS Helper', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x0000000801a282a0, mp=0x0000000801663488, abstime=0x0000000000000000, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x0000000000000000, cancel=1) at thr_cond.c:380
    frame #5: 0x000000000106a7c3 firefox`mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 67
    frame #6: 0x0000000809ab12dc libxul.so`js::HelperThread::ThreadMain(void*) + 572
    frame #7: 0x0000000809abf394 libxul.so`js::detail::ThreadTrampoline<void (&)(void*), js::HelperThread*>::Start(void*) + 36
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080f259700) at thr_create.c:292:16
  thread #12, name = 'JS Helper', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x0000000801a282a0, mp=0x0000000801663488, abstime=0x0000000000000000, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x0000000000000000, cancel=1) at thr_cond.c:380
    frame #5: 0x000000000106a7c3 firefox`mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 67
    frame #6: 0x0000000809ab12dc libxul.so`js::HelperThread::ThreadMain(void*) + 572
    frame #7: 0x0000000809abf394 libxul.so`js::detail::ThreadTrampoline<void (&)(void*), js::HelperThread*>::Start(void*) + 36
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080f259c00) at thr_create.c:292:16
  thread #13, name = 'JS Helper', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x0000000801a282a0, mp=0x0000000801663488, abstime=0x0000000000000000, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x0000000000000000, cancel=1) at thr_cond.c:380
    frame #5: 0x000000000106a7c3 firefox`mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 67
    frame #6: 0x0000000809ab12dc libxul.so`js::HelperThread::ThreadMain(void*) + 572
    frame #7: 0x0000000809abf394 libxul.so`js::detail::ThreadTrampoline<void (&)(void*), js::HelperThread*>::Start(void*) + 36
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080f25a100) at thr_create.c:292:16
  thread #14, name = 'JS Helper', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x0000000801a282a0, mp=0x0000000801663488, abstime=0x0000000000000000, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x0000000000000000, cancel=1) at thr_cond.c:380
    frame #5: 0x000000000106a7c3 firefox`mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 67
    frame #6: 0x0000000809ab12dc libxul.so`js::HelperThread::ThreadMain(void*) + 572
    frame #7: 0x0000000809abf394 libxul.so`js::detail::ThreadTrampoline<void (&)(void*), js::HelperThread*>::Start(void*) + 36
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080f25a600) at thr_create.c:292:16
  thread #15, name = 'JS Helper', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x0000000801a282a0, mp=0x0000000801663488, abstime=0x0000000000000000, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x0000000000000000, cancel=1) at thr_cond.c:380
    frame #5: 0x000000000106a7c3 firefox`mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 67
    frame #6: 0x0000000809ab12dc libxul.so`js::HelperThread::ThreadMain(void*) + 572
    frame #7: 0x0000000809abf394 libxul.so`js::detail::ThreadTrampoline<void (&)(void*), js::HelperThread*>::Start(void*) + 36
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080f25ab00) at thr_create.c:292:16
  thread #16, name = 'JS Helper', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x0000000801a282a0, mp=0x0000000801663488, abstime=0x0000000000000000, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x0000000000000000, cancel=1) at thr_cond.c:380
    frame #5: 0x000000000106a7c3 firefox`mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 67
    frame #6: 0x0000000809ab12dc libxul.so`js::HelperThread::ThreadMain(void*) + 572
    frame #7: 0x0000000809abf394 libxul.so`js::detail::ThreadTrampoline<void (&)(void*), js::HelperThread*>::Start(void*) + 36
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080fba0000) at thr_create.c:292:16
  thread #17, name = 'JS Helper', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x0000000801a282a0, mp=0x0000000801663488, abstime=0x0000000000000000, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x0000000000000000, cancel=1) at thr_cond.c:380
    frame #5: 0x000000000106a7c3 firefox`mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 67
    frame #6: 0x0000000809ab12dc libxul.so`js::HelperThread::ThreadMain(void*) + 572
    frame #7: 0x0000000809abf394 libxul.so`js::detail::ThreadTrampoline<void (&)(void*), js::HelperThread*>::Start(void*) + 36
    frame #8: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080fba0500) at thr_create.c:292:16
  thread #18, name = 'Timer', stop reason = signal SIGSEGV
    frame #0: 0x000000080122fb3c libthr.so.3`_umtx_op_err at _umtx_op_err.S:40
    frame #1: 0x000000080123f660 libthr.so.3`_thr_umtx_timedwait_uint(mtx=<unavailable>, id=0, clockid=<unavailable>, abstime=<unavailable>, shared=<unavailable>) at thr_umtx.c:236:10
    frame #2: 0x0000000801236119 libthr.so.3`_thr_sleep(curthread=<unavailable>, clockid=<unavailable>, abstime=<unavailable>) at thr_kern.c:199:9 [artificial]
    frame #3: 0x000000080123169f libthr.so.3`cond_wait_common [inlined] cond_wait_user(cvp=0x000000080f34c680, mp=0x0000000801676388, abstime=0x00007fffde575b70, cancel=1) at thr_cond.c:320:11
    frame #4: 0x00000008012315e6 libthr.so.3`cond_wait_common(cond=<unavailable>, mutex=<unavailable>, abstime=0x00007fffde575b70, cancel=1) at thr_cond.c:380
    frame #5: 0x000000000106a8e4 firefox`mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 356
    frame #6: 0x000000080640106c libxul.so`TimerThread::Run() + 332
    frame #7: 0x00000008064063f5 libxul.so`nsThread::ProcessNextEvent(bool, bool*) + 1829
    frame #8: 0x000000080640a54b libxul.so`NS_ProcessNextEvent(nsIThread*, bool) + 75
    frame #9: 0x00000008068729b8 libxul.so`mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) + 136
    frame #10: 0x0000000806838948 libxul.so`MessageLoop::Run() + 88
    frame #11: 0x0000000806404429 libxul.so`nsThread::ThreadFunc(void*) + 297
    frame #12: 0x0000000803de80cd libnspr4.so`___lldb_unnamed_symbol183$$libnspr4.so + 221
    frame #13: 0x000000080123282b libthr.so.3`thread_start(curthread=0x000000080fba4600) at thr_create.c:292:16



$HOME/.xsession-errors to which I direct output of my sway is full of messages:

[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414
[Parent 32268, Main Thread] WARNING: Too many file descriptors for one message!: file /wrkdirs/usr/ports/www/firefox/work/firefox-89.0/ipc/chromium/src/chrome/common/ipc_message
_utils.h:414


Firefox is built with following options:

firefox-89.0_2,2
Name           : firefox
Version        : 89.0_2,2
Installed on   : Tue Jun  8 22:26:57 2021 IST
Origin         : www/firefox
Architecture   : FreeBSD:13:amd64
Prefix         : /usr/local
Categories     : www
Licenses       :
Maintainer     : gecko@FreeBSD.org
WWW            : http://www.mozilla.com/firefox
Comment        : Web browser based on the browser portion of Mozilla
Options        :
	ALSA           : off
	CANBERRA       : off
	DBUS           : on
	DEBUG          : off
	FFMPEG         : on
	JACK           : on
	LIBPROXY       : off
	LTO            : on
	OPTIMIZED_CFLAGS: on
	PROFILE        : on
	PULSEAUDIO     : on
	SNDIO          : on
	TEST           : off


Firefox 88 was working fine.

I found this similar bug report on Ubuntu GNU/Linux:

https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1930700

Number of fonts I have installed is 10825 (output of: fc-list |wc -l).

Please let me know if you need more information

Thanks!
Comment 1 Ashish SHUKLA freebsd_committer 2021-06-08 17:21:21 UTC
Forgot to mention, I'm running 13.0-RELEASE (releng/13.0-ea31abc26).


Thanks!
Comment 2 Jan Beich freebsd_committer 2021-06-08 22:59:51 UTC
(In reply to Ashish SHUKLA from comment #0)
> Number of fonts I have installed is 10825 (output of: fc-list |wc -l).

Can you suggest which ports to install in order to reproduce in a jail? For example,

$ fc-list -f '%{file}\n' | xargs -P10 -n100 pkg which -qo | sort -u

would list ports but exclude local fonts in ~/.fonts assuming those are not neccessary.
Comment 3 Ashish SHUKLA freebsd_committer 2021-06-09 05:57:05 UTC
I'm not at my FreeBSD host, and grabbed this information yesterday (list of all x11-fonts/* ports installed) to share with a colleague:

λ pkg info -oa |awk '/x11-fonts/ { print $2; }' |cut -d/ -f2 |xargs -n 10
andika gentium-basic gentium-plus inconsolata-lgc-ttf alef alegreya-sans anomaly-mono anonymous-pro b612 bitstream-vera
cantarell-fonts cascadia-code comfortaa-ttf comic-neue consolamono-ttf courier-prime croscorefonts-fonts-ttf crosextrafonts-caladea-ttf crosextrafonts-carlito-ttf dejavu
droid-fonts-ttf encodings exo fantasque-sans-mono fcft fira firacode font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-100dpi
font-adobe-utopia-75dpi font-adobe-utopia-type1 font-alias font-arabic-misc font-awesome font-bh-100dpi font-bh-75dpi font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi font-bh-ttf
font-bh-type1 font-bitstream-100dpi font-bitstream-75dpi font-bitstream-type1 font-cronyx-cyrillic font-cursor-misc font-daewoo-misc font-dec-misc font-ibm-type1 font-isas-misc
font-jis-misc font-micro-misc font-misc-cyrillic font-misc-ethiopic font-misc-meltho font-misc-misc font-mutt-misc font-schumacher-misc font-screen-cyrillic font-sony-misc
font-sun-misc font-util font-winitzki-cyrillic font-xfree86-type1 fontconfig gofont-ttf google-fonts hack-font hanazono-fonts-ttf hermit
inconsolata-ttf indic-ttf iosevka jetbrains-mono lato libFS libXfont libXfont2 libXft liberation-fonts-ttf
libfontenc linuxlibertine linuxlibertine-g manrope mkfontscale monoid montecarlo_fonts montserrat mourier moveable-type-fonts
nerd-fonts noto-basic noto-emoji noto-jp noto-kr open-sans open-sans-ttf oxygen-fonts pcf2bdf plex-ttf
powerline-fonts profont proggy_fonts-ttf roboto-fonts-ttf sourcecodepro-ttf sourcesanspro-ttf sourceserifpro-ttf spleen steps-mono stix-fonts
sudo-font terminus-font terminus-ttf twemoji-color-font-ttf ubuntu-font victor-mono-ttf vollkorn-ttf vtfontcvt-ng webfonts xorg-fonts
xorg-fonts-100dpi xorg-fonts-75dpi xorg-fonts-cyrillic xorg-fonts-miscbitmaps xorg-fonts-truetype xorg-fonts-type1


Please note that google-fonts itself provides ~5000 files

I'll provide output of your command later today.

Thanks!
Comment 4 Ashish SHUKLA freebsd_committer 2021-06-09 06:00:34 UTC
Just checked, in the Ubuntu GNU/Linux bug report, there is a workaround mentioned[1] which I'm yet to try.

References:
[1] https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1930700/comments/6
Comment 5 Ashish SHUKLA freebsd_committer 2021-06-09 17:34:30 UTC
(In reply to Jan Beich from comment #2)

There you go:


λ fc-list -f '%{file}\n' | xargs -P10 -n100 pkg which -qo | sort -u
japanese/font-elisa8
japanese/font-ipamjm
japanese/font-kappa20
japanese/font-kochi
japanese/font-naga10
japanese/font-sazanami
japanese/font-shinonome
japanese/font-takao
japanese/font-ume
x11-fonts/alef
x11-fonts/alegreya-sans
x11-fonts/andika
x11-fonts/anomaly-mono
x11-fonts/b612
x11-fonts/bitstream-vera
x11-fonts/cantarell-fonts
x11-fonts/cascadia-code
x11-fonts/comfortaa-ttf
x11-fonts/comic-neue
x11-fonts/consolamono-ttf
x11-fonts/croscorefonts-fonts-ttf
x11-fonts/crosextrafonts-caladea-ttf
x11-fonts/crosextrafonts-carlito-ttf
x11-fonts/dejavu
x11-fonts/droid-fonts-ttf
x11-fonts/exo
x11-fonts/fantasque-sans-mono
x11-fonts/fira
x11-fonts/firacode
x11-fonts/font-adobe-100dpi
x11-fonts/font-adobe-75dpi
x11-fonts/font-adobe-utopia-100dpi
x11-fonts/font-adobe-utopia-75dpi
x11-fonts/font-adobe-utopia-type1
x11-fonts/font-arabic-misc
x11-fonts/font-bh-100dpi
x11-fonts/font-bh-75dpi
x11-fonts/font-bh-lucidatypewriter-100dpi
x11-fonts/font-bh-lucidatypewriter-75dpi
x11-fonts/font-bh-ttf
x11-fonts/font-bh-type1
x11-fonts/font-bitstream-100dpi
x11-fonts/font-bitstream-75dpi
x11-fonts/font-bitstream-type1
x11-fonts/font-cursor-misc
x11-fonts/font-dec-misc
x11-fonts/font-ibm-type1
x11-fonts/font-micro-misc
x11-fonts/font-misc-ethiopic
x11-fonts/font-misc-meltho
x11-fonts/font-misc-misc
x11-fonts/font-mutt-misc
x11-fonts/font-schumacher-misc
x11-fonts/font-sony-misc
x11-fonts/font-xfree86-type1
x11-fonts/gentium-basic
x11-fonts/gentium-plus
x11-fonts/gofont-ttf
x11-fonts/google-fonts
x11-fonts/hack-font
x11-fonts/hanazono-fonts-ttf
x11-fonts/hermit
x11-fonts/inconsolata-lgc-ttf
x11-fonts/inconsolata-ttf
x11-fonts/indic-ttf
x11-fonts/iosevka
x11-fonts/jetbrains-mono
x11-fonts/lato
x11-fonts/liberation-fonts-ttf
x11-fonts/linuxlibertine
x11-fonts/linuxlibertine-g
x11-fonts/manrope
x11-fonts/monoid
x11-fonts/montecarlo_fonts
x11-fonts/montserrat
x11-fonts/mourier
x11-fonts/moveable-type-fonts
x11-fonts/noto-basic
x11-fonts/noto-emoji
x11-fonts/noto-jp
x11-fonts/noto-kr
x11-fonts/open-sans
x11-fonts/open-sans-ttf
x11-fonts/oxygen-fonts
x11-fonts/plex-ttf
x11-fonts/powerline-fonts
x11-fonts/profont
x11-fonts/proggy_fonts-ttf
x11-fonts/roboto-fonts-ttf
x11-fonts/sourcecodepro-ttf
x11-fonts/sourcesanspro-ttf
x11-fonts/sourceserifpro-ttf
x11-fonts/spleen
x11-fonts/steps-mono
x11-fonts/stix-fonts
x11-fonts/sudo-font
x11-fonts/terminus-font
x11-fonts/terminus-ttf
x11-fonts/twemoji-color-font-ttf
x11-fonts/ubuntu-font
x11-fonts/victor-mono-ttf
x11-fonts/vollkorn-ttf
x11-fonts/webfonts
Comment 6 Ashish SHUKLA freebsd_committer 2021-06-09 17:40:34 UTC
And the mentioned workaround works for me too, although requires a restart after updating the option in about:config page (which to my surprise renders fine):

> Setting the Firefox preference `gfx.e10s.font-list.shared` to `false` works around this bug for me.
Comment 7 Jan Beich freebsd_committer 2021-06-10 14:30:57 UTC
I've reproduced. Applying https://phabricator.services.mozilla.com/D117423 seems to help.