Closed Bug 1001836 Opened 10 years ago Closed 9 years ago

e10s: Immediate child process crash on Mac

Categories

(Core :: DOM: Core & HTML, defect)

All
macOS
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX
Tracking Status
e10s + ---

People

(Reporter: evilpie, Assigned: billm)

References

Details

(Keywords: crash)

Crash Data

Attachments

(2 files)

Somebody just showed this to me. The child process crashes immediately, which makes sense looking at the stack.

https://crash-stats.mozilla.com/report/index/73229ff4-fabb-43d4-95f4-28fe32140426
I get https://crash-stats.mozilla.com/report/index/842d4dff-4bb5-447f-9f5a-5b3b42140505, which is most likely the same issue.

A few notes:
- 100% reproducible for me with my regular profile;
- doesn't show up with a fresh profile;
- as far as I can tell, I have never been able to open a e10s window/tab since the feature landed on Nightly;
- for some reason, opening about:crashes in a e10s window/tab seems to work and I can follow links.
tracking-e10s: --- → ?
Keywords: crash
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Assignee: nobody → wmccloskey
Blocks: old-e10s-m2
I've tested this again since the email about testing e10s went around, but the tab is still crashing immediately with the latest nightly.
Status: REOPENED → NEW
Could one of you guys try to reproduce this in a debug build? The code is supposed to print a message "Received an invalid TabContext from..." right before it crashes. I think it would help a lot to have that message.
Flags: needinfo?(philipp)
Flags: needinfo?(dteller)
Interesting, I only get this in my default profile, using a different one makes it work without issues. Here are some related messages around that line:

Run 1 with addons:


System JS : ERROR resource://gre/modules/commonjs/framescript/tab-events.js:40 - TypeError: content is null
[Parent 4245] WARNING: NS_ENSURE_TRUE(mTextInputHandler) failed: file /builds/slave/m-cen-osx64-d-0000000000000000/build/widget/cocoa/nsChildView.mm, line 5525
[Child 4256] ###!!! ASSERTION: Received an invalid TabContext from the parent process. (Got an ownAppId that didn't correspond to an app.)  Crashing...: 'Error', file /builds/slave/m-cen-osx64-d-0000000000000000/build/dom/ipc/nsIContentChild.cpp, line 66
Hit MOZ_CRASH(Invalid TabContext received from the parent process.) at /builds/slave/m-cen-osx64-d-0000000000000000/build/dom/ipc/nsIContentChild.cpp:67
XRE_InitChildProcess+0x000006CF [/Users/kewisch/mozilla/ffxnightly/./FirefoxNightlyDebug.app/Contents/MacOS/XUL +0x02794A4F]
start+0x0000006B [/Users/kewisch/mozilla/ffxnightly/./FirefoxNightlyDebug.app/Contents/MacOS/plugin-container.app/Contents/MacOS/plugin-container +0x00000E0B]

###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv

Now I disabled all addons, it still happens on this profile:

[Parent 4294] WARNING: No docshells for remote frames!: file /builds/slave/m-cen-osx64-d-0000000000000000/build/content/base/src/nsFrameLoader.cpp, line 511
[Parent 4294] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file /builds/slave/m-cen-osx64-d-0000000000000000/build/dom/events/ContentEventHandler.cpp, line 110
[Parent 4294] WARNING: NS_ENSURE_SUCCESS(EnsureScriptEnvironment(), nullptr) failed with result 0x80040111: file /builds/slave/m-cen-osx64-d-0000000000000000/build/docshell/base/nsDocShell.cpp, line 4215
[Parent 4294] WARNING: TokensToQueries(), ignoring unknown key: : file /builds/slave/m-cen-osx64-d-0000000000000000/build/toolkit/components/places/nsNavHistoryQuery.cpp, line 848
[Parent 4294] WARNING: redirectsMode: file /builds/slave/m-cen-osx64-d-0000000000000000/build/toolkit/components/places/nsNavHistoryQuery.cpp, line 849
[Child 4303] WARNING: '!compMgr', file /builds/slave/m-cen-osx64-d-0000000000000000/build/xpcom/glue/nsComponentManagerUtils.cpp, line 63
[Child 4303] WARNING: NS_ENSURE_TRUE(svc) failed: file /builds/slave/m-cen-osx64-d-0000000000000000/build/dom/ipc/nsIContentChild.cpp, line 31
[Child 4303] WARNING: '!compMgr', file /builds/slave/m-cen-osx64-d-0000000000000000/build/xpcom/glue/nsComponentManagerUtils.cpp, line 63
[Parent 4294] WARNING: NS_ENSURE_TRUE(mTextInputHandler) failed: file /builds/slave/m-cen-osx64-d-0000000000000000/build/widget/cocoa/nsChildView.mm, line 5525
System JS : WARNING resource://gre/modules/Webapps.jsm:1045 - reference to undefined property msg.app
[Child 4303] ###!!! ASSERTION: Received an invalid TabContext from the parent process. (Got an ownAppId that didn't correspond to an app.)  Crashing...: 'Error', file /builds/slave/m-cen-osx64-d-0000000000000000/build/dom/ipc/nsIContentChild.cpp, line 66
Hit MOZ_CRASH(Invalid TabContext received from the parent process.) at /builds/slave/m-cen-osx64-d-0000000000000000/build/dom/ipc/nsIContentChild.cpp:67

Hope this helps!
Flags: needinfo?(philipp)
For the moment, I cannot launch the latest mozilla-central at all (regardless of e10s) on my default profile. I'll try again later.
Flags: needinfo?(dteller)
Fallen and Yoric: since this doesn't seem to be a problem with your add-ons, can you share your about:support page (with the "Copy text to clipboard" button) in this bug or email? We can compare your results for similarities.
Flags: needinfo?(philipp)
Flags: needinfo?(dteller)
Attached file Fallen's about:support
Flags: needinfo?(philipp)
No longer blocks: old-e10s-m2
Whiteboard: [e10s-m3]
Moving to M3 milestone. These bugs affect e10s dogfooding but Brad and Gavin did not think they were M2 blockers.
Attached file Yoric's about:support
Note that I haven't checked [recently] whether it's related to my add-ons.
Flags: needinfo?(dteller)
Thanks Philipp! That was very helpful. The place where we go wrong is here:
http://mxr.mozilla.org/mozilla-central/source/dom/ipc/TabContext.cpp#328

Are you able to run in a debugger and break on that line? It would be really interesting to know the values of ownApp and ownAppId there. The correct values for e10s are nullptr for ownApp and 0 (== NO_APP_ID) for ownAppId.

I tried to inspect the code, but I'm not very familiar with how all the app manager stuff works, so it's difficult.

Another interesting experiment would be to turn off anything related to b2g or apps or the marketplace. If the problem goes away, then we at least have a hint of what's going wrong.
Flags: needinfo?(philipp)
I'd love to, unfortunately I'm having some trouble with lldb and Firefox. I downloaded a recent debug build, set the setting from https://developer.mozilla.org/en-US/docs/Debugging_Mozilla_with_lldb and started the debug session. None of the breakpoints I set are being resolved. I'll see if I can find someone on IRC to help.

What apps/marketplace settings should I disable to test?
OK. I assume you followed the instructions in the red box on that page? Sometimes that fixes my problems with lldb, although not always.

I'm not sure what settings to disable. I saw from about:support that you had the FFOS simulator and ADB Helper installed as add-ons. Perhaps you could try disabling those? I'm not sure what else.

I'll put together a custom build to print out the information we need. That way we don't need to rely on lldb.
I added some debugging statements and pushed to try. Once the build is done, can you please try it? The lines of interest will start with "!!! ".
  https://tbpl.mozilla.org/?tree=Try&rev=b5502111c8e2

Thanks again.
(In reply to Bill McCloskey (:billm) from comment #14)
> OK. I assume you followed the instructions in the red box on that page?
> Sometimes that fixes my problems with lldb, although not always.
Yes. Too bad thats not enough.


> 
> I'm not sure what settings to disable. I saw from about:support that you had
> the FFOS simulator and ADB Helper installed as add-ons. Perhaps you could
> try disabling those? I'm not sure what else.
I had tested with all addons disabled and hit the same issues, so I doubt its that.

> 
> I'll put together a custom build to print out the information we need. That
> way we don't need to rely on lldb.

Thanks, I'll take a look once its done.
Ok, so it seems to be a webapp of my own. I can uninstall/reinstall it to see if its a result of a past bug, but before I do that maybe there is something else you'd like me to debug to figure out why this is happening in the first place?

!!! WEBAPPS: {"webapps":{"{719bbe39-24e4-c948-91ee-242ce192ef08}":{"name":"nagging","csp":"","installOrigin":"http://nagging.kewis.ch","origin":"http://nagging.kewis.ch","receipts":[],"installTime":1377167246742,"manifestURL":"http://nagging.kewis.ch/app/manifest.webapp","appStatus":1,"removable":true,"id":"{719bbe39-24e4-c948-91ee-242ce192ef08}","localId":0,"basePath":"/Users/kewisch/Library/Application Support/Firefox/Profiles/1et5khxy.default/webapps","progress":0,"installState":"installed","downloadAvailable":false,"downloading":false,"readyToApplyDownload":false,"downloadSize":0,"lastUpdateCheck":1377167246742,"etag":"\"3469cb-1ee-4e486908c8b4c\"","manifestHash":"40935d41c4dbf757a97406d72c3c6c29","installerAppId":0,"installerIsBrowser":false,"storeId":"","storeVersion":0,"role":"","kind":"hosted","widgetPages":[]},"{446adde2-c570-2c4f-8ef5-c20c5d47bd10}":{"name":"Bugzilla Todos","csp":"","installOrigin":"http://harthur.github.io","origin":"http://harthur.github.io","receipts":[],"installTime":1387540840713,"manifestURL":"http://harthur.github.io/bugzilla-todos/manifest.webapp","appStatus":1,"removable":true,"id":"{446adde2-c570-2c4f-8ef5-c20c5d47bd10}","localId":1002,"basePath":"/Users/kewisch/Library/Application Support/Firefox/Profiles/1et5khxy.default/webapps","progress":0,"installState":"installed","downloadAvailable":false,"downloading":false,"readyToApplyDownload":false,"downloadSize":0,"lastUpdateCheck":1387540840713,"etag":null,"manifestHash":"a0532dccdfad0d37927722f6fa78294b","installerAppId":0,"installerIsBrowser":false,"storeId":"","storeVersion":0,"role":"","kind":"hosted","widgetPages":[]}},"manifests":{"{719bbe39-24e4-c948-91ee-242ce192ef08}":{"name":"nagging","description":"The task tracking action that gently nags you into getting your work done","launch_path":"/app/index.html","icons":{"60":"/app/img/icon_60.png","128":"/app/img/icon_128.png"},"developer":{"name":"Philipp Kewisch","url":"http://nagging.kewis.ch"},"default_locale":"en","permissions":{"desktop-notification":{"description":"Required to show desktop notifications for reminders"}}},"{446adde2-c570-2c4f-8ef5-c20c5d47bd10}":{"name":"Bugzilla Todos","description":"A Bugzilla todo list for Mozilla developers","launch_path":"/index.html","developer":{"name":"Heather Arthur","url":"http://github.com/harthur/bugzilla-todos"},"default_locale":"en-US","icons":{"128":"/bugzilla-todos-128.png"}}}}
!!! getAppByLocalId 0 - ready: false
!!! App found: {"name":"nagging","csp":"","installOrigin":"http://nagging.kewis.ch","origin":"http://nagging.kewis.ch","receipts":[],"installTime":1377167246742,"manifestURL":"http://nagging.kewis.ch/app/manifest.webapp","appStatus":1,"removable":true,"id":"{719bbe39-24e4-c948-91ee-242ce192ef08}","localId":0,"basePath":"/Users/kewisch/Library/Application Support/Firefox/Profiles/1et5khxy.default/webapps","progress":0,"installState":"installed","downloadAvailable":false,"downloading":false,"readyToApplyDownload":false,"downloadSize":0,"lastUpdateCheck":1377167246742,"etag":"\"3469cb-1ee-4e486908c8b4c\"","manifestHash":"40935d41c4dbf757a97406d72c3c6c29","installerAppId":0,"installerIsBrowser":false,"storeId":"","storeVersion":0,"role":"","kind":"hosted","widgetPages":[],"manifest":{"name":"nagging","description":"The task tracking action that gently nags you into getting your work done","launch_path":"/app/index.html","icons":{"60":"/app/img/icon_60.png","128":"/app/img/icon_128.png"},"developer":{"name":"Philipp Kewisch","url":"http://nagging.kewis.ch"},"default_locale":"en","permissions":{"desktop-notification":{"description":"Required to show desktop notifications for reminders"}}}}
!!! ownApp = 0x10aba7b00
!!! ownAppId = 0
!!! containingAppId = 0
[Child 52489] ###!!! ASSERTION: Received an invalid TabContext from the parent process. (Got an ownAppId that didn't correspond to an app.)  Crashing...: 'Error', file /builds/slave/try-osx64-d-000000000000000000/build/dom/ipc/nsIContentChild.cpp, line 66
Flags: needinfo?(philipp)
Fabrice, do you know what's going on here? Philipp somehow has an app whose localId is 0, which is NO_APP_ID. Consequently, we're failing here whenever we try to start e10s:
  http://mxr.mozilla.org/mozilla-central/source/dom/ipc/TabContext.cpp#328
(because in e10s, ownAppId == 0 but ownApp is getting set to this weird app with localId 0).

How likely is it that other users will have apps with localId 0? How can we fix the problem?
Flags: needinfo?(fabrice)
(In reply to Bill McCloskey (:billm) from comment #18)
> Fabrice, do you know what's going on here? Philipp somehow has an app whose
> localId is 0, which is NO_APP_ID. Consequently, we're failing here whenever
> we try to start e10s:
>   http://mxr.mozilla.org/mozilla-central/source/dom/ipc/TabContext.cpp#328
> (because in e10s, ownAppId == 0 but ownApp is getting set to this weird app
> with localId 0).
> 
> How likely is it that other users will have apps with localId 0? How can we
> fix the problem?

No app should ever get an appId of 0, but I see one in comment 17. Very weird...

Philipp, how did you install http://nagging.kewis.ch/app/manifest.webapp ? was it sideloaded?
Flags: needinfo?(fabrice) → needinfo?(philipp)
I'm pretty sure the only way I tried to install it was via the website itself. I was debugging the webapp install process, so I might have uninstalled the webapp and reinstalled it again a few times. I don't remember how I triggered the uninstall though.
Flags: needinfo?(philipp)
Given that this seems like a pretty unusual case involving an app that ended up with a bad ID, I don't think this needs to be on the m3 list. We can re-evaluate if more people end up having this issue.
tracking, but not m3+
Whiteboard: [e10s-m3]
I'm going to close this. It seems to have been caused by an app that somehow got installed improperly. I see only two crashes on crashstats and they look FFOS-related.
Status: NEW → RESOLVED
Closed: 10 years ago9 years ago
Resolution: --- → WONTFIX
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: