Open Bug 1782334 Opened 3 years ago Updated 10 months ago

Assertion failure when calling join() on an array of tuples

Categories

(Core :: JavaScript Engine, defect, P2)

defect

Tracking

()

People

(Reporter: tjc, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36

Steps to reproduce:

js> a = [#[1, 2, 3], #[4,5]]
[#[1, 2, 3], #[4, 5]]
js> a.join()

Actual results:

The output:

Assertion failure: elem.isMagic(JS_ELEMENTS_HOLE) || elem.isNullOrUndefined(), at /home/tjc/gecko-fork/js/src/builtin/Array.cpp:1202
#01: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1e86071]
#02: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1e4f3ae]
#03: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1e4ed69]
#04: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1e295dc]
#05: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1e16de3]
#06: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1e17569]
#07: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1e173a3]
#08: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1e0a946]
#09: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1dff1c1]
#10: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1e18a71]
#11: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1e18de4]
#12: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x20097fe]
#13: JS_ExecuteScript(JSContext*, JS::Handle<JSScript*>, JS::MutableHandle<JS::Value>)[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x20095bd]
#14: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1c58123]
#15: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1c576ef]
#16: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1c56aef]
#17: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1c2d6b1]
#18: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1c2029b]
#19: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1c1ae3c]
#20: ???[/lib/x86_64-linux-gnu/libc.so.6 +0x29fd0]
#21: __libc_start_main[/lib/x86_64-linux-gnu/libc.so.6 +0x2a07d]
#22: ???[/home/tjc/gecko-fork/obj-x64-debug-rt-jit/dist/bin/js +0x1c0f519]
#23: ??? (???:???)

Expected results:

a.join() should evaluate to "1,2,3,,4,5"

This happens because ArrayJoinDenseKernel() - https://searchfox.org/mozilla-central/source/js/src/builtin/Array.cpp#1201 - is missing a case for ExtendedPrimitives.

Blocks: 1658309
Severity: -- → S4
Priority: -- → P2
Assignee: nobody → tjc
Status: NEW → ASSIGNED

The bug assignee is inactive on Bugzilla, so the assignee is being reset.

Assignee: tjc → nobody
Status: ASSIGNED → NEW
Assignee: nobody → tjc
Status: NEW → ASSIGNED
Assignee: tjc → nobody
Status: ASSIGNED → NEW
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: