Closed Bug 1959339 Opened 9 months ago Closed 5 months ago

FATAL ERROR: AsyncShutdown timeout in quit-application Conditions

Categories

(Toolkit :: Add-ons Manager, defect, P2)

defect

Tracking

()

RESOLVED FIXED
143 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox-esr140 143+ fixed
firefox137 --- unaffected
firefox138 --- unaffected
firefox139 --- wontfix
firefox141 --- wontfix
firefox142 --- wontfix
firefox143 --- fixed

People

(Reporter: petr.sumbera, Assigned: robwu)

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: regression, Whiteboard: [addons-jira])

Attachments

(4 files)

Steps to reproduce:

Firefox on Solaris crash with:

FATAL ERROR: AsyncShutdown timeout in quit-application Conditions: [{"name":"XPIProvider shutdown","state":"(none)","filename":"resource://gre/modules/addons/XPIProvider.sys.mjs","lineNumber":2751,"stack":["resource://gre/modules/addons
/XPIProvider.sys.mjs:startup:2751","resource://gre/modules/AddonManager.sys.mjs:callProvider:228","resource://gre/modules/AddonManager.sys.mjs:_startProvider:537","resource://gre/modules/AddonManager.sys.mjs:startup:750","resource://gre
/modules/AddonManager.sys.mjs:startup:3695","resource://gre/modules/amManager.sys.mjs:observe:73"]}] At least one completion condition failed to complete within a reasonable amount of time. Causing a crash to ensure that we do not leave
 the user with an unresponsive process draining resources.
WARNING: No crash reporter available
^G[Parent 589836, Main Thread] ###!!! ABORT: file resource://gre/modules/addons/XPIProvider.sys.mjs:2751
#01: NS_PrintStackTrace()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c36810d]
#02: NS_DebugBreak[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c36866f]
#03: nsDebugImpl::Abort(char const*, int)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c367d5f]
#04: nsXPTCStubBase::nsXPTCStubBase(nsIXPTCProxy*, nsXPTInterfaceInfo const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5f7b2a]
#05: CallMethodHelper::Invoke()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d85370e]
#06: CallMethodHelper::Call()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d851b2c]
#07: XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d838a17]
#08: XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d8409cd]
#09: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2714b0a2]
#10: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129d1e]
#11: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#12: js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a244]
#13: js::Interpret(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27139567]
#14: MaybeEnterInterpreterTrampoline(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x271292ab]
#15: js::RunScript(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129822]
#16: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129ebd]
#17: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#18: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a3bc]
#19: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x25a19f31]
#20: PromiseReactionJob(JSContext*, unsigned int, JS::Value*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x25d2b487]
#21: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2714b0a2]
#22: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129d1e]
#23: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#24: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a3bc]
#25: JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x25ac1411]
#26: mozilla::dom::PromiseJobCallback::Call(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::ErrorResult&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x20187500]
#27: mozilla::dom::PromiseJobCallback::Call(mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c38f4db]
#28: mozilla::dom::PromiseJobCallback::Call(char const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c38f58a]
#29: mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c3a41c2]
#30: mozilla::CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c37717c]
#31: mozilla::CycleCollectedJSContext::AfterProcessTask(unsigned int)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c376384]
#32: XPCJSContext::AfterProcessTask(unsigned int)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d7cb9ce]
#33: nsThread::ProcessNextEvent(bool, bool*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5a7a03]
#34: NS_ProcessNextEvent(nsIThread*, bool)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5b29e6]
#35: bool mozilla::SpinEventLoopUntil<(mozilla::ProcessFailureBehavior)1, nsThreadManager::SpinEventLoopUntilInternal(nsTSubstring<char> const&, nsINestedEventLoopCondition*, mozilla::ShutdownPhase)::{lambda()#1}>(nsTSubstring<char> const&, nsThreadManager::Sp[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5b91f4]
#36: nsThreadManager::SpinEventLoopUntilInternal(nsTSubstring<char> const&, nsINestedEventLoopCondition*, mozilla::ShutdownPhase)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5ac960]
#37: nsThreadManager::SpinEventLoopUntil(nsTSubstring<char> const&, nsINestedEventLoopCondition*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5ac6dd]
#38: nsXPTCStubBase::nsXPTCStubBase(nsIXPTCProxy*, nsXPTInterfaceInfo const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5f7b2a]
#39: CallMethodHelper::Invoke()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d85370e]
#40: CallMethodHelper::Call()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d851b2c]
#41: XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d838a17]
#42: XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d8409cd]
#43: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2714b0a2]
#44: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129d1e]
#45: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#46: js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a244]
#47: js::Interpret(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27139567]
#48: MaybeEnterInterpreterTrampoline(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x271292ab]
#49: js::RunScript(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129822]
#50: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129ebd]
#51: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#52: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a3bc]
#53: JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x25ac0c9c]
#54: nsXPCWrappedJS::CallMethod(unsigned short, nsXPTMethodInfo const*, nsXPTCMiniVariant*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d832d00]
#55: PrepareAndDispatch[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5f8ace]
#56: SharedStub[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5f8b57]
#57: nsObserverList::NotifyObservers(nsISupports*, char const*, char16_t const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c46d3fc]
#58: nsObserverService::NotifyObservers(nsISupports*, char const*, char16_t const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c46ec53]
#59: mozilla::AppShutdown::AdvanceShutdownPhaseInternal(mozilla::ShutdownPhase, bool, char16_t const*, nsCOMPtr<nsISupports> const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c3726fb]
#60: mozilla::AppShutdown::AdvanceShutdownPhase(mozilla::ShutdownPhase, char16_t const*, nsCOMPtr<nsISupports> const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c372834]
#61: nsAppStartup::Quit(unsigned int, int, bool*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2561c237]
#62: nsAppStartup::ExitLastWindowClosingSurvivalArea()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2561c90d]
#63: nsXPTCStubBase::nsXPTCStubBase(nsIXPTCProxy*, nsXPTInterfaceInfo const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5f7b2a]
#64: CallMethodHelper::Invoke()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d85370e]
#65: CallMethodHelper::Call()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d851b2c]
#66: XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d838a17]
#67: XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d8409cd]
#68: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2714b0a2]
#69: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129d1e]
#70: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#71: js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a244]
#72: js::Interpret(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27139567]
#73: MaybeEnterInterpreterTrampoline(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x271292ab]
#74: js::RunScript(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129822]
#75: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129ebd]
#76: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#77: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a3bc]
#78: js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x25ddd13a]
#79: js::jit::InterpretResume(JSContext*, JS::Handle<JSObject*>, JS::Value*, JS::MutableHandle<JS::Value>)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2683ca30]
#80: ??? (???:???)
[589836] Hit MOZ_CRASH([Parent 589836, Main Thread] ###!!! ABORT: file resource://gre/modules/addons/XPIProvider.sys.mjs:2751) at /builds/psumbera/mozilla-central-build/xpcom/base/nsDebugImpl.cpp:528
#01: Abort(char const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c36880f]
#02: NS_DebugBreak[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c368683]
#03: nsDebugImpl::Abort(char const*, int)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c367d5f]
#04: nsXPTCStubBase::nsXPTCStubBase(nsIXPTCProxy*, nsXPTInterfaceInfo const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5f7b2a]
#05: CallMethodHelper::Invoke()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d85370e]
#06: CallMethodHelper::Call()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d851b2c]
#07: XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d838a17]
#08: XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d8409cd]
#09: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2714b0a2]
#10: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129d1e]
#11: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#12: js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a244]
#13: js::Interpret(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27139567]
#14: MaybeEnterInterpreterTrampoline(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x271292ab]
#15: js::RunScript(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129822]
#16: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129ebd]
#17: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#18: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a3bc]
#19: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x25a19f31]
#20: PromiseReactionJob(JSContext*, unsigned int, JS::Value*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x25d2b487]
#21: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2714b0a2]
#22: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129d1e]
#23: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#24: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a3bc]
#25: JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x25ac1411]
#26: mozilla::dom::PromiseJobCallback::Call(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::ErrorResult&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x20187500]
#27: mozilla::dom::PromiseJobCallback::Call(mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c38f4db]
#28: mozilla::dom::PromiseJobCallback::Call(char const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c38f58a]
#29: mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c3a41c2]
#30: mozilla::CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c37717c]
#31: mozilla::CycleCollectedJSContext::AfterProcessTask(unsigned int)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c376384]
#32: XPCJSContext::AfterProcessTask(unsigned int)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d7cb9ce]
#33: nsThread::ProcessNextEvent(bool, bool*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5a7a03]
#34: NS_ProcessNextEvent(nsIThread*, bool)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5b29e6]
#35: bool mozilla::SpinEventLoopUntil<(mozilla::ProcessFailureBehavior)1, nsThreadManager::SpinEventLoopUntilInternal(nsTSubstring<char> const&, nsINestedEventLoopCondition*, mozilla::ShutdownPhase)::{lambda()#1}>(nsTSubstring<char> const&, nsThreadManager::Sp[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5b91f4]
#36: nsThreadManager::SpinEventLoopUntilInternal(nsTSubstring<char> const&, nsINestedEventLoopCondition*, mozilla::ShutdownPhase)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5ac960]
#37: nsThreadManager::SpinEventLoopUntil(nsTSubstring<char> const&, nsINestedEventLoopCondition*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5ac6dd]
#38: nsXPTCStubBase::nsXPTCStubBase(nsIXPTCProxy*, nsXPTInterfaceInfo const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5f7b2a]
#39: CallMethodHelper::Invoke()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d85370e]
#40: CallMethodHelper::Call()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d851b2c]
#41: XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d838a17]
#42: XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d8409cd]
#43: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2714b0a2]
#44: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129d1e]
#45: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#46: js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a244]
#47: js::Interpret(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27139567]
#48: MaybeEnterInterpreterTrampoline(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x271292ab]
#49: js::RunScript(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129822]
#50: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129ebd]
#51: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#53: JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x25ac0c9c]
#54: nsXPCWrappedJS::CallMethod(unsigned short, nsXPTMethodInfo const*, nsXPTCMiniVariant*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d832d00]
#55: PrepareAndDispatch[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5f8ace]
#56: SharedStub[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5f8b57]
#57: nsObserverList::NotifyObservers(nsISupports*, char const*, char16_t const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c46d3fc]
#58: nsObserverService::NotifyObservers(nsISupports*, char const*, char16_t const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c46ec53]
#59: mozilla::AppShutdown::AdvanceShutdownPhaseInternal(mozilla::ShutdownPhase, bool, char16_t const*, nsCOMPtr<nsISupports> const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c3726fb]
#60: mozilla::AppShutdown::AdvanceShutdownPhase(mozilla::ShutdownPhase, char16_t const*, nsCOMPtr<nsISupports> const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c372834]
#61: nsAppStartup::Quit(unsigned int, int, bool*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2561c237]
#62: nsAppStartup::ExitLastWindowClosingSurvivalArea()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2561c90d]
#63: nsXPTCStubBase::nsXPTCStubBase(nsIXPTCProxy*, nsXPTInterfaceInfo const*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1c5f7b2a]
#64: CallMethodHelper::Invoke()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d85370e]
#65: CallMethodHelper::Call()[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d851b2c]
#66: XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d838a17]
#67: XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x1d8409cd]
#68: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2714b0a2]
#69: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129d1e]
#70: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#71: js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a244]
#72: js::Interpret(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27139567]
#73: MaybeEnterInterpreterTrampoline(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x271292ab]
#74: js::RunScript(JSContext*, js::RunState&)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129822]
#75: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x27129ebd]
#76: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a1f9]
#77: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2712a3bc]
#78: js::CallSelfHostedFunction(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x25ddd13a]
#79: js::jit::InterpretResume(JSContext*, JS::Handle<JSObject*>, JS::Value*, JS::MutableHandle<JS::Value>)[/builds/psumbera/mozilla-central-build/INSTALLED/lib/firefox/libxul.so +0x2683ca30]
#80: ??? (???:???)

The first bad revision is:
changeset: 782249:6735c01dcfa6
user: jules <jules@mozilla.com>
date: Mon Apr 07 17:08:39 2025 -0700
description:
Bug 1861526 - Improve our existing color palette r=reusable-components-reviewers,desktop-theme-reviewers,tabbrowser-reviewers,dao,hjones

Keywords: regression
Regressed by: 1861526

I can see on console before the crash following:

*** You are running in headless mode.
[WARN  rkv::backend::impl_safe::environment] `load_ratio()` is irrelevant for this storage backend.
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: Unable to open a connection to the X server (t=9.39777) [GFX1-]: glxtest: Unable to open a connection to the X server
[Parent 589836, Main Thread] WARNING: Failed to parse GL version!: file /builds/psumbera/mozilla-central-build/widget/gtk/GfxInfo.cpp:351
[Parent 589836, Main Thread] WARNING: Failed to detect GL vendor!: file /builds/psumbera/mozilla-central-build/widget/gtk/GfxInfo.cpp:425
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: Unable to open a connection to the X server (t=9.39777) |[1][GFX1-]: No GPUs detected via PCI
 (t=9.41396) [GFX1-]: No GPUs detected via PCI

[WARN  rkv::backend::impl_safe::environment] `load_ratio()` is irrelevant for this storage backend.
[Parent 589836, GMPThread] WARNING: Failed to delete GMP storage directory: file /builds/psumbera/mozilla-central-build/dom/media/gmp/GMPServiceParent.cpp:1858
[WARN  webrender::renderer::init] asking to enable_gpu_markers but no supporting extension was found
[WARN  webrender::renderer::init] asking to enable_gpu_markers but no supporting extension was found
Screenshot saved to: /builds/psumbera/mozilla-central-build/screenshot.png
console.error: AboutHomeStartupCache: "requestCache called with no _procManager!"
console.error: Region.sys.mjs: "Error fetching region" (new Error("TIMEOUT", "resource://gre/modules/Region.sys.mjs", 755))
console.error: Region.sys.mjs: "Failed to fetch region" (new Error("TIMEOUT", "resource://gre/modules/Region.sys.mjs", 407))
WARNING: At least one completion condition is taking too long to complete. Conditions: [{"name":"XPIProvider shutdown","state":"(none)","filename":"resource://gre/modules/addons/XPIProvider.sys.mjs","lineNumber":2751,"stack":["resource:
//gre/modules/addons/XPIProvider.sys.mjs:startup:2751","resource://gre/modules/AddonManager.sys.mjs:callProvider:228","resource://gre/modules/AddonManager.sys.mjs:_startProvider:537","resource://gre/modules/AddonManager.sys.mjs:startup:
750","resource://gre/modules/AddonManager.sys.mjs:startup:3695","resource://gre/modules/amManager.sys.mjs:observe:73"]}] Barrier: quit-application
console.warn: services.settings: Could not determine network status. Message: TypeError: can't access property "getService", Cc[aContract] is undefined
[WARN  rkv::backend::impl_safe::environment] `load_ratio()` is irrelevant for this storage backend.
console.error: (new Error("Polling for changes failed: .", "resource://services-settings/remote-settings.sys.mjs", 430))
JavaScript error: resource://gre/modules/ServiceRequest.sys.mjs, line 126:
JavaScript error: resource://gre/modules/UpdateService.sys.mjs, line 5460:
console.error: Region.sys.mjs: "Error fetching region" (new TypeError("NetworkError when attempting to fetch resource.", "resource://gre/modules/AsyncShutdown.sys.mjs", 569))
console.error: Region.sys.mjs: "Failed to fetch region" (new Error("NO_RESULT", "resource://gre/modules/Region.sys.mjs", 407))
[Parent 589836, StreamTrans #3] WARNING: Failed to retrieve memory telemetry for ResidentPeak: file /builds/psumbera/mozilla-central-build/xpcom/base/MemoryTelemetry.cpp:356
JavaScript error: resource://gre/modules/TelemetrySession.sys.mjs, line 744: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsITelemetry.msSinceProcessStartIncludingSuspend]
[Child 589844, StreamTrans #1] WARNING: Failed to retrieve memory telemetry for ResidentPeak: file /builds/psumbera/mozilla-central-build/xpcom/base/MemoryTelemetry.cpp:356
[Child 589844, StreamTrans #2] WARNING: Failed to retrieve memory telemetry for ResidentPeak: file /builds/psumbera/mozilla-central-build/xpcom/base/MemoryTelemetry.cpp:356
console.error: services.settings:
  Remote Settings startup changesets bundle could not be extracted (TypeError: NetworkError: Network request failed)
console.error: services.settings:
Object
  - prototype Object
    - columnNumber = 0
    - data = null
    - filename = resource://gre/modules/ServiceRequest.sys.mjs
    - lineNumber = 126
    - location = {"name":"open","filename":"resource://gre/modules/ServiceRequest.sys.mjs","sourceId":26,"lineNumber":126,"columnNumber":11,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/Utils.sy
s.mjs","name":"fetch/<","sourceId":25,"lineNumber":268,"columnNumber":15,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/Utils.sys.mjs","name":"fetch","sourceId":25,"lineNumber":219,"columnNumber"
:12,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/Utils.sys.mjs","name":"fetchLatestChanges","sourceId":25,"lineNumber":429,"columnNumber":34,"asyncCause":null,"asyncCaller":null,"caller":{"file
name":"resource://services-settings/RemoteSettingsClient.sys.mjs","name":"sync","sourceId":23,"lineNumber":625,"columnNumber":42,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/RemoteSettingsClien
t.sys.mjs","name":"get/this._importingPromise<","sourceId":23,"lineNumber":477,"columnNumber":28,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://gre/modules/AsyncShutdown.sys.mjs","name":"observe","sourceId":16,"li
neNumber":569,"columnNumber":17,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource:///modules/HeadlessShell.sys.mjs","name":"handleCmdLineArgs","sourceId":137,"lineNumber":256,"columnNumber":24,"asyncCause":null,"asyncC
aller":null,"caller":null,"formattedStack":"handleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"observe@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@re
source:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"get/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mj
s:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"sync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://servi
ces-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"fetchLatestCha
nges@resource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resourc
e://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"fetch@resource://services-settings/Utils.sys.mjs:219:12\nfetchLatestChanges@res
ource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/
modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"fetch/<@resource://services-settings/Utils.sys.mjs:268:15\nfetch@resource://services-se
ttings/Utils.sys.mjs:219:12\nfetchLatestChanges@resource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSet
tingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"open@resource://gre/modules/ServiceR
equest.sys.mjs:126:11\nfetch/<@resource://services-settings/Utils.sys.mjs:268:15\nfetch@resource://services-settings/Utils.sys.mjs:219:12\nfetchLatestChanges@resource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-se
ttings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules
/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}}
    - message =
    - name =
    - result = 2152071198
    - stack = open@resource://gre/modules/ServiceRequest.sys.mjs:126:11|fetch/<@resource://services-settings/Utils.sys.mjs:268:15|fetch@resource://services-settings/Utils.sys.mjs:219:12|fetchLatestChanges@resource://services-settings/Ut
ils.sys.mjs:429:34|sync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42|get/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28|observe@resource://gre/modules/AsyncShutdown.sys.mjs:5
69:17|handleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24|
  - prototype Object
console.error: services.settings:
Object
  - prototype Object
    - columnNumber = 0
    - data = null
    - filename = resource://gre/modules/ServiceRequest.sys.mjs
    - lineNumber = 126
    - location = {"name":"open","filename":"resource://gre/modules/ServiceRequest.sys.mjs","sourceId":26,"lineNumber":126,"columnNumber":11,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/Utils.sy
s.mjs","name":"fetch/<","sourceId":25,"lineNumber":268,"columnNumber":15,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/Utils.sys.mjs","name":"fetch","sourceId":25,"lineNumber":219,"columnNumber"
:12,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/Utils.sys.mjs","name":"fetchLatestChanges","sourceId":25,"lineNumber":429,"columnNumber":34,"asyncCause":null,"asyncCaller":null,"caller":{"file
name":"resource://services-settings/RemoteSettingsClient.sys.mjs","name":"sync","sourceId":23,"lineNumber":625,"columnNumber":42,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/RemoteSettingsClien
t.sys.mjs","name":"get/this._importingPromise<","sourceId":23,"lineNumber":477,"columnNumber":28,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://gre/modules/AsyncShutdown.sys.mjs","name":"observe","sourceId":16,"li
neNumber":569,"columnNumber":17,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource:///modules/HeadlessShell.sys.mjs","name":"handleCmdLineArgs","sourceId":137,"lineNumber":256,"columnNumber":24,"asyncCause":null,"asyncC
aller":null,"caller":null,"formattedStack":"handleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"observe@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@re
source:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"get/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mj
s:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"sync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://servi
ces-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"fetchLatestCha
nges@resource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resourc
e://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"fetch@resource://services-settings/Utils.sys.mjs:219:12\nfetchLatestChanges@res
ource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/
modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"fetch/<@resource://services-settings/Utils.sys.mjs:268:15\nfetch@resource://services-se
ttings/Utils.sys.mjs:219:12\nfetchLatestChanges@resource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSet
tingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"open@resource://gre/modules/ServiceR
equest.sys.mjs:126:11\nfetch/<@resource://services-settings/Utils.sys.mjs:268:15\nfetch@resource://services-settings/Utils.sys.mjs:219:12\nfetchLatestChanges@resource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-se
ttings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules
/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}}
    - message =
    - name =
    - result = 2152071198
    - stack = open@resource://gre/modules/ServiceRequest.sys.mjs:126:11|fetch/<@resource://services-settings/Utils.sys.mjs:268:15|fetch@resource://services-settings/Utils.sys.mjs:219:12|fetchLatestChanges@resource://services-settings/Ut
ils.sys.mjs:429:34|sync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42|get/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28|observe@resource://gre/modules/AsyncShutdown.sys.mjs:5
69:17|handleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24|
  - prototype Object
console.error: services.settings:
Object
  - prototype Object
    - columnNumber = 0
    - data = null
    - filename = resource://gre/modules/ServiceRequest.sys.mjs
    - lineNumber = 126
    - location = {"name":"open","filename":"resource://gre/modules/ServiceRequest.sys.mjs","sourceId":26,"lineNumber":126,"columnNumber":11,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/Utils.sy
s.mjs","name":"fetch/<","sourceId":25,"lineNumber":268,"columnNumber":15,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/Utils.sys.mjs","name":"fetch","sourceId":25,"lineNumber":219,"columnNumber"
:12,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/Utils.sys.mjs","name":"fetchLatestChanges","sourceId":25,"lineNumber":429,"columnNumber":34,"asyncCause":null,"asyncCaller":null,"caller":{"file
name":"resource://services-settings/RemoteSettingsClient.sys.mjs","name":"sync","sourceId":23,"lineNumber":625,"columnNumber":42,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://services-settings/RemoteSettingsClien
t.sys.mjs","name":"get/this._importingPromise<","sourceId":23,"lineNumber":477,"columnNumber":28,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource://gre/modules/AsyncShutdown.sys.mjs","name":"observe","sourceId":16,"li
neNumber":569,"columnNumber":17,"asyncCause":null,"asyncCaller":null,"caller":{"filename":"resource:///modules/HeadlessShell.sys.mjs","name":"handleCmdLineArgs","sourceId":137,"lineNumber":256,"columnNumber":24,"asyncCause":null,"asyncC
aller":null,"caller":null,"formattedStack":"handleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"observe@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@re
source:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"get/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mj
s:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"sync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://servi
ces-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"fetchLatestCha
nges@resource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resourc
e://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"fetch@resource://services-settings/Utils.sys.mjs:219:12\nfetchLatestChanges@res
ource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/
modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"fetch/<@resource://services-settings/Utils.sys.mjs:268:15\nfetch@resource://services-se
ttings/Utils.sys.mjs:219:12\nfetchLatestChanges@resource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSet
tingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}},"formattedStack":"open@resource://gre/modules/ServiceR
equest.sys.mjs:126:11\nfetch/<@resource://services-settings/Utils.sys.mjs:268:15\nfetch@resource://services-settings/Utils.sys.mjs:219:12\nfetchLatestChanges@resource://services-settings/Utils.sys.mjs:429:34\nsync@resource://services-se
ttings/RemoteSettingsClient.sys.mjs:625:42\nget/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28\nobserve@resource://gre/modules/AsyncShutdown.sys.mjs:569:17\nhandleCmdLineArgs@resource:///modules
/HeadlessShell.sys.mjs:256:24\n","nativeSavedFrame":{}}
    - message =
    - name =
    - result = 2152071198
    - stack = open@resource://gre/modules/ServiceRequest.sys.mjs:126:11|fetch/<@resource://services-settings/Utils.sys.mjs:268:15|fetch@resource://services-settings/Utils.sys.mjs:219:12|fetchLatestChanges@resource://services-settings/Ut
ils.sys.mjs:429:34|sync@resource://services-settings/RemoteSettingsClient.sys.mjs:625:42|get/this._importingPromise<@resource://services-settings/RemoteSettingsClient.sys.mjs:477:28|observe@resource://gre/modules/AsyncShutdown.sys.mjs:5
69:17|handleCmdLineArgs@resource:///modules/HeadlessShell.sys.mjs:256:24|
  - prototype Object
JavaScript error: resource://gre/modules/AsyncShutdown.sys.mjs, line 569: uncaught exception: undefined
console.error: "TargetingContextRecorder: Could not get \"activeExperiments\"" (void 0)
console.error: "TargetingContextRecorder: Could not get \"activeRollouts\"" (void 0)
console.error: "TargetingContextRecorder: Could not get \"enrollmentsMap\"" (void 0)
console.error: "Failed to import bookmarks from chrome://browser/content/default-bookmarks.html:" [Exception... "<no message>"  nsresult: "0x8046001e (<unknown>)"  location: "JS frame :: resource://gre/modules/BookmarkHTMLUtils.sys.mjs
:: fetchData/< :: line 1147"  data: no]
console.error: "Bookmarks.html file could be corrupt. " [Exception... "<no message>"  nsresult: "0x8046001e (<unknown>)"  location: "JS frame :: resource://gre/modules/BookmarkHTMLUtils.sys.mjs :: fetchData/< :: line 1147"  data: no]
[Parent 589836, Main Thread] WARNING: NS_ENSURE_TRUE(mNameHashtable.Get(aName, &index)) failed: file /builds/psumbera/mozilla-central-build/storage/mozStorageRow.cpp:91
FATAL ERROR: AsyncShutdown timeout in quit-application Conditions: [{"name":"XPIProvider shutdown","state":"(none)","filename":"resource://gre/modules/addons/XPIProvider.sys.mjs","lineNumber":2751,"stack":["resource://gre/modules/addons
/XPIProvider.sys.mjs:startup:2751","resource://gre/modules/AddonManager.sys.mjs:callProvider:228","resource://gre/modules/AddonManager.sys.mjs:_startProvider:537","resource://gre/modules/AddonManager.sys.mjs:startup:750","resource://gre
/modules/AddonManager.sys.mjs:startup:3695","resource://gre/modules/amManager.sys.mjs:observe:73"]}] At least one completion condition failed to complete within a reasonable amount of time. Causing a crash to ensure that we do not leave
 the user with an unresponsive process draining resources.
WARNING: No crash reporter available

The Bugbug bot thinks this bug should belong to the 'Firefox::Tabbed Browser' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Tabbed Browser

:jules, since you are the author of the regressor, bug 1861526, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(jules)

Hey Emilio and Shane, curious if either of you would have an idea of what could have caused this failure. Shane - tagging you because it seems to have failed on the addon manager. Just a hunch for now. Thanks in advance.

Flags: needinfo?(scaraveo)
Flags: needinfo?(jules)
Flags: needinfo?(emilio)

redirecting ni?

Flags: needinfo?(scaraveo) → needinfo?(lgreco)

Is it crashing on startup? Or on shutdown? As in, do you get to see a window?

The patch is mostly CSS, so it'd be good to know what part of the patch causes it exactly, if it's not too hard to hand-bisect?

Flags: needinfo?(emilio) → needinfo?(petr.sumbera)

It seems to crash only in headless mode:
firefox --screenshot about:blank

Flags: needinfo?(petr.sumbera)

Why is the "XPIProvider shutdown" shutdown blocker not reporting any state? That may be useful to debug these kind of shutdown crashes. Even if, in practice, it can only timeout at one of these
Some state progress could tell which promise is not resolving.
The first await is pretty large and it would be useful to know which promises settled and which didn't, though for that you may need to track addon ids along with each promise, use a for loop and update the state object at each loop removing the one that settled.
I'm not sure if there'd be privacy implications sending addon ids along with the crash metadata, you probably know better than me.

I do not understand how that CSS change could impact that... Petr, does the profiler work in Solaris? Probably not... But maybe there's something a la perf that could tell us what is going on?

Flags: needinfo?(petr.sumbera)

(In reply to Petr Sumbera from comment #7)

It seems to crash only in headless mode:
firefox --screenshot about:blank

IIRC this is kind of a "start - screenshot - shutdown" sequence, which can easily detect races between shutdown and things not yet fully initialized.

And bug 1955542 moved the XPIProvider shutdown one phase later, meaning that if there already was a race we might have changed its timing (or something is now able to run and trying to initialize it that previously found it shut down, already).

On a local debug build under linux, ./mach run --screenshot about:blank works without hang, but I read:

Shutdown called before Glean is initialized. Waiting.

confirming we are racing between init and shutdown in general.

See Also: → 1814104

While bug 1955542 might have made this visible I assume the underlying problem was pre-existing and did just surface now for different timing.

I do not see any related intermittent from our CI, yet. But there are a few instances in crash-stats, and there were also some before for quit-application-granted.

I wonder if one could try to craft some verify-mode test, using chaosmode, to make it reproduce more reliably.

(In reply to Marco Bonardo [:mak] from comment #8)

Why is the "XPIProvider shutdown" shutdown blocker not reporting any state? That may be useful to debug these kind of shutdown crashes. Even if, in practice, it can only timeout at one of these
Some state progress could tell which promise is not resolving.
The first await is pretty large and it would be useful to know which promises settled and which didn't, though for that you may need to track addon ids along with each promise, use a for loop and update the state object at each loop removing the one that settled.
I'm not sure if there'd be privacy implications sending addon ids along with the crash metadata, you probably know better than me.

I think this would also be a good way to make this more actionable.

Petr, I assume this is happening on a fresh build with an empty profile for you?

Crash Signature: [@ AsyncShutdownTimeout | quit-application | XPIProvider shutdown ]
Component: Tabbed Browser → Add-ons Manager
Product: Firefox → Toolkit
No longer regressed by: 1861526

The bug has a crash signature, thus the bug will be considered confirmed.

Status: UNCONFIRMED → NEW
Ever confirmed: true

This bug has been marked as a regression. Setting status flag for Nightly to affected.

(In reply to Jens Stutte [:jstutte] from comment #11)

Petr, I assume this is happening on a fresh build with an empty profile for you?

Yes.

Flags: needinfo?(petr.sumbera)

I haven't investigated this bug, but note that recently there was a change to the exact trigger in bug 1955542.

See Also: → 1955542

(In reply to Rob Wu [:robwu] from comment #15)

I haven't investigated this bug, but note that recently there was a change to the exact trigger in bug 1955542.

See comment 11, in summary there are two things here:

  • The former XPIProvider caused hangs at quitApplicationGranted moved now to appShutdownConfirmedaka quit-application in crash-stats.
  • The special test case Petr uses is highly race-prone for everything that could possibly go wrong between startup and shutdown.

(In reply to Rob Wu [:robwu] from comment #15)

I haven't investigated this bug, but note that recently there was a change to the exact trigger in bug 1955542.

I have reverted this change in my worspace with latest sources and it now doesn't crash.

So I now wonder whether my bisecting was right...

That patch makes a lot more sense

Regressed by: 1955542
See Also: 1955542

Set release status flags based on info from the regressing bug 1955542

(In reply to Emilio Cobos Álvarez (:emilio) from comment #18)

That patch makes a lot more sense

We can keep that as regressing bug for Petr's problem, but

While bug 1955542 might have made this visible I assume the underlying problem was pre-existing and did just surface now for different timing.

and more importantly the crashes in crash-stats are a duplicate of the never reported as bug crashes we had before for quit-application-granted.

My change from bug 1955542 is just a signature change for those.

Not sure if there is a better way of handling this admittedly confusing state of things? Maybe we can create a new bug for the ever existing hangs from crash-stats with both signatures?

That said, there is a chance that we are seeing the same root cause, so it might be worth investigating Petr's test case here, but it is equally possible that the crashes have a different cause.

I just realized we had bug 1543354, but it has a weird title. Anyhow, its description reads as a startup/shutdown race, too.

See Also: → 1543354
Crash Signature: [@ AsyncShutdownTimeout | quit-application | XPIProvider shutdown ]

Moved the new signature to bug 1543354.

Hi Petr, as part of Bug 1967273 we have applied a fix for an async shutdown timeout failure that looked like the same as this one, could you try to reproduce the issue again and confirm if it can't be reproduced anymore in a recent nightly build?

Thanks for reporting this issue to us and help gathering more details to investigate it.

Flags: needinfo?(lgreco) → needinfo?(petr.sumbera)
Attached file build-log.txt

Unfortunately the problem is still present (see attached log file).

Flags: needinfo?(petr.sumbera)
Assignee: nobody → rob
Status: NEW → ASSIGNED

After adding some additional logging, I see the following context (manually beautified for readability), which solidly points towards bug 1543354:

[
  {
    "name": "Extension startup: addons-search-detection@mozilla.com",
    "state": {
      "state": "Startup: Run manifest, asyncEmitManifestEntry(\"background\")"
    },
    "filename": "resource://gre/modules/addons/XPIProvider.sys.mjs",
    "lineNumber": 2818,
    "stack": [
      "resource://gre/modules/addons/XPIProvider.sys.mjs:startup:2818",
      "resource://gre/modules/AddonManager.sys.mjs:callProvider:228",
      "resource://gre/modules/AddonManager.sys.mjs:_startProvider:537",
      "resource://gre/modules/AddonManager.sys.mjs:startup:750",
      "resource://gre/modules/AddonManager.sys.mjs:startup:3705",
      "resource://gre/modules/amManager.sys.mjs:observe:73"
    ]
  },
  {
    "name": "Extension startup: formautofill@mozilla.org",
    "state": {
      "state": "Startup: Run manifest, asyncEmitManifestEntry(\"background\")"
    },
    "filename": "resource://gre/modules/addons/XPIProvider.sys.mjs",
    "lineNumber": 2818,
    "stack": [
      "resource://gre/modules/addons/XPIProvider.sys.mjs:startup:2818",
      "resource://gre/modules/AddonManager.sys.mjs:callProvider:228",
      "resource://gre/modules/AddonManager.sys.mjs:_startProvider:537",
      "resource://gre/modules/AddonManager.sys.mjs:startup:750",
      "resource://gre/modules/AddonManager.sys.mjs:startup:3705",
      "resource://gre/modules/amManager.sys.mjs:observe:73"
    ]
  },
  {
    "name": "Extension startup: newtab@mozilla.org",
    "state": {
      "state": "Startup: Run manifest, asyncEmitManifestEntry(\"background\")"
    },
    "filename": "resource://gre/modules/addons/XPIProvider.sys.mjs",
    "lineNumber": 2818,
    "stack": [
      "resource://gre/modules/addons/XPIProvider.sys.mjs:startup:2818",
      "resource://gre/modules/AddonManager.sys.mjs:callProvider:228",
      "resource://gre/modules/AddonManager.sys.mjs:_startProvider:537",
      "resource://gre/modules/AddonManager.sys.mjs:startup:750",
      "resource://gre/modules/AddonManager.sys.mjs:startup:3705",
      "resource://gre/modules/amManager.sys.mjs:observe:73"
    ]
  },
  {
    "name": "Extension startup: pictureinpicture@mozilla.org",
    "state": {
      "state": "Startup: Run manifest, asyncEmitManifestEntry(\"background\")"
    },
    "filename": "resource://gre/modules/addons/XPIProvider.sys.mjs",
    "lineNumber": 2818,
    "stack": [
      "resource://gre/modules/addons/XPIProvider.sys.mjs:startup:2818",
      "resource://gre/modules/AddonManager.sys.mjs:callProvider:228",
      "resource://gre/modules/AddonManager.sys.mjs:_startProvider:537",
      "resource://gre/modules/AddonManager.sys.mjs:startup:750",
      "resource://gre/modules/AddonManager.sys.mjs:startup:3705",
      "resource://gre/modules/amManager.sys.mjs:observe:73"
    ]
  },
  {
    "name": "Extension startup: webcompat@mozilla.org",
    "state": {
      "state": "Startup: Run manifest, asyncEmitManifestEntry(\"background\")"
    },
    "filename": "resource://gre/modules/addons/XPIProvider.sys.mjs",
    "lineNumber": 2818,
    "stack": [
      "resource://gre/modules/addons/XPIProvider.sys.mjs:startup:2818",
      "resource://gre/modules/AddonManager.sys.mjs:callProvider:228",
      "resource://gre/modules/AddonManager.sys.mjs:_startProvider:537",
      "resource://gre/modules/AddonManager.sys.mjs:startup:750",
      "resource://gre/modules/AddonManager.sys.mjs:startup:3705",
      "resource://gre/modules/amManager.sys.mjs:observe:73"
    ]
  },
  {
    "name": "XPIProvider shutdown",
    "state": "Awaiting startup promises",
    "filename": "resource://gre/modules/addons/XPIProvider.sys.mjs",
    "lineNumber": 2846,
    "stack": [
      "resource://gre/modules/addons/XPIProvider.sys.mjs:startup:2846",
      "resource://gre/modules/AddonManager.sys.mjs:callProvider:228",
      "resource://gre/modules/AddonManager.sys.mjs:_startProvider:537",
      "resource://gre/modules/AddonManager.sys.mjs:startup:750",
      "resource://gre/modules/AddonManager.sys.mjs:startup:3705",
      "resource://gre/modules/amManager.sys.mjs:observe:73"
    ]
  }
]
Depends on: 1543354
Keywords: leave-open
Regressions: 1543354
See Also: 1543354
No longer regressions: 1543354

I can still see the problem even with above commit in place.

I added the leave-open keyword to signal that the bug is not resolved. The patch here only adds some logging to see what's going on.

With additional logging, I can see the shutdown/startup being stuck at https://searchfox.org/mozilla-central/rev/b63f8c50a3398aff80d2a5f185a90dcdba47f419/toolkit/components/extensions/parent/ext-backgroundPage.js#135,140

[
  {
    "name": "Extension startup: addons-search-detection@mozilla.com",
    "state": {
      "state": "Startup: Run manifest, asyncEmitManifestEntry(\"background\"), BackgroundStartupState(promiseBackgroundViewLoaded)"

from try push: https://treeherder.mozilla.org/jobs?repo=try&revision=c791b69b9467914905edb8acabf8d4654aee3784&selectedTaskRun=fl7Zz2-ATvG7RJ9oxOPLRw.0

(In reply to Rob Wu [:robwu] from comment #30)

I added the leave-open keyword to signal that the bug is not resolved. The patch here only adds some logging to see what's going on.

Sorry I didn't notice it.

I see If it does make sense:

FATAL ERROR: AsyncShutdown timeout in quit-application Conditions: [{"name":"Extension startup: addons-search-detection@mozilla.com","state":{"state":"Startup: Run manifest, asyncEmitMa
nifestEntry(\"background\")"},"filename":"resource://gre/modules/addons/XPIProvider.sys.mjs","lineNumber":2818,"stack":["resource://gre/modules/addons/XPIProvider.sys.mjs:startup:2818",
"resource://gre/modules/AddonManager.sys.mjs:callProvider:228","resource://gre/modules/AddonManager.sys.mjs:_startProvider:537","resource://gre/modules/AddonManager.sys.mjs:startup:750"
,"resource://gre/modules/AddonManager.sys.mjs:startup:3705","resource://gre/modules/amManager.sys.mjs:observe:73"]},{"name":"Extension startup: formautofill@mozilla.org","state":{"state
":"Startup: Run manifest, asyncEmitManifestEntry(\"background\")"},"filename":"resource://gre/modules/addons/XPIProvider.sys.mjs","lineNumber":2818,"stack":["resource://gre/modules/addo
ns/XPIProvider.sys.mjs:startup:2818","resource://gre/modules/AddonManager.sys.mjs:callProvider:228","resource://gre/modules/AddonManager.sys.mjs:_startProvider:537","resource://gre/modu
les/AddonManager.sys.mjs:startup:750","resource://gre/modules/AddonManager.sys.mjs:startup:3705","resource://gre/modules/amManager.sys.mjs:observe:73"]},{"name":"Extension startup: newt
ab@mozilla.org","state":{"state":"Startup: Run manifest, asyncEmitManifestEntry(\"background\")"},"filename":"resource://gre/modules/addons/XPIProvider.sys.mjs","lineNumber":2818,"stack
":["resource://gre/modules/addons/XPIProvider.sys.mjs:startup:2818","resource://gre/modules/AddonManager.sys.mjs:callProvider:228","resource://gre/modules/AddonManager.sys.mjs:_startPro
vider:537","resource://gre/modules/AddonManager.sys.mjs:startup:750","resource://gre/modules/AddonManager.sys.mjs:startup:3705","resource://gre/modules/amManager.sys.mjs:observe:73"]},{
"name":"Extension startup: pictureinpicture@mozilla.org","state":{"state":"Startup: Run manifest, asyncEmitManifestEntry(\"background\")"},"filename":"resource://gre/modules/addons/XPIP
rovider.sys.mjs","lineNumber":2818,"stack":["resource://gre/modules/addons/XPIProvider.sys.mjs:startup:2818","resource://gre/modules/AddonManager.sys.mjs:callProvider:228","resource://g
re/modules/AddonManager.sys.mjs:_startProvider:537","resource://gre/modules/AddonManager.sys.mjs:startup:750","resource://gre/modules/AddonManager.sys.mjs:startup:3705","resource://gre/
modules/amManager.sys.mjs:observe:73"]},{"name":"Extension startup: webcompat@mozilla.org","state":{"state":"Startup: Run manifest, asyncEmitManifestEntry(\"background\")"},"filename":"
resource://gre/modules/addons/XPIProvider.sys.mjs","lineNumber":2818,"stack":["resource://gre/modules/addons/XPIProvider.sys.mjs:startup:2818","resource://gre/modules/AddonManager.sys.m
js:callProvider:228","resource://gre/modules/AddonManager.sys.mjs:_startProvider:537","resource://gre/modules/AddonManager.sys.mjs:startup:750","resource://gre/modules/AddonManager.sys.
mjs:startup:3705","resource://gre/modules/amManager.sys.mjs:observe:73"]},{"name":"XPIProvider shutdown","state":"Awaiting startup promises","filename":"resource://gre/modules/addons/XP
IProvider.sys.mjs","lineNumber":2846,"stack":["resource://gre/modules/addons/XPIProvider.sys.mjs:startup:2846","resource://gre/modules/AddonManager.sys.mjs:callProvider:228","resource:/
/gre/modules/AddonManager.sys.mjs:_startProvider:537","resource://gre/modules/AddonManager.sys.mjs:startup:750","resource://gre/modules/AddonManager.sys.mjs:startup:3705","resource://gr
e/modules/amManager.sys.mjs:observe:73"]}] At least one completion condition failed to complete within a reasonable amount of time. Causing a crash to ensure that we do not leave the us
er with an unresponsive process draining resources.

I can reproduce the issue on a local (artifact) build on macOS with:
./mach run --temp-profile --setpref=browser.dom.window.dump.enabled=true -screenshot about:blank

and pinpointed the issue to the load being aborted on shutdown, without it being detected at https://searchfox.org/mozilla-central/rev/b63f8c50a3398aff80d2a5f185a90dcdba47f419/toolkit/components/extensions/parent/ext-backgroundPage.js#135,140

The load is canceled with status NS_ERROR_ILLEGAL_DURING_SHUTDOWN (observable via onStateChange).

Whiteboard: [addons-jira]

I'm swapping the dependency around. There is a specific bug here independently of bug 1543354. Fixing this bug should hopefully lower the reported AsyncShutdown crashes associated with bug 1543354.

Blocks: 1543354
No longer depends on: 1543354
Severity: -- → S3
Keywords: leave-open
Priority: -- → P2
Blocks: 1978688
Blocks: 1974419
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 143 Branch

The patch landed in nightly and beta is affected.
:robwu, is this bug important enough to require an uplift?

For more information, please visit BugBot documentation.

Flags: needinfo?(rob)

No particular rush to fasttrack to Beta, but I'm going to uplift to ESR140 since the crash rates went up a few months ago in bug 1543354, which suggests that users who upgrade from ESR128 to ESR140 would also encounter the same regression.

I'm expecting the fixes here to lower the crash rates observed in bug 1543354.

Flags: needinfo?(rob)
Whiteboard: [addons-jira] → [addons-jira][reminder-landing 2025-11-08]
Whiteboard: [addons-jira][reminder-landing 2025-11-08] → [addons-jira]
Attachment #9505584 - Flags: approval-mozilla-esr140?

firefox-esr140 Uplift Approval Request

  • User impact if declined: Firefox may hang on shutdown when it attempts to quit near startup
  • Code covered by automated testing: yes
  • Fix verified in Nightly: yes
  • Needs manual QE test: no
  • Steps to reproduce for manual QE testing: QE not needed due to automated tests, but if desired can easily be reproduced with: firefox --screenshot about:blank
  • Risk associated with taking this patch: Low
  • Explanation of risk level: Covered by automated tests, including extra coverage for edge cases. Only change is that an aborted extension startup (e.g. due to shutdown) is interrupted with an error instead of hanging indefinitely
  • String changes made/needed: None
  • Is Android affected?: no
Flags: in-testsuite+
Attachment #9505584 - Flags: approval-mozilla-esr140? → approval-mozilla-esr140+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: