Closed
Bug 1655906
Opened 5 years ago
Closed 5 years ago
Assertion failure: cur.payloadType() == dest.payloadType(), at jit/CacheIRCompiler.cpp:962
Categories
(Core :: JavaScript Engine: JIT, defect)
Tracking
()
VERIFIED
FIXED
81 Branch
| Tracking | Status | |
|---|---|---|
| firefox-esr68 | --- | unaffected |
| firefox-esr78 | --- | disabled |
| firefox79 | --- | disabled |
| firefox80 | --- | disabled |
| firefox81 | --- | verified |
People
(Reporter: decoder, Assigned: jandem)
References
Details
(Keywords: assertion, regression, testcase, Whiteboard: [bugmon:update,bisect])
Attachments
(2 files)
The following testcase crashes on mozilla-central revision 20200727-932240e49142 (debug build, run with --fuzzing-safe --cpu-count=2 --ion-offthread-compile=off --baseline-eager --ion-full-warmup-threshold=10 --warp):
var xs = [
new new TypedObject.StructType({foo: TypedObject.bigint64}),
];
function loadInlineDigitsTwoDigits() {
var value = 0 == this;
xs[0].foo = value;
}
for (var i62 = 0; i62 < 10; i62++) {
loadInlineDigitsTwoDigits();
}
Backtrace:
received signal SIGSEGV, Segmentation fault.
#0 0x0000555556593392 in js::jit::CacheRegisterAllocator::restoreInputState(js::jit::MacroAssembler&, bool) ()
#1 0x0000555556719745 in js::jit::IonCacheIRCompiler::emitReturnFromIC() ()
#2 0x0000555556708c22 in js::jit::IonCacheIRCompiler::compile() ()
#3 0x000055555671aea1 in js::jit::IonIC::attachCacheIRStub(JSContext*, js::jit::CacheIRWriter const&, js::jit::CacheKind, js::jit::IonScript*, bool*, js::jit::PropertyTypeCheckInfo const*) ()
#4 0x00005555567202e0 in js::jit::IonSetPropertyIC::update(JSContext*, JS::Handle<JSScript*>, js::jit::IonSetPropertyIC*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>) ()
#5 0x0000237674be9e65 in ?? ()
#6 0xffffffffff000000 in ?? ()
#7 0x00007fffffffb998 in ?? ()
#8 0x0000000000000000 in ?? ()
rax 0x55555713e6c3 93825021503171
rbx 0x10 16
rcx 0x5555583e3840 93825041053760
rdx 0x0 0
rsi 0x7ffff7105770 140737338431344
rdi 0x7ffff7104540 140737338426688
rbp 0x7fffffffa460 140737488331872
rsp 0x7fffffffa3a0 140737488331680
r8 0x7ffff7105770 140737338431344
r9 0x7ffff7f9bd40 140737353727296
r10 0x58 88
r11 0x7ffff6dac7a0 140737334921120
r12 0x7fffffffb0c0 140737488335040
r13 0x7fffffffb158 140737488335192
r14 0x2 2
r15 0x7fffffffb0f0 140737488335088
rip 0x555556593392 <js::jit::CacheRegisterAllocator::restoreInputState(js::jit::MacroAssembler&, bool)+2434>
=> 0x555556593392 <_ZN2js3jit22CacheRegisterAllocator17restoreInputStateERNS0_14MacroAssemblerEb+2434>: movl $0x3c2,0x0
0x55555659339d <_ZN2js3jit22CacheRegisterAllocator17restoreInputStateERNS0_14MacroAssemblerEb+2445>: callq 0x55555584d42e <abort>
| Reporter | ||
Comment 1•5 years ago
|
||
| Assignee | ||
Comment 2•5 years ago
|
||
Actually not Warp specific.
No longer blocks: 1646039
Summary: [warp] Assertion failure: cur.payloadType() == dest.payloadType(), at jit/CacheIRCompiler.cpp:962 → Assertion failure: cur.payloadType() == dest.payloadType(), at jit/CacheIRCompiler.cpp:962
| Assignee | ||
Comment 3•5 years ago
•
|
||
I think this is harmless: we have a GuardToBigInt and BigIntOperandId use, but the actual type is always a boolean so the IC stub will fail before we get to the failure path code. Also, TypedObjects are disabled on non-Nightly.
status-firefox79:
--- → disabled
status-firefox80:
--- → disabled
status-firefox-esr78:
--- → disabled
| Assignee | ||
Comment 4•5 years ago
|
||
Updated•5 years ago
|
Assignee: nobody → jdemooij
Status: NEW → ASSIGNED
Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/47f9f26fc951
Check value type for TypedObject scalar fields before attaching a stub. r=anba
Comment 6•5 years ago
|
||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 81 Branch
Updated•5 years ago
|
Comment 7•5 years ago
|
||
Bugmon Analysis:
Verified bug as fixed on rev mozilla-central 20200729155631-3b87c49182a4.
Removing bugmon keyword as no further action possible.
Please review the bug and re-add the keyword for further analysis.
Updated•5 years ago
|
status-firefox-esr68:
--- → unaffected
Flags: in-testsuite+
You need to log in
before you can comment on or make changes to this bug.
Description
•