Closed Bug 872546 Opened 11 years ago Closed 11 years ago

Crash [@ js::ToBooleanSlow]

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
critical

Tracking

()

RESOLVED DUPLICATE of bug 879723

People

(Reporter: decoder, Unassigned)

Details

(Keywords: crash, sec-high, testcase, Whiteboard: [jsbugmon:])

Crash Data

Attachments

(1 file)

The following testcase crashes on mozilla-central revision 26ab72bfa9df (run with --ion-eager): var p = Proxy.create({ has : function(id) {} }); Object.prototype.__proto__ = p; test(); function test() { var start = 0; var stop = 0; var resolution = 5; while (stop - start == 0) { start = Date.now(); stop = Date.now(); } actual = (stop - start <= resolution); actual; } test(); actual = ''; test(); for (var i = 0; actual ;-i) {}
The crash itself looks harmless: Program received signal SIGSEGV, Segmentation fault. js::ToBooleanSlow (v=...) at js/src/jsbool.cpp:194 194 return v.toString()->length() != 0; #0 js::ToBooleanSlow (v=...) at js/src/jsbool.cpp:194 #1 0x0000000000847e60 in ToBoolean (v=...) at ../jsapi.h:1550 #2 js::ion::DoToBoolFallback (cx=0x19487b0, frame=0x7fffffffd408, stub=0x195a0a0, arg=$jsval(<error reading variable: Cannot access memory at address 0x7fff00000001>), ret=...) at js/src/ion/BaselineIC.cpp:2068 #3 0x00007ffff7f994da in ?? () [...] rax 0x1 140733193388033 => 0x477d05 <js::ToBooleanSlow(JS::Value const&)+213>: mov (%rax),%rax 0x477d08 <js::ToBooleanSlow(JS::Value const&)+216>: shr $0x4,%rax However, before reducing, this test asserted instead with Assertion failure: (ptrBits & 0x7) == 0, at ./dist/include/js/Value.h:734 and in an opt-build I got this instead: Assertion failure: [barrier verifier] Unmarked edge: <unknown>, at gc/Verifier.cpp:614 Both seem to indicate a GC problem, so I'm going to assume that this is s-s. Please let me know if the bug reproduced by this test and the assertions are connected. If not, then I will try to produce a second testcase reproducing the ptrBits assertion.
Whiteboard: [jsbugmon:update,bisect]
Whiteboard: [jsbugmon:update,bisect] → [jsbugmon:update]
JSBugMon: Bisection requested, result: autoBisect shows this is probably related to the following changeset: The first bad revision is: changeset: 129595:a8d0317c24c1 user: Brian Hackett date: Sun Apr 14 06:40:58 2013 -0600 summary: Bug 861419 - Consider values in prototype when reading global names during Ion compilation. This iteration took 11.935 seconds to run.
Brian, can you take a look based on comment 3? Thanks.
Flags: needinfo?(bhackett1024)
Conservatively marking this high based on the assertion failures from comment 1.
Keywords: sec-high
WFM on tip, can you still reproduce? The blame is almost certainly wrong, that bug is pretty innocuous.
Flags: needinfo?(bhackett1024)
Whiteboard: [jsbugmon:update] → [jsbugmon:update,reconfirm]
Whiteboard: [jsbugmon:update,reconfirm] → [jsbugmon:update,reconfirm,ignore]
JSBugMon: This bug has been automatically confirmed to be still valid (reproduced on revision 8eebe35aae63).
Whiteboard: [jsbugmon:update,reconfirm,ignore] → [jsbugmon:update,reconfirm]
Whiteboard: [jsbugmon:update,reconfirm] → [jsbugmon:update,reconfirm,ignore]
JSBugMon: The testcase found in this bug no longer reproduces (tried revision 4c4dec8506ab).
Whiteboard: [jsbugmon:update,reconfirm,ignore] → [jsbugmon:bisectfix]
Whiteboard: [jsbugmon:bisectfix] → [jsbugmon:]
JSBugMon: Fix Bisection requested, result: autoBisect shows this is probably related to the following changeset: The first good revision is: changeset: http://hg.mozilla.org/mozilla-central/rev/7ecbdd658637 user: Shu-yu Guo date: Mon Jun 10 12:10:13 2013 -0700 summary: Bug 879723 - Make sure property types reflect inherited types from the prototype when specializing a setgname. (r=bhackett) This iteration took 10.762 seconds to run.
Shu, is the bug in comment 9 likely the fix for this bug?
Flags: needinfo?(shu)
(In reply to Christian Holler (:decoder) from comment #10) > Shu, is the bug in comment 9 likely the fix for this bug? Can't say for sure, but likely, since the fuzz test case futzes with the proto chain.
Flags: needinfo?(shu)
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Group: core-security → core-security-release
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: