Closed
Bug 1115847
Opened 11 years ago
Closed 11 years ago
Crash [@ js::jit::BaselineScript::anyKindICEntryFromPCOffset] or [@ js::jit::BailoutIonToBaseline]
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla37
| Tracking | Status | |
|---|---|---|
| firefox37 | --- | affected |
People
(Reporter: gkw, Unassigned)
References
Details
(Keywords: crash, regression, testcase)
Crash Data
Attachments
(2 files)
|
3.67 KB,
text/plain
|
Details | |
|
8.36 KB,
patch
|
shu
:
review+
|
Details | Diff | Splinter Review |
// Randomly chosen test: js/src/jit-test/tests/debug/bug1109328.js
try {
gcslice(0)();
} catch (e) {}
g = newGlobal()
g.parent = this
g.eval("Debugger(parent).onExceptionUnwind = (function() {})");
gcparam("maxBytes", gcparam("gcBytes"));
// Randomly chosen test: js/src/tests/js1_5/Regress/regress-329530.js
load("a.js");
and a.js is:
function buildTestFunction() {
var x = "";
var y = "";
for (var i = 0; i < 9999; i++) {
x += "function f() {}";
y += "}";
}
}
buildTestFunction();
crashes js debug shell on m-c changeset 54e902f5e85d with --fuzzing-safe --no-threads --ion-eager at js::jit::BaselineScript::anyKindICEntryFromPCOffset with js::jit::BailoutIonToBaseline on the stack.
Debug configure options:
CC="clang -Qunused-arguments" CXX="clang++ -Qunused-arguments" AR=ar AUTOCONF=/usr/local/Cellar/autoconf213/2.13/bin/autoconf213 sh /Users/skywalker/trees/mozilla-central/js/src/configure --target=x86_64-apple-darwin12.5.0 --enable-debug --enable-optimize --enable-nspr-build --enable-more-deterministic --with-ccache --enable-gczeal --enable-debug-symbols --disable-tests
A bisection is coming up.
Flags: needinfo?
| Reporter | ||
Comment 1•11 years ago
|
||
(lldb) bt 5
* thread #1: tid = 0x163719, 0x000000010024268a js-dbg-opt-64-dm-nsprBuild-darwin-54e902f5e85d`js::jit::BaselineScript::anyKindICEntryFromPCOffset(unsigned int) [inlined] js::jit::BaselineScript::icEntry(unsigned long) + 28 at BaselineJIT.cpp:492, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
* frame #0: 0x000000010024268a js-dbg-opt-64-dm-nsprBuild-darwin-54e902f5e85d`js::jit::BaselineScript::anyKindICEntryFromPCOffset(unsigned int) [inlined] js::jit::BaselineScript::icEntry(unsigned long) + 28 at BaselineJIT.cpp:492
frame #1: 0x000000010024266e js-dbg-opt-64-dm-nsprBuild-darwin-54e902f5e85d`js::jit::BaselineScript::anyKindICEntryFromPCOffset(unsigned int) [inlined] ComputeBinarySearchMid(baseline=<unavailable>) at BaselineJIT.cpp:560
frame #2: 0x000000010024266e js-dbg-opt-64-dm-nsprBuild-darwin-54e902f5e85d`js::jit::BaselineScript::anyKindICEntryFromPCOffset(this=<unavailable>, pcOffset=<unavailable>) + 270 at BaselineJIT.cpp:575
frame #3: 0x00000001001e6be7 js-dbg-opt-64-dm-nsprBuild-darwin-54e902f5e85d`InitFromBailout(cx=0x0000000101e00b80, callerPC=<unavailable>, ionScript=<unavailable>, iter=<unavailable>, invalidate=<unavailable>, builder=0x00007fff5fbfbaa0, startFrameFormals=<unavailable>, callPC=<unavailable>, excInfo=<unavailable>, poppedLastSPSFrameOut=0x00007fff5fbfba80, caller=<unavailable>, fun=<unavailable>, script=<unavailable>, nextCallee=<unavailable>) + 10039 at BaselineBailouts.cpp:1054
frame #4: 0x00000001001e3e2b js-dbg-opt-64-dm-nsprBuild-darwin-54e902f5e85d`js::jit::BailoutIonToBaseline(cx=0x0000000101e00b80, activation=<unavailable>, iter=0x00007fff5fbfc070, invalidate=<unavailable>, bailoutInfo=0x00007fff5fbfc068, excInfo=0x00007fff5fbfc6e0, poppedLastSPSFrameOut=<unavailable>) + 1563 at BaselineBailouts.cpp:1515
(lldb)
Flags: needinfo?
| Reporter | ||
Updated•11 years ago
|
Crash Signature: [@ js::jit::BaselineScript::anyKindICEntryFromPCOffset]
[@ js::jit::BailoutIonToBaseline] → [@ js::jit::BaselineScript::anyKindICEntryFromPCOffset]
[@ js::jit::BailoutIonToBaseline]
Whiteboard: [jsbugmon:update]
| Reporter | ||
Comment 2•11 years ago
|
||
Due to skipped revisions, the first bad revision could be any of:
changeset: https://hg.mozilla.org/mozilla-central/rev/b160657339f8
user: Shu-yu Guo
date: Thu Nov 13 14:39:39 2014 -0800
summary: Bug 1032869 - Part 2: Move debuggee-ness to frames and selectively deoptimize when Debugger needs to observe execution. (r=jimb)
changeset: https://hg.mozilla.org/mozilla-central/rev/bb2f13ba7b1c
user: Shu-yu Guo
date: Thu Nov 13 14:39:40 2014 -0800
summary: Bug 1062629 - Off-thread compartment debug mode should match main thread compartment debug mode. (r=jimb)
changeset: https://hg.mozilla.org/mozilla-central/rev/1176cc3c3b34
user: Shu-yu Guo
date: Thu Nov 13 14:39:40 2014 -0800
summary: Bug 1063328 - Fix on-stack live iterator handling when bailing out in-place due to debug mode OSR. (r=jandem)
changeset: https://hg.mozilla.org/mozilla-central/rev/f8e316fa65bb
user: Shu-yu Guo
date: Thu Nov 13 14:39:40 2014 -0800
summary: Bug 1063330 - Remove the JS shell's evalInFrame. (r=jimb)
changeset: https://hg.mozilla.org/mozilla-central/rev/96a2f59f6ce4
user: Shu-yu Guo
date: Thu Nov 13 14:39:40 2014 -0800
summary: Bug 1032869 - Part 3: Don't consider onExceptionUnwind an all-execution-observing hook. (r=jandem)
changeset: https://hg.mozilla.org/mozilla-central/rev/06d07689a043
user: Shu-yu Guo
date: Thu Nov 13 14:39:41 2014 -0800
summary: Bug 1032869 - Part 4: Add an auto-updated DebugModeOSRVolatileJitFrameIterator. (r=jandem)
Shu-yu, are any of these bugs potential regressors?
Flags: needinfo?(shu)
Comment 3•11 years ago
|
||
goddammit
Comment 4•11 years ago
|
||
I committed a wrong version of the patch in bug 1100337 (not the one that jandem reviewed, doh).
Flags: needinfo?(shu)
Comment 5•11 years ago
|
||
Attachment #8541890 -
Flags: review+
Comment 6•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
| Reporter | ||
Comment 7•11 years ago
|
||
This was found by combining random js tests together with jsfunfuzz, the specific file(s) is/are:
http://hg.mozilla.org/mozilla-central/file/54e902f5e85d/js/src/jit-test/tests/debug/bug1109328.js
http://hg.mozilla.org/mozilla-central/file/54e902f5e85d/js/src/tests/js1_5/Regress/regress-329530.js
You need to log in
before you can comment on or make changes to this bug.
Description
•