Closed Bug 1115755 Opened 11 years ago Closed 10 years ago

Intermittent browser_perwindow_privateBrowsing.js | application crashed [@ xul.dll + 0x293373c][@ JSScript::maybeSweepTypes(js::types::AutoClearTypeInferenceStateOnOOM *)]

Categories

(Core :: JavaScript: GC, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: RyanVM, Unassigned)

References

Details

(Keywords: crash, intermittent-failure)

07:35:33 INFO - TEST-INFO | Main app process: exit status 1 07:35:33 WARNING - TEST-UNEXPECTED-FAIL | ShutdownLeaks | process() called before end of test suite 07:35:33 INFO - 198 INFO checking window state 07:35:33 INFO - 199 ERROR TEST-UNEXPECTED-FAIL | dom/indexedDB/test/browser_perwindow_privateBrowsing.js | application terminated with exit code 1 07:35:33 INFO - runtests.py | Application ran for: 0:00:15.890000 07:35:33 INFO - zombiecheck | Reading PID log: c:\docume~1\cltbld~1.t-x\locals~1\temp\tmphha39vpidlog 07:35:42 INFO - mozcrash Saved minidump as C:\slave\test\build\blobber_upload_dir\89b6188f-c8ab-4c27-a06c-bcd76e7f0d40.dmp 07:35:42 INFO - mozcrash Saved app info as C:\slave\test\build\blobber_upload_dir\89b6188f-c8ab-4c27-a06c-bcd76e7f0d40.extra 07:35:42 WARNING - PROCESS-CRASH | dom/indexedDB/test/browser_perwindow_privateBrowsing.js | application crashed [@ xul.dll + 0x293373c] 07:35:42 INFO - Crash dump filename: c:\docume~1\cltbld~1.t-x\locals~1\temp\tmpf04yn3.mozrunner\minidumps\89b6188f-c8ab-4c27-a06c-bcd76e7f0d40.dmp 07:35:42 INFO - Operating system: Windows NT 07:35:42 INFO - 5.1.2600 Service Pack 3 07:35:42 INFO - CPU: x86 07:35:42 INFO - GenuineIntel family 6 model 30 stepping 5 07:35:42 INFO - 8 CPUs 07:35:42 INFO - Crash reason: EXCEPTION_ACCESS_VIOLATION_EXEC 07:35:42 INFO - Crash address: 0x37f373c 07:35:42 INFO - Thread 0 (crashed) 07:35:42 INFO - 0 xul.dll + 0x293373c 07:35:42 INFO - eip = 0x037f373c esp = 0x0012cacc ebp = 0x0012caf8 ebx = 0x0db4eecc 07:35:42 INFO - esi = 0x14ca7270 edi = 0x14ca53a8 eax = 0x037f373c ecx = 0x14ca7270 07:35:42 INFO - edx = 0x00000400 efl = 0x00010206 07:35:42 INFO - Found by: given as instruction pointer in context 07:35:42 INFO - 1 xul.dll!JSScript::maybeSweepTypes(js::types::AutoClearTypeInferenceStateOnOOM *) [jsinfer.cpp:f1ba8432414d : 5038 + 0x11] 07:35:42 INFO - eip = 0x0310b1f2 esp = 0x0012cb00 ebp = 0x0012cb30 07:35:42 INFO - Found by: previous frame's frame pointer 07:35:42 INFO - 2 xul.dll!js::gc::GCRuntime::sweepPhase(js::SliceBudget &) [jsgc.cpp:f1ba8432414d : 5331 + 0xa] 07:35:42 INFO - eip = 0x0312c863 esp = 0x0012cb38 ebp = 0x0012cc58 07:35:42 INFO - Found by: call frame info 07:35:42 INFO - 3 xul.dll!js::gc::GCRuntime::incrementalCollectSlice(js::SliceBudget &,JS::gcreason::Reason) [jsgc.cpp:f1ba8432414d : 5969 + 0x7] 07:35:42 INFO - eip = 0x030f3350 esp = 0x0012cc60 ebp = 0x0012cc80 07:35:42 INFO - Found by: call frame info 07:35:42 INFO - 4 xul.dll!js::gc::GCRuntime::gcCycle(bool,js::SliceBudget &,js::JSGCInvocationKind,JS::gcreason::Reason) [jsgc.cpp:f1ba8432414d : 6156 + 0xa] 07:35:42 INFO - eip = 0x030e559d esp = 0x0012cc88 ebp = 0x0012ccd0 07:35:42 INFO - Found by: call frame info 07:35:42 INFO - 5 xul.dll!js::gc::GCRuntime::collect(bool,js::SliceBudget &,js::JSGCInvocationKind,JS::gcreason::Reason) [jsgc.cpp:f1ba8432414d : 6281 + 0x17] 07:35:42 INFO - eip = 0x030cd326 esp = 0x0012ccd8 ebp = 0x0012cd60 07:35:42 INFO - Found by: call frame info 07:35:42 INFO - 6 xul.dll!JS::ShrinkingGC(JSRuntime *,JS::gcreason::Reason) [jsfriendapi.cpp:f1ba8432414d : 207 + 0x2d] 07:35:42 INFO - eip = 0x030b5304 esp = 0x0012cd68 ebp = 0x0012cd88 07:35:42 INFO - Found by: call frame info 07:35:42 INFO - 7 xul.dll!nsJSContext::GarbageCollectNow(JS::gcreason::Reason,nsJSContext::IsIncremental,nsJSContext::IsShrinking,__int64) [nsJSEnvironment.cpp:f1ba8432414d : 1477 + 0x12] 07:35:42 INFO - eip = 0x01992781 esp = 0x0012cd90 ebp = 0x0012cda4 07:35:42 INFO - Found by: call frame info 07:35:42 INFO - 8 xul.dll!nsJSEnvironmentObserver::Observe(nsISupports *,char const *,wchar_t const *) [nsJSEnvironment.cpp:f1ba8432414d : 279 + 0xd] 07:35:42 INFO - eip = 0x0199c054 esp = 0x0012cdac ebp = 0x0012cddc 07:35:42 INFO - Found by: call frame info 07:35:42 INFO - 9 xul.dll!nsObserverList::NotifyObservers(nsISupports *,char const *,wchar_t const *) [nsObserverList.cpp:f1ba8432414d : 100 + 0x19] 07:35:42 INFO - eip = 0x00f83694 esp = 0x0012cde4 ebp = 0x0012cdfc 07:35:42 INFO - Found by: call frame info 07:35:42 INFO - 10 xul.dll!nsObserverService::NotifyObservers(nsISupports *,char const *,wchar_t const *) [nsObserverService.cpp:f1ba8432414d : 329 + 0xd] 07:35:42 INFO - eip = 0x00f8377c esp = 0x0012ce04 ebp = 0x0012ce18 07:35:42 INFO - Found by: call frame info
See Also: → 1129098
See Also: → 1125142
Between this and the See Alsos, it looks like we're having Win7 OOM issues?
Flags: needinfo?(terrence)
The actual crash site is in jsinfer.cpp, last touched by the incremental type sweeping change: bhackett1024 5a443ae5cf22 Wed Oct 22 07:57:33 2014 -0700: StackTypeSet *typeArray = types_->typeArray(); bhackett1024 5a443ae5cf22 Wed Oct 22 07:57:33 2014 -0700: bhackett1024 5a443ae5cf22 Wed Oct 22 07:57:33 2014 -0700: // Remove constraints and references to dead objects from stack type sets. bhackett1024 554045e04d89 Thu Sep 01 12:20:30 2011 -0700: for (unsigned i = 0; i < num; i++) bhackett1024 5a443ae5cf22 Wed Oct 22 07:57:33 2014 -0700: typeArray[i].sweep(zone(), *oom); Brian, could you take a look?
Flags: needinfo?(terrence) → needinfo?(bhackett1024)
Blocks: 1129767
(In reply to Terrence Cole [:terrence] from comment #6) > The actual crash site is in jsinfer.cpp, last touched by the incremental > type sweeping change: > bhackett1024 5a443ae5cf22 Wed Oct 22 07:57:33 2014 -0700: > StackTypeSet *typeArray = types_->typeArray(); > bhackett1024 5a443ae5cf22 Wed Oct 22 07:57:33 2014 -0700: > bhackett1024 5a443ae5cf22 Wed Oct 22 07:57:33 2014 -0700: // Remove > constraints and references to dead objects from stack type sets. > bhackett1024 554045e04d89 Thu Sep 01 12:20:30 2011 -0700: for > (unsigned i = 0; i < num; i++) > bhackett1024 5a443ae5cf22 Wed Oct 22 07:57:33 2014 -0700: > typeArray[i].sweep(zone(), *oom); > > Brian, could you take a look? Well, the script's TypeScript is a member whose allocation / management strategy hasn't changed in years. We allocate it for a script, sometimes free it and null it out, and free it when destroying the script. All this happens on the main thread. Incremental sweeping changed when we look at the contents of this structure while sweeping, but it still happens before foreground finalization would free the structure.
Flags: needinfo?(bhackett1024)
See Also: → 1136943
Inactive; closing (see bug 1180138).
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.