Closed Bug 1790543 Opened 4 years ago Closed 4 years ago

Assertion failure: !PrototypeMayHaveIndexedProperties(arr), at jit/VMFunctions.cpp:654

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect

Tracking

()

VERIFIED FIXED
106 Branch
Tracking Status
firefox-esr91 --- unaffected
firefox-esr102 --- unaffected
firefox104 --- unaffected
firefox105 --- unaffected
firefox106 --- verified

People

(Reporter: decoder, Assigned: anba)

References

(Regression)

Details

(4 keywords, Whiteboard: [bugmon:update,bisected,confirmed][fuzzblocker])

Attachments

(3 files)

The following testcase crashes on mozilla-central revision 20220912-b66bbbcc4467 (debug build, run with --fuzzing-safe --ion-offthread-compile=off):

__proto__[0] = a = [];
for (;;)
  a.push(0);

Backtrace:

received signal SIGSEGV, Segmentation fault.
#0  0x00005555577ff895 in js::jit::ArrayPushDense(JSContext*, JS::Handle<js::ArrayObject*>, JS::Handle<JS::Value>, unsigned int*) ()
#1  0x000013ff8c2109c4 in ?? ()
#2  0x0000000000000000 in ?? ()
rax	0x555555842fc1	93824995307457
rbx	0x7ffff4e44010	140737301987344
rcx	0x5555582cdae8	93825039915752
rdx	0x0	0
rsi	0x7ffff7105770	140737338431344
rdi	0x7ffff7104540	140737338426688
rbp	0x7fffffffbd00	140737488338176
rsp	0x7fffffffbcd0	140737488338128
r8	0x7ffff7105770	140737338431344
r9	0x7ffff7f99800	140737353717760
r10	0x0	0
r11	0x0	0
r12	0x7ffff602a100	140737320755456
r13	0x7fffffffbd48	140737488338248
r14	0x7fffffffbd20	140737488338208
r15	0x7fffffffbd50	140737488338256
rip	0x5555577ff895 <js::jit::ArrayPushDense(JSContext*, JS::Handle<js::ArrayObject*>, JS::Handle<JS::Value>, unsigned int*)+501>
=> 0x5555577ff895 <_ZN2js3jit14ArrayPushDenseEP9JSContextN2JS6HandleIPNS_11ArrayObjectEEENS4_INS3_5ValueEEEPj+501>:	movl   $0x28e,0x0
   0x5555577ff8a0 <_ZN2js3jit14ArrayPushDenseEP9JSContextN2JS6HandleIPNS_11ArrayObjectEEENS4_INS3_5ValueEEEPj+512>:	callq  0x555556c349f4 <abort>

This happens with high frequency, marking as fuzzblocker.

Attached file Testcase —
Assignee: nobody → andrebargull
Status: NEW → ASSIGNED

The assertion also rejects (non-frozen) dense elements on the prototype chain,
even though those are actually allowed.

Bugmon Analysis
Verified bug as reproducible on mozilla-central 20220912214055-b66bbbcc4467.
The bug appears to have been introduced in the following build range:

Start: 747c206e4fd85e5ef30f5290872fde2204105c61 (20220912124208)
End: 1e48e6bda87186e8bef21870b7039f4f4f915007 (20220912124713)
Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=747c206e4fd85e5ef30f5290872fde2204105c61&tochange=1e48e6bda87186e8bef21870b7039f4f4f915007

Whiteboard: [bugmon:update,bisect][fuzzblocker] → [bugmon:update,bisected,confirmed][fuzzblocker]

Setting Regressed by field after analyzing regression range found by bugmon in comment #5.

Regressed by: 1790275

Set release status flags based on info from the regressing bug 1790275

Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 106 Branch

Bugmon Analysis
Verified bug as fixed on rev mozilla-central 20220913154221-26065fde0af4.
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.

Status: RESOLVED → VERIFIED
Keywords: bugmon
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: