Closed Bug 1264655 Opened 8 years ago Closed 8 years ago

Assertion while focusing keyboard in text field on webpage: MOZ_Assert: Assertion failure: NS_LoadGroupMatchesPrincipal(loadInfo.mLoadGroup, loadInfo.mPrincipal)

Categories

(Firefox OS Graveyard :: General, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: gerard-majax, Unassigned)

References

Details

(Whiteboard: fixed-in-pine)

Attachments

(2 files)

Reproduced with current pine/kanikani, on a B2G_DEBUG=1 build for Z3c.

STR:
 0. load google.com
 1. focus in text field

We see keyboard appearching then replaced by black area and a notification of a crash. Logcat shows:
04-14 15:15:23.149  5719  5719 F MOZ_Assert: Assertion failure: NS_LoadGroupMatchesPrincipal(loadInfo.mLoadGroup, loadInfo.mPrincipal), at /home/alex/codaz/Mozilla/gecko-cinnabar/dom/workers/WorkerPrivate.cpp:4367
04-14 15:15:23.389  2822  2822 I Gecko   : 
04-14 15:15:23.389  2822  2822 I Gecko   : ###!!! [Parent][MessageChannel] Error: (msgtype=0x2C0074,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv
04-14 15:15:23.389  2822  2822 I Gecko   : 
04-14 15:15:23.399  2822  2843 I Gecko   : [Parent 2822] WARNING: pipe error (235): Connection reset by peer: file /home/alex/codaz/Mozilla/gecko-cinnabar/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 313
04-14 15:15:23.399  2822  2843 I Gecko   : [Parent 2822] WARNING: pipe error (130): Connection reset by peer: file /home/alex/codaz/Mozilla/gecko-cinnabar/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 313
04-14 15:15:23.429  2822  2843 I Gecko   : [Parent 2822] WARNING: Unable to printf the requested string due to error.: file /home/alex/codaz/Mozilla/gecko-cinnabar/ipc/chromium/src/base/string_util.cc, line 427
04-14 15:15:23.439  2822  2822 I Gecko   : [Parent 2822] WARNING: Unable to printf the requested string due to error.: file /home/alex/codaz/Mozilla/gecko-cinnabar/ipc/chromium/src/base/string_util.cc, line 427
04-14 15:15:23.439  2822  2822 I Gecko   : [Parent 2822] WARNING: Unable to printf the requested string due to error.: file /home/alex/codaz/Mozilla/gecko-cinnabar/ipc/chromium/src/base/string_util.cc, line 427
04-14 15:15:23.439  2822  2822 I Gecko   : [Parent 2822] WARNING: Unable to printf the requested string due to error.: file /home/alex/codaz/Mozilla/gecko-cinnabar/ipc/chromium/src/base/string_util.cc, line 427
04-14 15:15:23.449  2822  2822 I Gecko   : [Parent 2822] WARNING: Unable to printf the requested string due to error.: file /home/alex/codaz/Mozilla/gecko-cinnabar/ipc/chromium/src/base/string_util.cc, line 427
04-14 15:15:23.489  2822  2822 I Gecko   : [Parent 2822] WARNING: NS_ENSURE_TRUE(mOwnerContent) failed: file /home/alex/codaz/Mozilla/gecko-cinnabar/dom/base/nsFrameLoader.cpp, line 2690
04-14 15:15:23.509  2822  2822 I GeckoDump: Crash reporter : Submitting crash: 542ea7d0-2e40-1ea2-15d588b8-4cbb4bd9

bp-542ea7d0-2e40-1ea2-15d588b8-4cbb4bd9
This also gets reproduced on Mulet (debug build) when enabling OOP.
This assert is hit at: https://hg.mozilla.org/projects/pine/file/58921658aef9/dom/workers/WorkerPrivate.cpp#l4366 because the condition at https://hg.mozilla.org/projects/pine/file/58921658aef9/netwerk/base/nsNetUtil.cpp#l586 is false.

The false comes from: contextInIsolatedBrowser=1 while we have principalInIsolatedBrowser=0
This means mOriginAttributes.mInIsolatedMozBrowser in caps/BasePrincipal.h is false. Does it makes sense ?
Flags: needinfo?(fbraun)
Hmm, I don't know this code at all :-/
It does look weird, but I'm afraid I don't really understand what's going on.

