pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: firefox 58.0 "Gah. Your tab just crashed"



On 2 February 2018 at 18:13, Havard Eidnes <he%netbsd.org@localhost> wrote:
>> OK, my firefox is now 58.0.1, built with debug-info, installed
>> without strip, transported to another machine and installed
>> there.
>>
>> Of course it doesn't exactly behave the same way...
>
> But now I have a "Your tab just crashed" core dump, and it looks
> like this:
>
> [...]
>
> The are around line 136 of js/xpconnect/src/nsXPConnect.cpp is:
>
>
> // static
> void
> nsXPConnect::InitStatics()
> {
>     gSelf = new nsXPConnect();
>     gOnceAliveNowDead = false;
>
>     // Initial extra ref to keep the singleton alive
>     // balanced by explicit call to ReleaseXPConnectSingleton()
>     NS_ADDREF(gSelf);
>
>     // Fire up the SSM.
>     nsScriptSecurityManager::InitStatics();
>     gScriptSecurityManager = nsScriptSecurityManager::GetScriptSecurityManager();
>     gScriptSecurityManager->GetSystemPrincipal(&gSystemPrincipal);
>     MOZ_RELEASE_ASSERT(gSystemPrincipal);
>
>     JSContext* cx = XPCJSContext::Get()->Context();
>     if (!JS::InitSelfHostedCode(cx))
>         MOZ_CRASH("InitSelfHostedCode failed");
>     if (!gSelf->mRuntime->InitializeStrings(cx))
>         MOZ_CRASH("InitializeStrings failed");
>
>     // Initialize our singleton scopes.
>     gSelf->mRuntime->InitSingletonScopes();
> }
>
> and line 136 is the first MOZ_CRASH() call.

(First thought would be to see if you can make MOZ_CRASH() log its
argument before exploding, which while generally helpful is unlikely
to directly help)

I can't think of anything other than the dumb iterative approach to
check if cx is null at this point (to see whether Get()->Context() or
InitSelfHostedCode() is to blame). There are only three 'return
false's in the latter, but then then just gets you down a level. Looks
like XPCJSContext::Get()->Context() returns a
"MOZ_THREAD_LOCAL(XPCJSContext*)gTlsContext" , so I wonder if we could
be into assumptions about Linux threading models...

(Sorry not able to help, other than to say thanks for starting to dig :)

David


Home | Main Index | Thread Index | Old Index