Closed Bug 1903631 Opened 2 years ago Closed 2 years ago

mach xpcshell crashes on m1 macs trying to initialize the socket process

Categories

(Firefox Build System :: Mach Core, defect)

defect

Tracking

(firefox129 fixed)

RESOLVED FIXED
129 Branch
Tracking Status
firefox129 --- fixed

People

(Reporter: beth, Assigned: beth)

References

Details

Attachments

(1 file)

Running mach xpcshell on m1 macs results in a crash:

$ lldb ./obj-artifact/dist/bin/xpcshell
(lldb) target create "./obj-artifact/dist/bin/xpcshell"
Current executable set to '/Users/barret/Workspace/src/hg.mozilla.org/mozilla-unified/obj-artifact/dist/bin/xpcshell' (arm64).
(lldb) run -g /Users/barret/Workspace/src/hg.mozilla.org/mozilla-unified/obj-artifact/dist/bin -a /Users/barret/Workspace/src/hg.mozilla.org/mozilla-unified/obj-artifact/dist/bin/browser extract-test-corpus.js
Process 51473 launched: '/Users/barret/Workspace/src/hg.mozilla.org/mozilla-unified/obj-artifact/dist/bin/xpcshell' (arm64)
Process 51473 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x00000001193dc77c XUL`mozilla::ipc::GeckoChildProcessHost::FillMacSandboxInfo(_MacSandboxInfo&) + 244
XUL`mozilla::ipc::GeckoChildProcessHost::FillMacSandboxInfo:
->  0x1193dc77c <+244>: str    w9, [x8]
    0x1193dc780 <+248>: bl     0x11c774784               ; symbol stub for: abort

XUL`mozilla::ipc::GeckoChildProcessHost::DisableOSActivityMode:
    0x1193dc784 <+0>:   mov    w8, #0x1
    0x1193dc788 <+4>:   strb   w8, [x0, #0x200]
Target 0: (xpcshell) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x00000001193dc77c XUL`mozilla::ipc::GeckoChildProcessHost::FillMacSandboxInfo(_MacSandboxInfo&) + 244
    frame #1: 0x000000011934043c XUL`mozilla::net::SocketProcessHost::FillMacSandboxInfo(_MacSandboxInfo&) + 20
    frame #2: 0x00000001193dc638 XUL`mozilla::ipc::GeckoChildProcessHost::AppendMacSandboxParams(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&) + 160
    frame #3: 0x00000001170ea124 XUL`mozilla::ipc::GeckoChildProcessHost::AsyncLaunch(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >) + 1660
    frame #4: 0x00000001193dc440 XUL`mozilla::ipc::GeckoChildProcessHost::LaunchAndWaitForProcessHandle(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >) + 76
    frame #5: 0x000000011933ff14 XUL`mozilla::net::SocketProcessHost::Launch() + 192
    frame #6: 0x0000000116efecd0 XUL`mozilla::net::nsIOService::LaunchSocketProcess() + 292
    frame #7: 0x0000000116fe13cc XUL`mozilla::net::nsHttpHandler::GetInstance() + 1684
    frame #8: 0x0000000119227ae0 XUL`nsFileChannel::Init() + 60
    frame #9: 0x00000001192292ac XUL`nsFileProtocolHandler::NewChannel(nsIURI*, nsILoadInfo*, nsIChannel**) + 176
    frame #10: 0x0000000116f01688 XUL`mozilla::net::nsIOService::NewChannelFromURIWithProxyFlagsInternal(nsIURI*, nsIURI*, unsigned int, nsILoadInfo*, nsIChannel**) + 696
    frame #11: 0x0000000116f0d2e4 XUL`NS_NewChannelInternal(nsIChannel**, nsIURI*, nsILoadInfo*, mozilla::dom::PerformanceStorage*, nsILoadGroup*, nsIInterfaceRequestor*, unsigned int, nsIIOService*) + 168
    frame #12: 0x0000000116e80294 XUL`nsChromeProtocolHandler::NewChannel(nsIURI*, nsILoadInfo*, nsIChannel**) + 208
    frame #13: 0x0000000116f01688 XUL`mozilla::net::nsIOService::NewChannelFromURIWithProxyFlagsInternal(nsIURI*, nsIURI*, unsigned int, nsILoadInfo*, nsIChannel**) + 696
    frame #14: 0x0000000116f01384 XUL`mozilla::net::nsIOService::NewChannelFromURIWithClientAndController(nsIURI*, nsINode*, nsIPrincipal*, nsIPrincipal*, mozilla::Maybe<mozilla::dom::ClientInfo> const&, mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> const&, unsigned int, nsIContentPolicy::nsContentPolicyType, unsigned int, bool, nsIChannel**) + 168
    frame #15: 0x0000000116f0d5f0 XUL`NS_NewChannelInternal(nsIChannel**, nsIURI*, nsINode*, nsIPrincipal*, nsIPrincipal*, mozilla::Maybe<mozilla::dom::ClientInfo> const&, mozilla::Maybe<mozilla::dom::ServiceWorkerDescriptor> const&, unsigned int, nsIContentPolicy::nsContentPolicyType, nsICookieJarSettings*, mozilla::dom::PerformanceStorage*, nsILoadGroup*, nsIInterfaceRequestor*, unsigned int, nsIIOService*, unsigned int, bool) + 228
    frame #16: 0x0000000116f0d4a0 XUL`NS_NewChannel(nsIChannel**, nsIURI*, nsIPrincipal*, unsigned int, nsIContentPolicy::nsContentPolicyType, nsICookieJarSettings*, mozilla::dom::PerformanceStorage*, nsILoadGroup*, nsIInterfaceRequestor*, unsigned int, nsIIOService*, unsigned int, bool) + 124
    frame #17: 0x0000000116ed95bc XUL`nsStringBundleBase::ParseProperties(nsIPersistentProperties**) + 572
    frame #18: 0x0000000116edba24 XUL`(anonymous namespace)::SharedStringBundle::LoadProperties() + 156
    frame #19: 0x0000000116edc000 XUL`(anonymous namespace)::SharedStringBundle::GetStringImpl(nsTSubstring<char> const&, nsTSubstring<char16_t>&) + 52
    frame #20: 0x0000000116ed98f0 XUL`nsStringBundleBase::GetStringFromName(char const*, nsTSubstring<char16_t>&) + 124
    frame #21: 0x00000001179d6e18 XUL`mozilla::CubebUtils::InitBrandName() + 204
    frame #22: 0x00000001179d8a64 XUL`mozilla::detail::RunnableFunction<void (*)()>::Run() + 16
    frame #23: 0x0000000116e55f1c XUL`mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) + 2516
    frame #24: 0x0000000116e54ae0 XUL`mozilla::TaskController::ProcessPendingMTTask(bool) + 108
    frame #25: 0x0000000116e5e6b0 XUL`mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_1>::Run() (.llvm.13958132928730124418) + 24
    frame #26: 0x0000000116e688cc XUL`nsThread::ProcessNextEvent(bool, bool*) + 960
    frame #27: 0x0000000116e6d34c XUL`nsThreadManager::SpinEventLoopUntilInternal(nsTSubstring<char> const&, nsINestedEventLoopCondition*, mozilla::ShutdownPhase) + 548
    frame #28: 0x0000000116a98878 XUL`_NS_InvokeByIndex + 96
    frame #29: 0x00000001171985f4 XUL`XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) + 2032
    frame #30: 0x0000000117199ad0 XUL`XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) + 388
    frame #31: 0x00000001181226e0 XUL`js::Interpret(JSContext*, js::RunState&) + 35236
    frame #32: 0x0000000118110afc XUL`js::RunScript(JSContext*, js::RunState&) + 516
    frame #33: 0x00000001181187d0 XUL`js::Execute(JSContext*, JS::Handle<JSScript*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>) + 296
    frame #34: 0x00000001181a2ee8 XUL`JS_ExecuteScript(JSContext*, JS::Handle<JSScript*>, JS::MutableHandle<JS::Value>) + 84
    frame #35: 0x0000000119445c20 XUL`ProcessFile(mozilla::dom::AutoJSAPI&, char const*, __sFILE*, bool) + 1160
    frame #36: 0x0000000119445d8c XUL`Process(mozilla::dom::AutoJSAPI&, char const*, bool) + 196
    frame #37: 0x0000000119440c68 XUL`XRE_XPCShellMain(int, char**, char**, XREShellData const*) + 4140
    frame #38: 0x0000000100007e74 xpcshell`main + 128
    frame #39: 0x000000010001d08c dyld`start + 520
Assignee: nobody → brennie
Status: NEW → ASSIGNED
Duplicate of this bug: 1903630
Pushed by brennie@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fd303b1c0cbe Disable the socket process in mach xpcshell r=nalexander
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 129 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: