Closed
Bug 1111194
Opened 10 years ago
Closed 10 years ago
Assertion failure: [barrier verifier] Unmarked edge: TypeNewScript_function, at js/src/gc/Verifier.cpp:316
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
VERIFIED
FIXED
mozilla37
Tracking | Status | |
---|---|---|
firefox36 | --- | unaffected |
firefox37 | --- | verified |
firefox-esr31 | --- | unaffected |
People
(Reporter: decoder, Assigned: bhackett1024)
References
Details
(4 keywords, Whiteboard: [jsbugmon:update][fuzzblocker])
Attachments
(1 file)
2.21 KB,
patch
|
nmatsakis
:
review+
|
Details | Diff | Splinter Review |
The following testcase crashes on mozilla-central revision f14dcd1c8c0b (build with --enable-optimize --enable-posix-nspr-emulation --enable-valgrind --enable-gczeal --target=i686-pc-linux-gnu --enable-debug, run with --fuzzing-safe --thread-count=2):
gczeal(4);
function F(){}
var obj = new F();
var itrCount = 10000;
for(var i = 0; i < itrCount; i++) {
assertEq(obj.value = i, i);
}
Backtrace:
Program received signal SIGSEGV, Segmentation fault.
0x081f8956 in AssertMarkedOrAllocated (edge=...) at js/src/gc/Verifier.cpp:317
317 MOZ_CRASH();
#0 0x081f8956 in AssertMarkedOrAllocated (edge=...) at js/src/gc/Verifier.cpp:317
#1 0x082052af in js::gc::GCRuntime::endVerifyPreBarriers (this=0x965bab8) at js/src/gc/Verifier.cpp:365
#2 0x085de587 in AutoStopVerifyingBarriers (_notifier=..., isShutdown=false, rt=0x965b900, this=0xffffda04) at js/src/gc/GCInternals.h:114
#3 js::gc::GCRuntime::collect (this=0x965bab8, incremental=false, budget=..., gckind=js::GC_NORMAL, reason=JS::gcreason::DESTROY_CONTEXT) at js/src/jsgc.cpp:6247
#4 0x085df407 in js::gc::GCRuntime::gc (this=0x965bab8, gckind=js::GC_NORMAL, reason=JS::gcreason::DESTROY_CONTEXT) at js/src/jsgc.cpp:6312
#5 0x0852d276 in js::DestroyContext (cx=0x96758f0, mode=js::DCM_FORCE_GC) at js/src/jscntxt.cpp:261
#6 0x0852d508 in JS_DestroyContext (cx=0x96758f0) at js/src/jsapi.cpp:753
#7 0x0804bf95 in DestroyContext (cx=0x96758f0, withGC=true) at js/src/shell/js.cpp:5258
#8 0x08069877 in main (argc=0, argv=0x0, envp=0x0) at js/src/shell/js.cpp:5986
eax 0x0 0
ebx 0x9631ff4 157491188
ecx 0xf7e648ac -135903060
edx 0x0 0
esi 0xffffd4fc -11012
edi 0xf2234ea0 -232567136
ebp 0xffffd918 4294957336
esp 0xffffd4d0 4294956240
eip 0x81f8956 <AssertMarkedOrAllocated(EdgeValue const&)+342>
=> 0x81f8956 <AssertMarkedOrAllocated(EdgeValue const&)+342>: movl $0x7b,0x0
0x81f8960 <AssertMarkedOrAllocated(EdgeValue const&)+352>: call 0x804aa00 <abort@plt>
Marking s-s because it's related to GC. Also marking as a fuzzblocker because this is a high frequency crasher (27 reports in the last hour).
![]() |
||
Comment 1•10 years ago
|
||
=== Tinderbox Build Bisection Results by autoBisect ===
The "good" changeset has the timestamp "20141212092057" and the hash "2e0a0c0d7685".
The "bad" changeset has the timestamp "20141212092456" and the hash "1d8b8c3d74e3".
Likely regression window: https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=2e0a0c0d7685&tochange=1d8b8c3d74e3
jsfunfuzz & randorderfuzz hit this a lot too.
Brian, is bug 1107145 a likely regressor?
Blocks: 1107145
status-firefox36:
--- → unaffected
Flags: needinfo?(bhackett1024)
OS: Linux → All
Hardware: x86 → All
Whiteboard: [jsbugmon:update,bisect][fuzzblocker] → [jsbugmon:update][fuzzblocker]
Assignee | ||
Comment 2•10 years ago
|
||
Hmm, bug 1107145 tried to simplify TypeObject barriers by calling writeBarrierPre on the parent TypeObject when its addendum changes. But this is wrong as this call doesn't do anything if the TypeObject has already been marked by the incremental GC.
Assignee: nobody → bhackett1024
Flags: needinfo?(bhackett1024)
Attachment #8536525 -
Flags: review?(nmatsakis)
Updated•10 years ago
|
Attachment #8536525 -
Flags: review?(nmatsakis) → review+
Assignee | ||
Comment 3•10 years ago
|
||
Comment 4•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
Reporter | ||
Updated•10 years ago
|
Status: RESOLVED → VERIFIED
Reporter | ||
Comment 5•10 years ago
|
||
JSBugMon: This bug has been automatically verified fixed.
Updated•10 years ago
|
status-firefox-esr31:
--- → unaffected
Updated•10 years ago
|
Group: core-security
You need to log in
before you can comment on or make changes to this bug.
Description
•