Closed Bug 629610 Opened 15 years ago Closed 15 years ago

"Assertion failure: !rt->gcRunning" browser_quotaPromptAllow.js browser_quotaPromptDeny.js browser_bug617076.js browser_test_favicon.js browser_focus_steal_from_chrome_during_mousedown.js browser_focus_steal_from_chrome.js browser_bug581076.js

Categories

(Core :: XPConnect, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla6
Tracking Status
firefox5 --- affected
status2.0 --- ?

People

(Reporter: philor, Assigned: dbaron)

References

Details

(Keywords: intermittent-failure, Whiteboard: [room for more in bug 648817][test which aborts the suite][some debugging in comment 309])

Attachments

(1 file)

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1296194636.1296196571.31363.gz Rev3 Fedora 12x64 mozilla-central debug test mochitest-other on 2011/01/27 22:03:56 s: talos-r3-fed64-025 TEST-INFO | chrome://mochitests/content/browser/dom/indexedDB/test/browser_quotaPromptAllow.js | dispatching event: indexedDB-addMore Assertion failure: !rt->gcRunning, at /builds/slave/cen-lnx64-dbg/build/js/src/jscntxt.cpp:1028 WARNING: shutting down early because of crash!: file /builds/slave/cen-lnx64-dbg/build/dom/plugins/PluginModuleChild.cpp, line 600 WARNING: plugin process _exit()ing: file /builds/slave/cen-lnx64-dbg/build/dom/plugins/PluginModuleChild.cpp, line 592 TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/dom/indexedDB/test/browser_quotaPromptAllow.js | Exited with code 1 during test run
Thread 0 (crashed) 0 XUL!JS_Assert [jsutil.cpp:9521cf441d3a : 80 + 0x5] eip = 0x0435de25 esp = 0xbfffd530 ebp = 0xbfffd558 ebx = 0x0435dddc esi = 0x0040abb0 edi = 0x00000000 eax = 0x00000000 ecx = 0x00000000 edx = 0x00000000 efl = 0x00210246 Found by: given as instruction pointer in context 1 XUL!js_DestroyContext [jscntxt.cpp:9521cf441d3a : 1028 + 0x2d] eip = 0x042026de esp = 0xbfffd560 ebp = 0xbfffd598 ebx = 0x042024c9 esi = 0x0040abb0 edi = 0x00000000 Found by: call frame info 2 XUL!JS_DestroyContext [jsapi.cpp:9521cf441d3a : 1005 + 0x12] eip = 0x041cedfb esp = 0xbfffd5a0 ebp = 0xbfffd5b8 ebx = 0x03792974 esi = 0x0040abb0 edi = 0x00000000 Found by: call frame info 3 XUL!nsXPConnect::ReleaseJSContext [nsXPConnect.cpp:9521cf441d3a : 2130 + 0xa] eip = 0x03792ac1 esp = 0xbfffd5c0 ebp = 0xbfffd608 ebx = 0x03792974 esi = 0x0040abb0 edi = 0x00000000 Found by: call frame info 4 XUL!nsJSContext::DestroyJSContext [nsJSEnvironment.cpp:9521cf441d3a : 1198 + 0x2b] eip = 0x0321b112 esp = 0xbfffd610 ebp = 0xbfffd648 ebx = 0x0321b060 esi = 0x0040abb0 edi = 0x00000000 Found by: call frame info 5 XUL!nsJSContext::~nsJSContext [nsJSEnvironment.cpp:9521cf441d3a : 1165 + 0xa] eip = 0x0321e0b6 esp = 0xbfffd650 ebp = 0xbfffd688 ebx = 0x0321e03e esi = 0x0040abb0 edi = 0x00000000 Found by: call frame info 6 XUL!nsJSContext::Release [nsJSEnvironment.cpp:9521cf441d3a : 1237 + 0x1a0] eip = 0x03212765 esp = 0xbfffd690 ebp = 0xbfffd6d8 ebx = 0x032125c3 esi = 0x0040abb0 edi = 0x00000000 Found by: call frame info 7 XUL!nsCOMPtr<nsIScriptContext>::~nsCOMPtr [nsCOMPtr.h : 533 + 0x15] eip = 0x02ea3b88 esp = 0xbfffd6e0 ebp = 0xbfffd6f8 ebx = 0x02eb9d42 esi = 0x0040abb0 edi = 0x00000000 Found by: call frame info 8 XUL!nsDOMEventTargetHelper::~nsDOMEventTargetHelper [nsDOMEventTargetHelper.h:9521cf441d3a : 76 + 0x50] eip = 0x02eb9d94 esp = 0xbfffd700 ebp = 0xbfffd728 ebx = 0x02eb9d42 esi = 0x0040abb0 edi = 0x00000000 Found by: call frame info 9 XUL!mozilla::dom::indexedDB::IDBTransaction::~IDBTransaction [IDBTransaction.cpp:9521cf441d3a : 156 + 0x88] eip = 0x033616c1 esp = 0xbfffd730 ebp = 0xbfffd768 ebx = 0x0336142c esi = 0x0040abb0 edi = 0x00000000 Found by: call frame info 10 XUL!nsDOMEventTargetHelper::Release [nsDOMEventTargetHelper.cpp:9521cf441d3a : 91 + 0x19e] eip = 0x03038421 esp = 0xbfffd770 ebp = 0xbfffd7b8 ebx = 0x03038281 esi = 0x0040abb0 edi = 0x00000000 Found by: call frame info 11 XUL!mozilla::dom::indexedDB::IDBTransaction::Release [IDBTransaction.cpp:9521cf441d3a : 664 + 0xa] eip = 0x0335f0c0 esp = 0xbfffd7c0 ebp = 0xbfffd7e8 ebx = 0x0335f0b4 esi = 0x0099139b edi = 0x00000000 Found by: call frame info 12 XUL!XPCWrappedNative::~XPCWrappedNative [xpcwrappednative.cpp:9521cf441d3a : 930 + 0x17] eip = 0x037e5192 esp = 0xbfffd7f0 ebp = 0xbfffd858 ebx = 0x037e4faa esi = 0x0099139b edi = 0x00000000 Found by: call frame info 13 XUL!XPCWrappedNative::Release [xpcwrappednative.cpp:9521cf441d3a : 1225 + 0xa9] eip = 0x037e2b69 esp = 0xbfffd860 ebp = 0xbfffd8a8 ebx = 0x037e2abe esi = 0x0099139b edi = 0x00000000 Found by: call frame info 14 XUL!XPCWrappedNative::FlatJSObjectFinalized [xpcwrappednative.cpp:9521cf441d3a : 1369 + 0x11] eip = 0x037e4f97 esp = 0xbfffd8b0 ebp = 0xbfffd918 ebx = 0x037e4c9a esi = 0x0099139b edi = 0x00000000 Found by: call frame info 15 XUL!XPC_WN_NoHelper_Finalize [xpcwrappednativejsops.cpp:9521cf441d3a : 674 + 0x11] eip = 0x037f49ac esp = 0xbfffd920 ebp = 0xbfffd958 ebx = 0x0425025a esi = 0x0099139b edi = 0x00000000 Found by: call frame info 16 XUL!JSObject::finalize [jsobjinlines.h:9521cf441d3a : 135 + 0x14] eip = 0x04261190 esp = 0xbfffd960 ebp = 0xbfffd988 ebx = 0x0425025a esi = 0x0099139b edi = 0x00000000 Found by: call frame info 17 XUL!FinalizeArenaList<JSObject_Slots2> [jsgc.cpp:9521cf441d3a : 1952 + 0x11] eip = 0x04250573 esp = 0xbfffd990 ebp = 0xbfffd9f8 ebx = 0x0425025a esi = 0x0099139b edi = 0x00000000 Found by: call frame info 18 XUL!JSCompartment::finalizeObjectArenaLists [jsgc.cpp:9521cf441d3a : 2014 + 0x19] eip = 0x04250d38 esp = 0xbfffda00 ebp = 0xbfffda18 ebx = 0x0425599d esi = 0x0099139b edi = 0x00000000 Found by: call frame info 19 XUL!MarkAndSweep [jsgc.cpp:9521cf441d3a : 2463 + 0x13] eip = 0x04255b66 esp = 0xbfffda20 ebp = 0xbfffdab8 ebx = 0x0425599d esi = 0x0099139b edi = 0x00000000 Found by: call frame info 20 XUL!GCUntilDone [jsgc.cpp:9521cf441d3a : 2728 + 0x11] eip = 0x04256142 esp = 0xbfffdac0 ebp = 0xbfffdb08 ebx = 0x04255f6c esi = 0x0099139b edi = 0x00000000 Found by: call frame info 21 XUL!js_GC [jsgc.cpp:9521cf441d3a : 2799 + 0x18] eip = 0x04256358 esp = 0xbfffdb10 ebp = 0xbfffdb58 ebx = 0x04256266 esi = 0x0099139b edi = 0x00000000 Found by: call frame info 22 XUL!JS_GC [jsapi.cpp:9521cf441d3a : 2565 + 0x1a] eip = 0x041cbf64 esp = 0xbfffdb60 ebp = 0xbfffdb78 ebx = 0x0379609f esi = 0x0099139b edi = 0x00000000 Found by: call frame info 23 XUL!nsXPConnect::Collect [nsXPConnect.cpp:9521cf441d3a : 407 + 0xa] eip = 0x037961c0 esp = 0xbfffdb80 ebp = 0xbfffdc58 ebx = 0x0379609f esi = 0x0099139b edi = 0x00000000 Found by: call frame info 24 XUL!nsXPConnect::GarbageCollect [nsXPConnect.cpp:9521cf441d3a : 415 + 0x13] eip = 0x0378f5dc esp = 0xbfffdc60 ebp = 0xbfffdc78 ebx = 0x032149da esi = 0x0099139b edi = 0x00000000 Found by: call frame info 25 XUL!nsJSContext::CC [nsJSEnvironment.cpp:9521cf441d3a : 3406 + 0x14] eip = 0x03214a64 esp = 0xbfffdc80 ebp = 0xbfffdca8 ebx = 0x032149da esi = 0x0099139b edi = 0x00000000 Found by: call frame info 26 XUL!nsJSContext::IntervalCC [nsJSEnvironment.cpp:9521cf441d3a : 3496 + 0x12] eip = 0x03214b27 esp = 0xbfffdcb0 ebp = 0xbfffdd08 ebx = 0x03214aca esi = 0x0099139b edi = 0x00000000 Found by: call frame info 27 XUL!nsJSContext::MaybeCC [nsJSEnvironment.cpp:9521cf441d3a : 3465 + 0xb] eip = 0x03214c9d esp = 0xbfffdd10 ebp = 0xbfffdd58 ebx = 0x03214b4e esi = 0x03791cf8 edi = 0x0041196c Found by: call frame info 28 XUL!nsJSContext::MaybeCCIfUserInactive [nsJSEnvironment.cpp:9521cf441d3a : 3486 + 0xb] eip = 0x03214cd7 esp = 0xbfffdd60 ebp = 0xbfffdd78 ebx = 0x03214cbe esi = 0x03791cf8 edi = 0x0041196c Found by: call frame info 29 XUL!nsXPConnect::AfterProcessNextEvent [nsXPConnect.cpp:9521cf441d3a : 2339 + 0x4] eip = 0x03791d16 esp = 0xbfffdd80 ebp = 0xbfffdd98 ebx = 0x03fc9f60 esi = 0x03791cf8 edi = 0x0041196c Found by: call frame info 30 XUL!nsThread::ProcessNextEvent [nsThread.cpp:9521cf441d3a : 649 + 0x2c] eip = 0x03fca475 esp = 0xbfffdda0 ebp = 0xbfffde48 ebx = 0x03fc9f60 esi = 0x03791cf8 edi = 0x0041196c Found by: call frame info 31 XUL!NS_ProcessPendingEvents_P [nsThreadUtils.cpp : 200 + 0x20] eip = 0x03f508a6 esp = 0xbfffde50 ebp = 0xbfffde98 ebx = 0x03f50820 esi = 0x00411960 edi = 0x0041196c Found by: call frame info 32 XUL!nsBaseAppShell::NativeEventCallback [nsBaseAppShell.cpp:9521cf441d3a : 132 + 0x1a] eip = 0x03cbc767 esp = 0xbfffdea0 ebp = 0xbfffdec8 ebx = 0x03c69b43 esi = 0x00411960 edi = 0x0041196c Found by: call frame info 33 XUL!nsAppShell::ProcessGeckoEvents [nsAppShell.mm:9521cf441d3a : 399 + 0xa] eip = 0x03c69d3b esp = 0xbfffded0 ebp = 0xbfffdfd8 ebx = 0x03c69b43 esi = 0x00411960 edi = 0x0041196c Found by: call frame info 34 CoreFoundation + 0x733c4 eip = 0x92bae3c5 esp = 0xbfffdfe0 ebp = 0xbfffe598 ebx = 0x92bad797 esi = 0x00411960 edi = 0x0041196c Found by: call frame info 35 CoreFoundation + 0x73aa7 eip = 0x92baeaa8 esp = 0xbfffe5a0 ebp = 0xbfffe5d8 Found by: previous frame's frame pointer 36 HIToolbox + 0x302ab eip = 0x926f02ac esp = 0xbfffe5e0 ebp = 0xbfffe618 Found by: previous frame's frame pointer 37 HIToolbox + 0x300c4 eip = 0x926f00c5 esp = 0xbfffe620 ebp = 0xbfffe6a8 Found by: previous frame's frame pointer 38 HIToolbox + 0x2ff38 eip = 0x926eff39 esp = 0xbfffe6b0 ebp = 0xbfffe6c8 Found by: previous frame's frame pointer 39 AppKit + 0x406d4 eip = 0x95ec06d5 esp = 0xbfffe6d0 ebp = 0xbfffea48 Found by: previous frame's frame pointer 40 AppKit + 0x3ff87 eip = 0x95ebff88 esp = 0xbfffea50 ebp = 0xbfffed48 Found by: previous frame's frame pointer 41 AppKit + 0x38f9e eip = 0x95eb8f9f esp = 0xbfffed50 ebp = 0xbfffee08 Found by: previous frame's frame pointer 42 XUL!nsAppShell::Run [nsAppShell.mm:9521cf441d3a : 746 + 0xb7] eip = 0x03c68a9d esp = 0xbfffee10 ebp = 0xbfffeea8 Found by: previous frame's frame pointer 43 XUL!nsAppStartup::Run [nsAppStartup.cpp:9521cf441d3a : 218 + 0x1b] eip = 0x039a9698 esp = 0xbfffeeb0 ebp = 0xbfffeef8 ebx = 0x039a9610 Found by: call frame info 44 XUL!XRE_main [nsAppRunner.cpp:9521cf441d3a : 3775 + 0x1b] eip = 0x028a543a esp = 0xbfffef00 ebp = 0xbffff408 ebx = 0x028a250f Found by: call frame info 45 firefox-bin!main [nsBrowserApp.cpp:9521cf441d3a : 158 + 0x18] eip = 0x0000281e esp = 0xbffff410 ebp = 0xbffff488 ebx = 0x00002562 esi = 0x0040c070 edi = 0x03fb3d42 Found by: call frame info 46 firefox-bin + 0x149d eip = 0x0000249e esp = 0xbffff490 ebp = 0xbffff4ac ebx = 0xbffff538 esi = 0x00000000 edi = 0x00000000 Found by: call frame info
Looks like we are not doing a deferred release of the wrapped native because GetRuntime() is NULL. Weird.
Boy would it be handy if we could record & replay this ...
Whiteboard: [orange] → [orange][test which aborts the suite]
OS: Linux → All
Hardware: x86_64 → All
bent, we should probably take a look at this. This is becoming ridiculously frequent.
Second most common failure on mozilla-central for the week, but who's counting?
Ugh, who broke the world while I was looking elsewhere?!
This seems bad.
blocking2.0: --- → ?
Why block on this? It seems a narrow problem in indexdb. We should try to fix, but I don't see us holding a release over it.
Bah, wrong tab :-/
blocking2.0: ? → ---
Somehow XPCWrappedNative::GetRuntime() is returning null.
Component: JavaScript Engine → XPConnect
Assignee: general → nobody
QA Contact: general → xpconnect
(In reply to comment #117) > Somehow XPCWrappedNative::GetRuntime() is returning null. Or mDoingFinalization is prematurely false, as I pointed out on IRC. /be
bent pointed out a suspicious range, and this particular push looks like it could cause this (maybe, just guessing for now). https://hg.mozilla.org/mozilla-central/rev/5e0bba79c052
(In reply to comment #126) > bent pointed out a suspicious range, and this particular push looks like it > could cause this (maybe, just guessing for now). > > https://hg.mozilla.org/mozilla-central/rev/5e0bba79c052 Apparently that's not it (or not all of it) - I pushed a backout of that to try in http://tbpl.mozilla.org/?tree=MozillaTry&rev=cbff81817339 and still hit this on 2 of 4 runs, pretty much the normal incidence.
Thanks a lot for investigating Phil.
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1297315044.1297317094.24169.gz Rev3 Fedora 12x64 mozilla-central debug test mochitest-other on 2011/02/09 21:17:24 s: talos-r3-fed64-045 TEST-INFO | chrome://mochitests/content/browser/dom/indexedDB/test/browser_quotaPromptDeny.js | loading test page: http://test2.example.org/browser/dom/indexedDB/test/browser_quotaPrompt.html Assertion failure: !rt->gcRunning, at /builds/slave/cen-lnx64-dbg/build/js/src/jscntxt.cpp:1015
Summary: Intermittent "Assertion failure: !rt->gcRunning" during dom/indexedDB/test/browser_quotaPromptAllow.js → Intermittent "Assertion failure: !rt->gcRunning" during dom/indexedDB/test/browser_quotaPromptAllow.js or dom/indexedDB/test/browser_quotaPromptDeny.js
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1299010179.1299012495.13075.gz Rev3 MacOSX Leopard 10.5.8 mozilla-central debug test mochitest-other on 2011/03/01 12:09:39 s: talos-r3-leopard-014 TEST-START | chrome://mochitests/content/browser/layout/base/tests/browser_bug617076.js pldhash: for the table at address 0x2cf47e68, the given entrySize of 48 probably favors chaining over double hashing. ++DOCSHELL 0x2cf47e00 == 12 ++DOMWINDOW == 300 (0x2c68cff4) [serial = 4715] [outer = 0x0] ++DOMWINDOW == 301 (0x2c661d44) [serial = 4716] [outer = 0x2c68cfb0] WARNING: NS_ENSURE_TRUE(sf) failed: file /builds/slave/cen-osx-dbg/build/docshell/base/nsDocShell.cpp, line 4992 WARNING: NS_ENSURE_TRUE(sf) failed: file /builds/slave/cen-osx-dbg/build/docshell/base/nsDocShell.cpp, line 4992 JavaScript strict warning: resource:///modules/NetworkPrioritizer.jsm, line 117: reference to undefined property aBrowser.webNavigation WARNING: NS_ENSURE_TRUE(sf) failed: file /builds/slave/cen-osx-dbg/build/docshell/base/nsDocShell.cpp, line 4992 WARNING: NS_ENSURE_TRUE(sf) failed: file /builds/slave/cen-osx-dbg/build/docshell/base/nsDocShell.cpp, line 4992 TEST-INFO | chrome://mochitests/content/browser/layout/base/tests/browser_bug617076.js | Console message: [JavaScript Warning: "reference to undefined property aBrowser.webNavigation" {file: "resource:///modules/NetworkPrioritizer.jsm" line: 117}] ++DOMWINDOW == 302 (0x2e7e46d4) [serial = 4717] [outer = 0x2c68cfb0] --DOMWINDOW == 301 (0x2e780324) [serial = 4666] [outer = 0x0] [url = data:text/html,<!DOCTYPE%20html><html><body><input%20autofocus><button%20autofocus></button><textarea%20autofocus></textarea><select%20autofocus></select></body></html>] --DOMWINDOW == 300 (0x2c6b0f74) [serial = 4688] [outer = 0x0] [url = data:text/html,<body%20onload="setTimeout(function%20()%20{%20document.getElementById('target').focus();%20},%2010);"><textarea%20id='target'>textarea</textarea></body>] --DOMWINDOW == 299 (0x2b9230b4) [serial = 4692] [outer = 0x0] [url = data:text/html,<body%20onload="setTimeout(function%20()%20{%20document.getElementById('target').select();%20},%2010);"><textarea%20id='target'>textarea</textarea></body>] Assertion failure: !rt->gcRunning, at /builds/slave/cen-osx-dbg/build/js/src/jscntxt.cpp:1025 TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/layout/base/tests/browser_bug617076.js | Exited with code 1 during test run
Summary: Intermittent "Assertion failure: !rt->gcRunning" during dom/indexedDB/test/browser_quotaPromptAllow.js or dom/indexedDB/test/browser_quotaPromptDeny.js → Intermittent "Assertion failure: !rt->gcRunning" during dom/indexedDB/test/browser_quotaPromptAllow.js or dom/indexedDB/test/browser_quotaPromptDeny.js or layout/base/tests/browser_bug617076.js
http://tinderbox.mozilla.org/showlog.cgi?tree=Firefox&errorparser=unittest&logfile=1299013320.1299015576.31312.gz Rev3 MacOSX Leopard 10.5.8 mozilla-central debug test mochitest-other on 2011/03/01 13:02:00 s: talos-r3-leopard-016 TEST-START | chrome://mochitests/content/browser/extensions/cookie/test/browser_test_favicon.js WARNING: NS_ENSURE_TRUE(currentURI) failed: file /builds/slave/cen-osx-dbg/build/content/base/src/ThirdPartyUtil.cpp, line 169 WARNING: NS_ENSURE_TRUE(currentURI) failed: file /builds/slave/cen-osx-dbg/build/content/base/src/ThirdPartyUtil.cpp, line 169 TEST-PASS | chrome://mochitests/content/browser/extensions/cookie/test/browser_test_favicon.js | foreign favicon cookie was blocked INFO TEST-END | chrome://mochitests/content/browser/extensions/cookie/test/browser_test_favicon.js | finished in 258ms TEST-INFO | checking window state TEST-INFO | before wait for focus -- loaded: complete active window: ([object ChromeWindow @ 0x977faf0 (native @ 0x977eee4)]) chrome://browser/content/browser.xul focused window: ([object XrayWrapper [object Window @ 0x2fdf1300 (native @ 0x2dd52d54)]]) about:blank desired window: ([object ChromeWindow @ 0x977faf0 (native @ 0x977eee4)]) chrome://browser/content/browser.xul child window: ([object XrayWrapper [object Window @ 0x2fdf1300 (native @ 0x2dd52d54)]]) about:blank docshell visible: true TEST-INFO | already focused TEST-INFO | maybe run tests <load:true, focus:true> -- loaded: complete active window: ([object ChromeWindow @ 0x977faf0 (native @ 0x977eee4)]) chrome://browser/content/browser.xul focused window: ([object XrayWrapper [object Window @ 0x2fdf1300 (native @ 0x2dd52d54)]]) about:blank desired window: ([object ChromeWindow @ 0x977faf0 (native @ 0x977eee4)]) chrome://browser/content/browser.xul child window: ([object XrayWrapper [object Window @ 0x2fdf1300 (native @ 0x2dd52d54)]]) about:blank docshell visible: true --DOMWINDOW == 300 (0x2f006104) [serial = 4690] [outer = 0x0] [url = data:text/html,<!DOCTYPE%20html><html><body><input%20autofocus><button%20autofocus></button><textarea%20autofocus></textarea><select%20autofocus></select></body></html>] --DOMWINDOW == 299 (0x2dda88c4) [serial = 4712] [outer = 0x0] [url = data:text/html,<body%20onload="setTimeout(function%20()%20{%20document.getElementById('target').focus();%20},%2010);"><textarea%20id='target'>textarea</textarea></body>] --DOMWINDOW == 298 (0x2e830324) [serial = 4716] [outer = 0x0] [url = data:text/html,<body%20onload="setTimeout(function%20()%20{%20document.getElementById('target').select();%20},%2010);"><textarea%20id='target'>textarea</textarea></body>] Assertion failure: !rt->gcRunning, at /builds/slave/cen-osx-dbg/build/js/src/jscntxt.cpp:1025 NEXT ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/extensions/cookie/test/browser_test_favicon.js | Exited with code 1 during test run INFO | automation.py | Application ran for: 0:20:14.536879 INFO | automation.py | Reading PID log: /var/folders/Xr/Xr--yJnSEY0U11ET5NZuMU+++TM/-Tmp-/tmpRwiLMupidlog PROCESS-CRASH | chrome://mochitests/content/browser/extensions/cookie/test/browser_test_favicon.js | application crashed (minidump found)
Summary: Intermittent "Assertion failure: !rt->gcRunning" during dom/indexedDB/test/browser_quotaPromptAllow.js or dom/indexedDB/test/browser_quotaPromptDeny.js or layout/base/tests/browser_bug617076.js → Intermittent "Assertion failure: !rt->gcRunning" during dom/indexedDB/test/browser_quotaPromptAllow.js or dom/indexedDB/test/browser_quotaPromptDeny.js or layout/base/tests/browser_bug617076.js or extensions/cookie/test/browser_test_favicon.js
This crash has apparently starting happening more frequently after http://hg.mozilla.org/mozilla-central/rev/52ffeed74f96, for reasons unknown. That patch might have made plugin tests run faster and changed timing, but I can't even wildly guess beyond that. The new crashes look identical to the old ones, so I don't know what to do other than supplicate Ben/Andreas for some attention on the existing bug. I don't think it's good policy to back out unrelated patches for changing timing and tickling existing bugs more often. Maybe this bug is easier to repro now after 52ffeed74f96? Ben/Andreas, maybe one of you guys could check out a 10.5 slave and investigate?
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1299620070.1299619208.20680.gz Rev3 MacOSX Leopard 10.5.8 mozilla-central debug test mochitest-other on 2011/03/08 13:34:30 s: talos-r3-leopard-023 TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/dom/tests/browser/browser_focus_steal_from_chrome_during_mousedown.js | Exited with code 1 during test run
Summary: Intermittent "Assertion failure: !rt->gcRunning" during dom/indexedDB/test/browser_quotaPromptAllow.js or dom/indexedDB/test/browser_quotaPromptDeny.js or layout/base/tests/browser_bug617076.js or extensions/cookie/test/browser_test_favicon.js → Intermittent "Assertion failure: !rt->gcRunning" during browser_quotaPromptAllow.js, browser_quotaPromptDeny.js, browser_bug617076.js, browser_test_favicon.js, browser_focus_steal_from_chrome_during_mousedown.js
About half of the newly-added WinXP debug runs (http://tbpl.mozilla.org/?noignore=1 since they're hidden for a separate permaorange) are hitting this, in browser_focus_steal_from_chrome.js.
Summary: Intermittent "Assertion failure: !rt->gcRunning" during browser_quotaPromptAllow.js, browser_quotaPromptDeny.js, browser_bug617076.js, browser_test_favicon.js, browser_focus_steal_from_chrome_during_mousedown.js → Intermittent "Assertion failure: !rt->gcRunning" during browser_quotaPromptAllow.js, browser_quotaPromptDeny.js, browser_bug617076.js, browser_test_favicon.js, browser_focus_steal_from_chrome_during_mousedown.js, browser_focus_steal_from_chrome.js
(In reply to comment #18) > Looks like we are not doing a deferred release of the wrapped native because > GetRuntime() is NULL. Weird. How do you know it's null? We know that it's failing to enter: if(rt && rt->GetDoingFinalization()) in XPCWrappedNative::~XPCWrappedNative() -- but is there a particular reason you think it's the first rather than the second that it's failing?
http://tbpl.mozilla.org/?tree=MozillaTry&rev=1ce38dcc4f60 is a try push with an NS_WARN_IF_FALSE for null runtime (which seems to normally happen only during shutdown -- though I'm not sure why). I intend to spin a lot of extra mochitest-other runs once the first one happens, so that maybe we can find out which option it is.
In hindsight, I should have put warnings for both situations, so I'd know the last one printed was in fact the one that led to the assert. However, there are a string of warnings that rt is null right before the assertion in the two logs in which this occurred: http://tinderbox.mozilla.org/showlog.cgi?log=MozillaTry/1301121783.1301124033.31443.gz http://tinderbox.mozilla.org/showlog.cgi?log=MozillaTry/1301121784.1301124056.31488.gz so it seems probable that the problem is rt being null. I suppose I could repeat the experiment tomorrow...
I repeated the experiment today, with this diff: @@ -966,5 +966,8 @@ XPCWrappedNative::~XPCWrappedNative() else { + printf("Releasing identity directly: rt=%p scope=%p proto=%p.\n", + rt, GetScope(), GetProto()); NS_RELEASE(mIdentity); + printf("Done releasing identity directly.\n"); } } See: http://tbpl.mozilla.org/?tree=MozillaTry&rev=052028cb125d It confirmed that we were in the same situation that frequently happens during shutdown: ... Releasing identity directly: rt=0x0 scope=0x0 proto=0x0. Done releasing identity directly. Releasing identity directly: rt=0x0 scope=0x0 proto=0x0. Done releasing identity directly. Releasing identity directly: rt=0x0 scope=0x0 proto=0x0. Assertion failure: !rt->gcRunning, at /builds/slave/try-osx-dbg/build/js/src/jscntxt.cpp:1025 and that the problem is because rt is null, and rt is null because GetScope() is null (which seems to *always* be the reason that rt is null).
Whiteboard: [orange][test which aborts the suite] → [orange][test which aborts the suite][some debugging in comment 309]
One way (the first I noticed) to end up in this situation is if we go through this case: if(IsWrapperExpired()) { GetScope()->GetWrappedNativeMap()->Remove(this); XPCWrappedNativeProto* proto = GetProto(); if(mScriptableInfo && (!HasProto() || (proto && proto->GetScriptableInfo() != mScriptableInfo))) { delete mScriptableInfo; mScriptableInfo = nsnull; } mMaybeScope = nsnull; } in XPCWrappedNative::FlatJSObjectFinalized. The nulling out of mMaybeScope means that the call to Release() at the end of the method (which is what the stacks for the fatal assert show us going through) GetRuntime() will be null.
http://hg.mozilla.org/users/dbaron_mozilla.com/patches/raw-file/318644f50f93/wrapper-destruction is a possible patch that I've just sent to try: http://tbpl.mozilla.org/?tree=MozillaTry&rev=5614b67fd41e I'll want some expert advice about whether it's really the right thing to do, though.
Attached patch possible patchSplinter Review
Here's a patch that I think might help. Not sure how scary it is -- and not sure who the best reviewer is, so feel free to bounce the review request.
Attachment #522262 - Flags: review?(jst)
Johnny, this is currently the most frequent random orange. Any ETA on the review?
Whiteboard: [orange][test which aborts the suite][some debugging in comment 309] → [orange][test which aborts the suite][some debugging in comment 309][has patch]
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1302301533.1302304793.3791.gz&fulltext=1 Rev3 MacOSX Snow Leopard 10.6.2 mozilla-central debug test mochitest-other on 2011/04/08 15:25:33 s: talos-r3-snow-050 Assertion failure: !rt->gcRunning, at /builds/slave/cen-osx64-dbg/build/js/src/jscntxt.cpp:1039 TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_bug581076.js | Exited with code 1 during test run
Summary: Intermittent "Assertion failure: !rt->gcRunning" during browser_quotaPromptAllow.js, browser_quotaPromptDeny.js, browser_bug617076.js, browser_test_favicon.js, browser_focus_steal_from_chrome_during_mousedown.js, browser_focus_steal_from_chrome.js → "Assertion failure: !rt->gcRunning" browser_quotaPromptAllow.js browser_quotaPromptDeny.js browser_bug617076.js browser_test_favicon.js browser_focus_steal_from_chrome_during_mousedown.js browser_focus_steal_from_chrome.js browser_bug581076.js
Blocks: 648817
Filed bug 648817 to have room for more test names in the summary.
Whiteboard: [orange][test which aborts the suite][some debugging in comment 309][has patch] → [orange][room for more in bug 648817][test which aborts the suite][some debugging in comment 309][has patch]
Comment on attachment 522262 [details] [diff] [review] possible patch peterv will review this one...
Attachment #522262 - Flags: review?(jst) → review?(peterv)
Comment on attachment 522262 [details] [diff] [review] possible patch This patch is much needed. I'd even be willing to land it pending a post-landing review. Trying Benjamin as well in the hope that he can get to the review sooner than peterv.
Attachment #522262 - Flags: review?(benjamin)
Comment on attachment 522262 [details] [diff] [review] possible patch I think we should remove expiration of wrappers (see bug 605767). Given that it might make sense to just do the spot fixes (check scope before calling GetRuntime() in ~XPCWrappedNative and lock in FlatJSObjectFinalized). Up to you.
Attachment #522262 - Flags: review?(peterv)
Attachment #522262 - Flags: review?(benjamin)
Attachment #522262 - Flags: review+
Whiteboard: [orange][room for more in bug 648817][test which aborts the suite][some debugging in comment 309][has patch] → [orange][room for more in bug 648817][test which aborts the suite][some debugging in comment 309][has patch][fixed-in-cedar]
Blocks: 645442
Pushed in m-c: http://hg.mozilla.org/mozilla-central/rev/69d9c9392b2b Thanks for the patch David! :)
Assignee: nobody → dbaron
Status: NEW → RESOLVED
Closed: 15 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Whiteboard: [orange][room for more in bug 648817][test which aborts the suite][some debugging in comment 309][has patch][fixed-in-cedar] → [orange][room for more in bug 648817][test which aborts the suite][some debugging in comment 309]
Target Milestone: --- → mozilla6
Given the spew of aurora oranges, do we want to land this on aurora, or is it not worth it?
Got this in browser_about.js too, which is not mentioned in the summary (and I can't add it because it's already too long): http://tinderbox.mozilla.org/showlog.cgi?log=Mozilla-Aurora/1305120926.1305124104.29072.gz#err0 TEST-PASS | chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser/browser_about.js | window.arguments[0] should refer to the add-on object TEST-INFO | chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser/browser_about.js | About dialog closed, waiting for focus on browser window TEST-INFO | before wait for focus -- loaded: complete active window: ([object ChromeWindow @ 0x14422a870 (native @ 0x14433e328)]) chrome://mozapps/content/extensions/about.xul focused window: ([object ChromeWindow @ 0x14422a870 (native @ 0x14433e328)]) chrome://mozapps/content/extensions/about.xul desired window: ([object ChromeWindow @ 0x108e31900 (native @ 0x108e2d238)]) chrome://browser/content/browser.xul child window: ([object Window @ 0x13edd4f30 (native @ 0x140b92138)]) about:addons docshell visible: true TEST-INFO | must wait for focus TEST-INFO | waitForEvent called <type:focus, target[object XULDocument @ 0x142c694c0 (native @ 0x134d10800)]> -- loaded: complete active window: ([object ChromeWindow @ 0x108e31900 (native @ 0x108e2d238)]) chrome://browser/content/browser.xul focused window: ([object Window @ 0x13edd4f30 (native @ 0x140b92138)]) about:addons desired window: ([object ChromeWindow @ 0x108e31900 (native @ 0x108e2d238)]) chrome://browser/content/browser.xul child window: ([object Window @ 0x13edd4f30 (native @ 0x140b92138)]) about:addons docshell visible: true TEST-INFO | maybe run tests <load:true, focus:true> -- loaded: complete active window: ([object ChromeWindow @ 0x108e31900 (native @ 0x108e2d238)]) chrome://browser/content/browser.xul focused window: ([object Window @ 0x13edd4f30 (native @ 0x140b92138)]) about:addons desired window: ([object ChromeWindow @ 0x108e31900 (native @ 0x108e2d238)]) chrome://browser/content/browser.xul child window: ([object Window @ 0x13edd4f30 (native @ 0x140b92138)]) about:addons docshell visible: true WARNING: getting z level of unregistered window: file /builds/slave/aurora-osx64-dbg/build/xpfe/appshell/src/nsWindowMediator.cpp, line 600 WARNING: getting z level of unregistered window: file /builds/slave/aurora-osx64-dbg/build/xpfe/appshell/src/nsWindowMediator.cpp, line 600 --DOMWINDOW == 382 (0x143775218) [serial = 5991] [outer = 0x0] [url = about:blank] Assertion failure: !rt->gcRunning, at /builds/slave/aurora-osx64-dbg/build/js/src/jscntxt.cpp:1019 WARNING: shutting down early because of crash!: file /builds/slave/aurora-osx64-dbg/build/dom/plugins/PluginModuleChild.cpp, line 648 WARNING: plugin process _exit()ing: file /builds/slave/aurora-osx64-dbg/build/dom/plugins/PluginModuleChild.cpp, line 640 NEXT ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser/browser_about.js | Exited with code 1 during test run INFO | automation.py | Application ran for: 0:32:50.471110 INFO | automation.py | Reading PID log: /var/folders/H5/H5TD8hgwEqKq9hgKlayjWU+++TM/-Tmp-/tmplfmCaxpidlog NEXT ERROR PROCESS-CRASH | chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser/browser_about.js | application crashed (minidump found) Operating system: Mac OS X 10.6.6 10J567 CPU: amd64 family 6 model 23 stepping 10 2 CPUs Crash reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS Crash address: 0x0 NEXT ERROR Thread 0 (crashed) 0 XUL!JS_Assert [jsutil.cpp:760065072fcb : 86 + 0x5] rbx = 0x03813990 r12 = 0x03849ca4 r13 = 0x00000000 r14 = 0x00000002 r15 = 0x00000000 rip = 0x01c1f463 rsp = 0x5fbfcb20 rbp = 0x5fbfcb40 Found by: given as instruction pointer in context
Whiteboard: [orange][room for more in bug 648817][test which aborts the suite][some debugging in comment 309] → [room for more in bug 648817][test which aborts the suite][some debugging in comment 309]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: