Closed
Bug 525605
Opened 15 years ago
Closed 15 years ago
E10s: windows unit tests orange, crash under nsNPAPIPlugin::CreatePlugin (IPC off)
Categories
(Core Graveyard :: Plug-ins, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: benjamin, Assigned: benjamin)
References
Details
E10s windows unit tests are orange:
Last output:
6950 INFO Running chrome://mochikit/content/chrome/modules/plugin/test/test_bug479979.xul...
Crash reason: EXCEPTION_ACCESS_VIOLATION
Crash address: 0x0
Thread 0 (crashed)
0 0x4f0fe92
eip = 0x04f0fe92 esp = 0x0012e5f8 ebp = 0x1056df4a ebx = 0x03855630
esi = 0x0012e604 edi = 0x04f0fe90 eax = 0x00000000 ecx = 0x0012e600
edx = 0x00618640 efl = 0x00010246
Found by: given as instruction pointer in context
1 xul.dll!nsNPAPIPlugin::CreatePlugin(char const *,PRLibrary *,nsIPlugin * *) [nsNPAPIPlugin.cpp:0f0ff5b8d5d0 : 461 + 0x20]
eip = 0x105703db esp = 0x0012e60c ebp = 0x1056df4a
Found by: stack scanning
2 xul.dll!CreateNPAPIPlugin [nsPluginHost.cpp:0f0ff5b8d5d0 : 3963 + 0xd]
eip = 0x105657a5 esp = 0x0012e640 ebp = 0x1056df4a
Found by: stack scanning
`make mochitest` works for me locally, I think, but I haven't spent a lot of time at it. In these tests the IPC pref is off, so we should only be using the in-process codepaths.
Assignee | ||
Comment 1•15 years ago
|
||
Oh, other suites also crash, such as mochitest-browser-chrome:
TEST-PASS | chrome://mochikit/content/browser/browser/base/content/test/browser_pluginnotification.js | Should have a test plugin
and then a crash
Comment 2•15 years ago
|
||
That test uses the plugin host to find the test plugin, so something is definitely wrong if it can't find it:
http://mxr.mozilla.org/mozilla-central/source/browser/base/content/test/browser_pluginnotification.js#9
Assignee | ||
Comment 3•15 years ago
|
||
More information: I can reproduce this with packaged unit tests. We crash in nsNPAPIPlugin::nsNPAPIPlugin on this line:
nsresult gepResult = aLibrary->NP_GetEntryPoints(&fCallbacks, &gepError);
The function appears to run correctly but when it returns something on the stack is corrupted and it returns to some unexpected location.
Assignee | ||
Comment 4•15 years ago
|
||
http://hg.mozilla.org/projects/electrolysis/rev/79f4a6b45881
http://hg.mozilla.org/projects/electrolysis/rev/72bbf8383143
The calling convention for the imported functions NP_GetEntryPoints, NP_Initialize and NP_Shutdown was wrong: these functions use WINAPI (stdcall) instead of cdecl. I'm going to leave this bug open until the tbox goes green, but I have confidence!
Assignee | ||
Updated•15 years ago
|
Assignee: nobody → benjamin
Assignee | ||
Comment 6•15 years ago
|
||
Yeah, that fixed the majority of the orange. I'll file a separate bug for mochitest-ipcplugins failing due to leaks (I'm going to disable the NPN_SetException test for now, since we don't really care).
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Updated•3 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•