Maybe ckerschb can help out?
Flags: needinfo?(fbraun) → needinfo?(ckerschb)
My understanding is that when checking the appId and browserElement, the browser flag doesn't match what's expected because it's not an app/process supposed to be in the browser. Since it's appearing when you focus on the keyboard, couldn't it mean that the keyboard is set to be "not" in the browser (which could sound legit)? I don't know if that should be the case or not, I will look more thoroughly in the code.
(In reply to Stephanie Ouillon [:arroway] from comment #5)
> My understanding is that when checking the appId and browserElement, the
> browser flag doesn't match what's expected because it's not an app/process
> supposed to be in the browser. Since it's appearing when you focus on the
> keyboard, couldn't it mean that the keyboard is set to be "not" in the
> browser (which could sound legit)? I don't know if that should be the case
> or not, I will look more thoroughly in the code.

I cannot tell if that helps, but at least we have Keyboard running within its own process. And here is the logcat startup on device with debug build:
04-15 08:23:39.749  1241  1241 I Gecko   : [1241] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/alex/codaz/Mozilla/gecko-cinnabar/xpcom/base/nsTraceRefcnt.cpp, line 174
04-15 08:23:39.749  1241  1241 I Gecko   : [1241] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/alex/codaz/Mozilla/gecko-cinnabar/xpcom/base/nsTraceRefcnt.cpp, line 174
04-15 08:23:39.749  1241  1241 I Gecko   : [1241] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/alex/codaz/Mozilla/gecko-cinnabar/xpcom/base/nsTraceRefcnt.cpp, line 174
04-15 08:23:39.749  1241  1241 I Gecko   : [1241] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/alex/codaz/Mozilla/gecko-cinnabar/xpcom/base/nsTraceRefcnt.cpp, line 174
04-15 08:23:39.749  1241  1241 I Gecko   : [1241] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/alex/codaz/Mozilla/gecko-cinnabar/xpcom/base/nsTraceRefcnt.cpp, line 174
04-15 08:23:39.749  1241  1241 I Gecko   : [1241] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/alex/codaz/Mozilla/gecko-cinnabar/xpcom/base/nsTraceRefcnt.cpp, line 174
04-15 08:23:39.749  1241  1241 I Gecko   : [1241] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/alex/codaz/Mozilla/gecko-cinnabar/xpcom/base/nsTraceRefcnt.cpp, line 174
04-15 08:23:39.749  1241  1241 I Gecko   : [1241] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/alex/codaz/Mozilla/gecko-cinnabar/xpcom/base/nsTraceRefcnt.cpp, line 174
04-15 08:23:39.799  1241  1241 I Gecko   : [Child 1241] WARNING: No CID found when attempting to map contract ID: file ../../../../../../../gecko-cinnabar/xpcom/components/nsComponentManager.cpp, line 578
04-15 08:23:39.799  1241  1241 I Browser : Could not map contract ID '@mozilla.org/network/protocol;1?name=app' to CID {b6ed3030-9999-11d3-a178-0050041caf44} because no implementation of the CID is registered.
04-15 08:23:39.809  1241  1241 I Browser : Could not read chrome manifest 'file:///system/b2g/chrome.manifest'.
04-15 08:23:40.299  1241  1241 I Gecko   : [Child 1241] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /home/alex/codaz/Mozilla/gecko-cinnabar/toolkit/xre/nsXREDirProvider.cpp, line 1476
04-15 08:23:40.589  1241  1241 I Gecko   : [Child 1241] WARNING: Unable to printf the requested string due to error.: file /home/alex/codaz/Mozilla/gecko-cinnabar/ipc/chromium/src/base/string_util.cc, line 427
04-15 08:23:43.499  1241  1241 I Gecko   : [Child 1241] WARNING: NS_ENSURE_TRUE(mTriggerFd != -1) failed: file ../../../../../../../gecko-cinnabar/widget/gonk/GonkMemoryPressureMonitoring.cpp, line 254
04-15 08:23:43.499  1241  1241 I Gecko   : [Child 1241] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x8000FFFF: file ../../../../../../../gecko-cinnabar/widget/gonk/GonkMemoryPressureMonitoring.cpp, line 96
04-15 08:23:43.499  1241  1241 I Gecko   : [Child 1241] WARNING: NS_ENSURE_SUCCESS_VOID(memoryPressureWatcher->Init()) failed with result 0x8000FFFF: file ../../../../../../../gecko-cinnabar/widget/gonk/GonkMemoryPressureMonitoring.cpp, line 362
04-15 08:23:46.059  1241  1241 I Gecko   : ++DOCSHELL 0xaf91f000 == 1 [pid = 1241] [id = 1]
04-15 08:23:46.109  1241  1241 I Gecko   : ++DOMWINDOW == 1 (0xaf91f400) [pid = 1241] [serial = 1] [outer = 0x0]
04-15 08:23:46.479  1241  1241 I Gecko   : ###################################### forms.js loaded
04-15 08:23:46.489  1241  1241 I Gecko   : ############################### browserElementPanning.js loaded
04-15 08:23:46.499  1241  1241 I Gecko   : ###################################### BrowserElementCopyPaste.js loaded
04-15 08:23:46.589  1241  1241 I Gecko   : ######################## BrowserElementChildPreload.js loaded
04-15 08:23:46.999  1241  1241 I Gecko   : [Child 1241] WARNING: No inner window available!: file ../../../../../../../gecko-cinnabar/dom/base/nsGlobalWindow.cpp, line 9767
04-15 08:23:46.999  1241  1241 I Gecko   : ++DOMWINDOW == 2 (0xaf0d3c00) [pid = 1241] [serial = 2] [outer = 0xaf91f400]
04-15 08:23:47.059  1241  1241 I Gecko   : [Child 1241] WARNING: NS_ENSURE_TRUE(startupCache) failed: file /home/alex/codaz/Mozilla/gecko-cinnabar/dom/xbl/nsXBLDocumentInfo.cpp, line 198
04-15 08:23:47.069  1241  1241 I Gecko   : [Child 1241] WARNING: NS_ENSURE_TRUE(startupCache) failed: file /home/alex/codaz/Mozilla/gecko-cinnabar/dom/xbl/nsXBLDocumentInfo.cpp, line 265
04-15 08:23:47.109  1241  1241 I Gecko   : ++DOCSHELL 0xb16b7800 == 2 [pid = 1241] [id = 2]
04-15 08:23:47.109  1241  1241 I Gecko   : ++DOMWINDOW == 3 (0xb16ba000) [pid = 1241] [serial = 3] [outer = 0x0]
04-15 08:23:47.109  1241  1241 I Gecko   : [Child 1241] WARNING: Failed to set UseGlobalHistory on TabChild docShell: file /home/alex/codaz/Mozilla/gecko-cinnabar/dom/ipc/TabChild.cpp, line 2361
04-15 08:23:47.109  1241  1241 I Gecko   : [Child 1241] WARNING: No inner window available!: file ../../../../../../../gecko-cinnabar/dom/base/nsGlobalWindow.cpp, line 9767
04-15 08:23:47.109  1241  1241 I Gecko   : ++DOMWINDOW == 4 (0xb16ba800) [pid = 1241] [serial = 4] [outer = 0xb16ba000]
04-15 08:23:47.169  1241  1241 I Gecko   : ###################################### forms.js loaded
04-15 08:23:47.179  1241  1241 I Gecko   : ###################################### BrowserElementCopyPaste.js loaded
04-15 08:23:47.179  1241  1241 I Gecko   : ############################### browserElementPanning.js loaded
04-15 08:23:47.219  1241  1241 I Gecko   : ######################## BrowserElementChildPreload.js loaded
04-15 08:23:47.259  1241  1241 I Gecko   : ######################## extensions.js loaded
04-15 08:23:47.309  1241  1241 I Gecko   : ++DOMWINDOW == 5 (0xaff0c800) [pid = 1241] [serial = 5] [outer = 0xb16ba000]
04-15 08:23:47.559  1241  1305 I Browser : PAC file installed from data: URI
04-15 08:23:47.859  1241  1241 I Gecko   : MozKeyboard.jsm expecting chrome://gaia/content/system/index.html
04-15 08:23:58.519  1241  1241 I Gecko   : --DOMWINDOW == 4 (0xb16ba800) [pid = 1241] [serial = 4] [outer = 0x0] [url = about:blank]
Disabling keyboard autocorrection and prediction works around the issue.
Attached file gdb backtrace
(In reply to Frederik Braun [:freddyb] from comment #4)
> Maybe ckerschb can help out?

Sorry, I am not an expert within worker code. Probably Kyle knows why you hit the assertion within workers/WorkerPrivate.cpp#l4366.
Flags: needinfo?(ckerschb) → needinfo?(khuey)
You need to figure out why the principal and the load context don't match, and where they're coming from.  I don't have any more insight than that, and I don't have any time to spend on unsupported products, sorry.
Flags: needinfo?(khuey)
Blocks: 1266067
Marking as fixed-in-pine thanks to workaround in bug 1266064
Whiteboard: fixed-in-pine
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: