Closed
Bug 1427233
Opened 7 years ago
Closed 7 years ago
Assertion failure: obj->is<ArrayBufferViewObject>(), at js/src/vm/ArrayBufferObject.cpp:2017 with parseBin
Categories
(Core :: JavaScript Engine, defect, P3)
Tracking
()
RESOLVED
FIXED
mozilla60
Tracking | Status | |
---|---|---|
firefox-esr52 | --- | unaffected |
firefox58 | --- | unaffected |
firefox59 | --- | wontfix |
firefox60 | --- | fixed |
People
(Reporter: decoder, Assigned: Yoric)
References
Details
(Keywords: assertion, bugmon, testcase, Whiteboard: [jsbugmon:update])
Attachments
(1 file)
The following testcase crashes on mozilla-central revision 01cbfc6c625f (build with --enable-posix-nspr-emulation --enable-valgrind --enable-gczeal --disable-tests --disable-profiling --enable-debug --enable-optimize, run with --fuzzing-safe --cpu-count=2 --disable-oom-functions --disable-oom-functions):
g = newGlobal();
g.parseBin(new Int32Array({}));
Backtrace:
received signal SIGSEGV, Segmentation fault.
0x0000000000ad7f48 in js::GetArrayBufferViewLengthAndData (obj=0x7ffff5100580, length=length@entry=0x7fffffffc204, isSharedMemory=isSharedMemory@entry=0x7fffffffc203, data=data@entry=0x7fffffffc208) at js/src/vm/ArrayBufferObject.cpp:2017
#0 0x0000000000ad7f48 in js::GetArrayBufferViewLengthAndData (obj=0x7ffff5100580, length=length@entry=0x7fffffffc204, isSharedMemory=isSharedMemory@entry=0x7fffffffc203, data=data@entry=0x7fffffffc208) at js/src/vm/ArrayBufferObject.cpp:2017
#1 0x0000000000462fad in BinParse (cx=0x7ffff5f16000, argc=<optimized out>, vp=<optimized out>) at js/src/shell/js.cpp:4430
#2 0x0000000000575dd1 in js::CallJSNative (cx=0x7ffff5f16000, native=0x462e10 <BinParse(JSContext*, unsigned int, JS::Value*)>, args=...) at js/src/jscntxtinlines.h:291
[...]
#24 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at js/src/shell/js.cpp:9141
rax 0x0 0
rbx 0x1fc4b80 33311616
rcx 0x7ffff6c282ad 140737333330605
rdx 0x0 0
rsi 0x7ffff6ef7770 140737336276848
rdi 0x7ffff6ef6540 140737336272192
rbp 0x7fffffffc1c0 140737488339392
rsp 0x7fffffffc170 140737488339312
r8 0x7ffff6ef7770 140737336276848
r9 0x7ffff7fe4780 140737354024832
r10 0x58 88
r11 0x7ffff6b9e7a0 140737332766624
r12 0x2014260 33636960
r13 0x7fffffffc204 140737488339460
r14 0x7ffff5100580 140737304855936
r15 0x7fffffffc208 140737488339464
rip 0xad7f48 <js::GetArrayBufferViewLengthAndData(JSObject*, unsigned int*, bool*, unsigned char**)+568>
=> 0xad7f48 <js::GetArrayBufferViewLengthAndData(JSObject*, unsigned int*, bool*, unsigned char**)+568>: movl $0x0,0x0
0xad7f53 <js::GetArrayBufferViewLengthAndData(JSObject*, unsigned int*, bool*, unsigned char**)+579>: ud2
Shell-only issue.
Updated•7 years ago
|
Flags: needinfo?(dteller)
Updated•7 years ago
|
Priority: -- → P3
Assignee | ||
Comment 1•7 years ago
|
||
Sorry for the slow response. Yeah, I can turn this into a TypeError.
Flags: needinfo?(dteller)
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 4•7 years ago
|
||
mozreview-review |
Comment on attachment 8943198 [details]
Bug 1427233 - BinParse checks whether the argument is an ArrayBuffer;
https://reviewboard.mozilla.org/r/213550/#review219622
Does this mean we have no shell tests for this function? Why?
Attachment #8943198 -
Flags: review?(jdemooij) → review+
Updated•7 years ago
|
Whiteboard: [jsbugmon:update,bisect] → [jsbugmon:update]
Comment 5•7 years ago
|
||
JSBugMon: Bisection requested, result:
autoBisect shows this is probably related to the following changeset:
The first bad revision is:
changeset: https://hg.mozilla.org/mozilla-central/rev/27a84140b47d
user: David Teller
date: Mon Sep 18 16:41:00 2017 +0200
summary: Bug 1377007 - JS shell bindings for binjs-ref;r=arai,jorendorff
This iteration took 276.090 seconds to run.
David, is this patch ready for landing soon?
Flags: needinfo?(dteller)
Assignee | ||
Updated•7 years ago
|
Assignee: nobody → dteller
Flags: needinfo?(dteller)
Assignee | ||
Comment 7•7 years ago
|
||
(In reply to Jan de Mooij [:jandem] from comment #4)
> Comment on attachment 8943198 [details]
> Bug 1427233 - BinParse checks whether the argument is an ArrayBuffer;
>
> https://reviewboard.mozilla.org/r/213550/#review219622
>
> Does this mean we have no shell tests for this function? Why?
I'll admit that I don't even know where we can put such tests.
Flags: needinfo?(jcoppeard)
Assignee | ||
Comment 8•7 years ago
|
||
(In reply to Gary Kwong [:gkw] [:nth10sd] from comment #6)
> David, is this patch ready for landing soon?
Sorry, forgot about that patch. Unless I realize that I made a terrible mistake, I hope to land it today.
Pushed by dteller@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0453e02a04c0
BinParse checks whether the argument is an ArrayBuffer;r=jandem
Assignee | ||
Updated•7 years ago
|
Flags: needinfo?(jcoppeard) → needinfo?(jdemooij)
Comment 10•7 years ago
|
||
(In reply to David Teller [:Yoric] (please use "needinfo") from comment #7)
> I'll admit that I don't even know where we can put such tests.
I'd suggest js/src/jit-test/tests/binast/
Flags: needinfo?(jdemooij)
Comment 11•7 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox60:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
Comment 12•7 years ago
|
||
Can we land this test?
status-firefox58:
--- → unaffected
status-firefox-esr52:
--- → unaffected
Flags: needinfo?(dteller)
Flags: in-testsuite?
Assignee | ||
Comment 13•7 years ago
|
||
I'll try and find time to land the test, but I'm currently fighting a pretty large and high-priority patch.
You need to log in
before you can comment on or make changes to this bug.
Description
•