Closed
Bug 875804
Opened 12 years ago
Closed 12 years ago
Crash [@ check] or Opt-Crash [@ QuoteString]
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
VERIFIED
FIXED
mozilla24
| Tracking | Status | |
|---|---|---|
| firefox23 | --- | unaffected |
| firefox24 | + | fixed |
| firefox-esr17 | --- | unaffected |
| b2g18 | --- | unaffected |
People
(Reporter: decoder, Assigned: bhackett1024)
References
Details
(4 keywords, Whiteboard: [jsbugmon:])
Crash Data
Attachments
(2 files, 1 obsolete file)
|
1.12 KB,
text/plain
|
Details | |
|
984 bytes,
patch
|
jandem
:
review+
|
Details | Diff | Splinter Review |
The following testcase crashes on mozilla-central revision df526497d949 (no options required):
eval('(function () {\
function range(n) {\
for (var i = 0; i < 100000; i++)\
yield i;\
}\
var r = range(10);\
var i = 0;\
for (var x in r)\
assertEq(x,i++);\
' + '})();');
| Reporter | ||
Comment 1•12 years ago
|
||
| Reporter | ||
Comment 2•12 years ago
|
||
Opt-crash trace:
Program received signal SIGSEGV, Segmentation fault.
QuoteString (sp=0x7fffffffbd10, str=<error reading variable: Cannot access memory at address 0x449>, quote=<optimized out>) at js/src/jsopcode.cpp:988
988 const jschar *s = str->getChars(sp->context);
#0 QuoteString (sp=0x7fffffffbd10, str=<error reading variable: Cannot access memory at address 0x449>, quote=<optimized out>) at js/src/jsopcode.cpp:988
#1 0x0000000000500b61 in js_QuoteString (cx=0x161f2c0, str=<error reading variable: Cannot access memory at address 0x449>, quote=34) at js/src/jsopcode.cpp:1057
#2 0x0000000000537c57 in js::ValueToSource (cx=<optimized out>, v=...) at s/src/jsstr.cpp:3759
#3 0x0000000000427d77 in JS_ValueToSource (cx=<optimized out>, valueArg=...) at js/src/jsapi.cpp:491
#4 0x000000000041eff4 in ToSource (bytes=<synthetic pointer>, vp=0x7fffffffbe78, cx=0x161f2c0) at js/src/shell/js.cpp:1354
#5 AssertEq (cx=0x161f2c0, argc=2, vp=0x7fffffffbe68) at js/src/shell/js.cpp:1384
#6 0x00007ffff7f9a074 in ?? ()
#7 0x00007ffff5f3c820 in ?? ()
rbp 0x449 1097
=> 0x4ff684 <QuoteString(js::Sprinter*, JSString*, uint32_t)+852>: testb $0xf,0x0(%rbp)
S-s because this crash signature is known to be dangerous and the crash at 0x449 is pretty sure not a null-deref but likely some memory corruption/invalid object.
Crash Signature: [@ check] or Opt-Crash [@ QuoteString] → [@ check]
[@ QuoteString]
Whiteboard: [jsbugmon:update,bisect]
| Reporter | ||
Comment 3•12 years ago
|
||
Attachment #753815 -
Attachment is obsolete: true
| Reporter | ||
Updated•12 years ago
|
Crash Signature: [@ check]
[@ QuoteString] → [@ check]
[@ QuoteString]
Whiteboard: [jsbugmon:update,bisect] → [jsbugmon:update]
| Reporter | ||
Comment 4•12 years ago
|
||
JSBugMon: Bisection requested, result:
autoBisect shows this is probably related to the following changeset:
The first bad revision is:
changeset: 132801:4370f503d69f
user: Brian Hackett
date: Thu May 23 13:25:19 2013 -0600
summary: Bug 875276 - Don't profile types in scripts until they are compiled by baseline, r=jandem.
This iteration took 337.106 seconds to run.
| Reporter | ||
Comment 5•12 years ago
|
||
Needinfo from Brian based on comment 4.
Crash Signature: [@ check]
[@ QuoteString] → [@ check]
[@ QuoteString]
Flags: needinfo?(bhackett1024)
| Assignee | ||
Comment 7•12 years ago
|
||
During OSR Ion won't notice that an active iterator object is a generator or other custom iterator, and can produce values other than strings from 'for in' loops. Whenever these iterators are used the script's types need to be instantiated immediately so the information can be remembered.
Attachment #754840 -
Flags: review?(jdemooij)
Flags: needinfo?(bhackett1024)
Updated•12 years ago
|
Assignee: general → bhackett1024
Blocks: 875276
status-firefox23:
--- → unaffected
status-firefox24:
--- → affected
tracking-firefox24:
--- → ?
Keywords: regression,
sec-high
Comment 8•12 years ago
|
||
Comment on attachment 754840 [details] [diff] [review]
patch
Review of attachment 754840 [details] [diff] [review]:
-----------------------------------------------------------------
Please add the testcase as well.
Attachment #754840 -
Flags: review?(jdemooij) → review+
| Reporter | ||
Comment 9•12 years ago
|
||
Bug 875806 might be a dup of this one. If it is, it might be easier to take the test from there, since it's a little less ugly ;)
| Assignee | ||
Comment 10•12 years ago
|
||
| Assignee | ||
Updated•12 years ago
|
| Reporter | ||
Updated•12 years ago
|
Crash Signature: [@ check]
[@ QuoteString] → [@ check]
[@ QuoteString]
Whiteboard: [jsbugmon:update] → [jsbugmon:update,ignore]
| Reporter | ||
Comment 12•12 years ago
|
||
JSBugMon: The testcase found in this bug no longer reproduces (tried revision 75407626ba46).
| Reporter | ||
Updated•12 years ago
|
Crash Signature: [@ check]
[@ QuoteString] → [@ check]
[@ QuoteString]
Whiteboard: [jsbugmon:update,ignore] → [jsbugmon:update,bisectfix]
| Reporter | ||
Comment 13•12 years ago
|
||
I'll take that back, didn't see this is on inbound already ^^
Whiteboard: [jsbugmon:update,bisectfix] → [jsbugmon:]
Comment 14•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
| Reporter | ||
Updated•12 years ago
|
Status: RESOLVED → VERIFIED
Crash Signature: [@ check]
[@ QuoteString] → [@ check]
[@ QuoteString]
| Reporter | ||
Comment 15•12 years ago
|
||
JSBugMon: This bug has been automatically verified fixed.
Updated•12 years ago
|
Crash Signature: [@ check]
[@ QuoteString] → [@ check]
[@ QuoteString]
Updated•12 years ago
|
status-firefox-esr17:
--- → unaffected
Updated•12 years ago
|
status-b2g18:
--- → unaffected
Updated•11 years ago
|
Group: core-security
You need to log in
before you can comment on or make changes to this bug.
Description
•