Closed Bug 630098 Opened 14 years ago Closed 12 years ago

pluginproblemui-direction-2-ref.html | Exited with code -6 during test run

Categories

(Core Graveyard :: Plug-ins, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: jtd, Unassigned)

References

Details

(Keywords: intermittent-failure)

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1296441343.1296442486.1911.gz Looks very similar to bug 611033, but occurred on OSX: REFTEST TEST-START | file:///Users/cltbld/talos-slave/test/build/reftest/tests/modules/plugin/test/reftest/pluginproblemui-direction-1.html ###!!! [Parent][RPCChannel] Error: Channel error: cannot send/recv WARNING: Failed to send message!: file /builds/slave/cen-osx64-dbg/build/dom/plugins/PluginScriptableObjectParent.cpp, line 219 JavaScript error: file:///Users/cltbld/talos-slave/test/build/reftest/tests/modules/plugin/test/reftest/pluginproblemui-direction-1.html, line 18: Error calling method on NPObject! ###!!! [Parent][RPCChannel] Error: Channel error: cannot send/recv ###!!! [Parent][RPCChannel] Error: Channel error: cannot send/recv REFTEST TEST-START | file:///Users/cltbld/talos-slave/test/build/reftest/tests/modules/plugin/test/reftest/pluginproblemui-direction-1-ref.html [loaded plugin /private/var/folders/H5/H5TD8hgwEqKq9hgKlayjWU+++TM/-Tmp-/tmpw7JQAz/plugins/Test.plugin] WARNING: NS_ENSURE_TRUE(compMgr) failed: file nsComponentManagerUtils.cpp, line 90 ###!!! [Parent][RPCChannel] Error: Channel error: cannot send/recv WARNING: Failed to send message!: file /builds/slave/cen-osx64-dbg/build/dom/plugins/PluginScriptableObjectParent.cpp, line 219 JavaScript error: file:///Users/cltbld/talos-slave/test/build/reftest/tests/modules/plugin/test/reftest/pluginproblemui-direction-1-ref.html, line 18: Error calling method on NPObject! ###!!! [Parent][AsyncChannel] Error: Channel error: cannot send/recv REFTEST TEST-KNOWN-FAIL(EXPECTED RANDOM) | file:///Users/cltbld/talos-slave/test/build/reftest/tests/modules/plugin/test/reftest/pluginproblemui-direction-1.html | image comparison (==) REFTEST INFO | Loading a blank page REFTEST TEST-START | file:///Users/cltbld/talos-slave/test/build/reftest/tests/modules/plugin/test/reftest/pluginproblemui-direction-2.html WARNING: NS_ENSURE_TRUE(compMgr) failed: file nsComponentManagerUtils.cpp, line 90 ###!!! [Parent][RPCChannel] Error: Channel error: cannot send/recv WARNING: Failed to send message!: file /builds/slave/cen-osx64-dbg/build/dom/plugins/PluginScriptableObjectParent.cpp, line 219 JavaScript error: file:///Users/cltbld/talos-slave/test/build/reftest/tests/modules/plugin/test/reftest/pluginproblemui-direction-2.html, line 22: Error calling method on NPObject! ###!!! [Parent][AsyncChannel] Error: Channel error: cannot send/recv REFTEST TEST-START | file:///Users/cltbld/talos-slave/test/build/reftest/tests/modules/plugin/test/reftest/pluginproblemui-direction-2-ref.html Assertion failure: 0 == flags, at /builds/slave/cen-osx64-dbg/build/nsprpub/pr/src/pthreads/ptio.c:3332 WARNING: child WaitForMessage() failed: file /builds/slave/cen-osx64-dbg/build/toolkit/xre/nsEmbedFunctions.cpp, line 352 NEXT ERROR TEST-UNEXPECTED-FAIL | file:///Users/cltbld/talos-slave/test/build/reftest/tests/modules/plugin/test/reftest/pluginproblemui-direction-2-ref.html | Exited with code -6 during test run
The key line seems to be: Assertion failure: 0 == flags, at /builds/slave/cen-osx64-dbg/build/nsprpub/pr/src/pthreads/ptio.c:3332 (NSPR assertions are fatal)
Ugh, we're not getting any stack trace from the assertion, which makes it very difficult to figure out what might be failing. Can you reproduce this locally?
Bleh, NSPR uses DebugBreak on Windows (which should now trigger Breakpad), but abort() on other platforms, which definitely doesn't work on OS X: http://mxr.mozilla.org/mozilla-central/source/nsprpub/pr/src/io/prlog.c#566
Blocks: 438871
(In reply to comment #3) > Bleh, NSPR uses DebugBreak on Windows (which should now trigger Breakpad), but > abort() on other platforms, which definitely doesn't work on OS X: > http://mxr.mozilla.org/mozilla-central/source/nsprpub/pr/src/io/prlog.c#566 Is there an equivalent call for other platforms?
I don't know of an easy way to do this on Mac, offhand. Our mozalloc_abort just intentionally crashes: http://mxr.mozilla.org/mozilla-central/source/memory/mozalloc/mozalloc_abort.cpp#60 abort() probably works on Linux, since we can catch SIGABRT, but on Mac it doesn't trip the Mach exception handler.
(In reply to comment #5) > I don't know of an easy way to do this on Mac, offhand. Our mozalloc_abort just > intentionally crashes: > http://mxr.mozilla.org/mozilla-central/source/memory/mozalloc/mozalloc_abort.cpp#60 > > abort() probably works on Linux, since we can catch SIGABRT, but on Mac it > doesn't trip the Mach exception handler. So, should we get a new bug on fixing NSPR to crash intentionally instead of calling abort?
For application/x-test found plugin Test.plugin Assertion failure: 0 == flags, at /builds/slave/cen-osx64-dbg/build/nsprpub/pr/src/pthreads/ptio.c:3332 WARNING: child WaitForMessage() failed: file /builds/slave/cen-osx64-dbg/build/toolkit/xre/nsEmbedFunctions.cpp, line 352 From that log snippet, I would guess the error is originating at 2519 nsPluginHost::WritePluginInfo() ... 2549 rv = localFile->OpenNSPRFileDesc(PR_WRONLY | PR_CREATE_FILE | PR_TRUNCATE, 0600, &fd); ... but it's a wild guess. I don't see anything wrong with OpenNSPRFileDesc() on down into NSPR that might cause this. Sure looks like a bad one, hope we can repro eventually. (In reply to comment #5) > abort() probably works on Linux, since we can catch SIGABRT, but on Mac it > doesn't trip the Mach exception handler. Would it be possible to install signal handlers on mac that just immediately trigger the Mach handler?
I don't know of any way to trigger the Mach handler except for actually crashing, but maybe. I also don't know what that interaction would look like if you have both a signal handler and a Mach exception handler installed. Who gets to catch it first? I guess maybe if you only handle SIGABRT it might work? We could try that.
Mass marking whiteboard:[orange] bugs WFM (to clean up TBPL bug suggestions) that: * Haven't changed in > 6months * Whose whiteboard contains none of the strings: {disabled,marked,random,fuzzy,todo,fails,failing,annotated,leave open,time-bomb} * Passed a (quick) manual inspection of bug summary/whiteboard to ensure they weren't a false positive. I've also gone through and searched for cases where the whiteboard wasn't labelled correctly after test disabling, by using attachment description & basic comment searches. However if the test for which this bug was about has in fact been disabled/annotated/..., please accept my apologies & reopen/mark the whiteboard appropriately so this doesn't get re-closed in the future (and please ping me via IRC or email so I can try to tweak the saved searches to avoid more edge cases). Sorry for the spam! Filter on: #FFA500
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
Whiteboard: [orange]
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.