Closed
Bug 1598784
Opened 5 years ago
Closed 5 years ago
LeakSanitizer: [@ js::jit::PendingBlock]
Categories
(Core :: JavaScript Engine, defect, P1)
Tracking
()
RESOLVED
FIXED
mozilla72
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox71 | --- | unaffected |
firefox72 | --- | fixed |
People
(Reporter: gkw, Assigned: jandem)
References
(Regression)
Details
(4 keywords, Whiteboard: [jsbugmon:update])
Attachments
(2 files)
The following testcase crashes on mozilla-central revision 2c912e46295e (build with --enable-address-sanitizer, run with --fuzzing-safe --no-threads --ion-eager):
(function() {
switch (0) {
case 0:
f() = 0;
case -3:
}
})(new Array);
Backtrace:
Direct leak of 64 byte(s) in 1 object(s) allocated from:
#0 0x55c7667239f3 in __interceptor_malloc (/home/ubuntu/shell-cache/js-64-asan-linux-x86_64-2c912e46295e/js-64-asan-linux-x86_64-2c912e46295e+0x18549f3)
#1 0x55c76878a618 in js_arena_malloc(unsigned long, unsigned long) /home/ubuntu/shell-cache/js-64-asan-linux-x86_64-2c912e46295e/objdir-js/dist/include/js/Utility.h:387:10
#2 0x55c76878a618 in js::jit::PendingBlock* js_pod_arena_malloc<js::jit::PendingBlock>(unsigned long, unsigned long) /home/ubuntu/shell-cache/js-64-asan-linux-x86_64-2c912e46295e/objdir-js/dist/include/js/Utility.h:595
#3 0x55c76878a618 in js::jit::PendingBlock* js::AllocPolicyBase::maybe_pod_arena_malloc<js::jit::PendingBlock>(unsigned long, unsigned long) /home/ubuntu/shell-cache/js-64-asan-linux-x86_64-2c912e46295e/objdir-js/dist/include/js/AllocPolicy.h:31
#4 0x55c76878a618 in js::jit::PendingBlock* js::AllocPolicyBase::pod_arena_malloc<js::jit::PendingBlock>(unsigned long, unsigned long) /home/ubuntu/shell-cache/js-64-asan-linux-x86_64-2c912e46295e/objdir-js/dist/include/js/AllocPolicy.h:44
#5 0x55c76878a618 in js::jit::PendingBlock* js::AllocPolicyBase::pod_malloc<js::jit::PendingBlock>(unsigned long) /home/ubuntu/shell-cache/js-64-asan-linux-x86_64-2c912e46295e/objdir-js/dist/include/js/AllocPolicy.h:70
#6 0x55c76878a618 in mozilla::Vector<js::jit::PendingBlock, 2ul, js::SystemAllocPolicy>::convertToHeapStorage(unsigned long) /home/ubuntu/shell-cache/js-64-asan-linux-x86_64-2c912e46295e/objdir-js/dist/include/mozilla/Vector.h:937
#7 0x55c76878a618 in mozilla::Vector<js::jit::PendingBlock, 2ul, js::SystemAllocPolicy>::growStorageBy(unsigned long) /home/ubuntu/shell-cache/js-64-asan-linux-x86_64-2c912e46295e/objdir-js/dist/include/mozilla/Vector.h:1025
#8 0x55c76865cd8d in bool mozilla::Vector<js::jit::PendingBlock, 2ul, js::SystemAllocPolicy>::append<js::jit::PendingBlock const&>(js::jit::PendingBlock const&) /home/ubuntu/shell-cache/js-64-asan-linux-x86_64-2c912e46295e/objdir-js/dist/include/mozilla/Vector.h:1360:9
#9 0x55c76865cd8d in js::jit::IonBuilder::addPendingBlock(js::jit::PendingBlock const&, unsigned char*) js/src/jit/IonBuilder.cpp:1721
#10 0x55c76866c963 in js::jit::IonBuilder::visitTableSwitch() js/src/jit/IonBuilder.cpp:3712:5
#11 0x55c768652de4 in js::jit::IonBuilder::inspectOpcode(JSOp, bool*) js/src/jit/IonBuilder.cpp:2051:14
#12 0x55c7686448f7 in js::jit::IonBuilder::traverseBytecode() js/src/jit/IonBuilder.cpp:1604:5
#13 0x55c768631b4e in js::jit::IonBuilder::build() js/src/jit/IonBuilder.cpp:957:3
/snip
For detailed crash information, see attachment.
Reporter | ||
Comment 1•5 years ago
|
||
Reporter | ||
Comment 2•5 years ago
|
||
autobisectjs shows this is probably related to the following changeset:
The first bad revision is:
changeset: https://hg.mozilla.org/mozilla-central/rev/03783d54b398
user: Jan de Mooij
date: Wed Nov 20 17:03:29 2019 +0000
summary: Bug 1595476 part 3 - Rewrite and simplify control flow logic in Ion for bytecode -> MIR compilation. r=tcampbell
Jan, is bug 1595476 a likely regressor?
Flags: needinfo?(jdemooij)
Regressed by: 1595476
Assignee | ||
Comment 3•5 years ago
|
||
This ensures we properly destruct inline elements too.
Updated•5 years ago
|
Assignee: nobody → jdemooij
Assignee | ||
Updated•5 years ago
|
Status: NEW → ASSIGNED
Flags: needinfo?(jdemooij)
Updated•5 years ago
|
Priority: -- → P1
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ef87e6c97e44 Use Maybe<PendingEdgesMap> in IonBuilder instead of calling clearAndCompact(). r=tcampbell
Comment 5•5 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
Updated•4 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•