Closed Bug 981195 Opened 11 years ago Closed 9 years ago

Small leak in TypeCompartment::fixObjectType

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: mccr8, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [lsan])

I found this in an M4 run with LSAN. The two allocations look like they are the local vars |ids| and |types|. Maybe they aren't being freed on some error return path? This was the only JS-y stuff in the log, aside from some JSD locks and some mystery XPConnect stuff. Direct leak of 8 byte(s) in 1 object(s) allocated from: #0 0x446434 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 #1 0x7f0485195a01 in js_calloc /somepath/obj-firefox/js/src/../../dist/include/js/Utility.h:140 #2 0x7f0485195a01 in calloc_ /somepath/js/src/vm/MallocProvider.h:60 #3 0x7f0485195a01 in length /somepath/js/src/vm/MallocProvider.h:115 #4 0x7f0485195a01 in js::types::TypeCompartment::fixObjectType(js::ExclusiveContext*, JSObject*) /somepath/js/src/jsinfer.cpp:2685 #5 0x7f0484a9c3b3 in FixObjectType /somepath/js/src/jsinferinlines.h:548 #6 0x7f0484a9c3b3 in js::frontend::ParseNode::getConstantValue(js::ExclusiveContext*, bool, JS::MutableHandle<JS::Value>) /somepath/js/src/frontend/BytecodeEmitter.cpp:3877 #7 0x7f0484aad091 in EmitSingletonInitialiser(js::ExclusiveContext*, js::frontend::BytecodeEmitter*, js::frontend::ParseNode*) /somepath/js/src/frontend/BytecodeEmitter.cpp:3891 #8 0x7f0484aaf651 in EmitObject(js::ExclusiveContext*, js::frontend::BytecodeEmitter*, js::frontend::ParseNode*) /somepath/js/src/frontend/BytecodeEmitter.cpp:5860 Direct leak of 8 byte(s) in 1 object(s) allocated from: #0 0x446434 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 #1 0x7f0485195a8b in js_calloc /somepath/obj-firefox/js/src/../../dist/include/js/Utility.h:140 #2 0x7f0485195a8b in calloc_ /somepath/js/src/vm/MallocProvider.h:60 #3 0x7f0485195a8b in length /somepath/js/src/vm/MallocProvider.h:115 #4 0x7f0485195a8b in js::types::TypeCompartment::fixObjectType(js::ExclusiveContext*, JSObject*) /somepath/js/src/jsinfer.cpp:2691 #5 0x7f0484a9c3b3 in FixObjectType /somepath/js/src/jsinferinlines.h:548 #6 0x7f0484a9c3b3 in js::frontend::ParseNode::getConstantValue(js::ExclusiveContext*, bool, JS::MutableHandle<JS::Value>) /somepath/js/src/frontend/BytecodeEmitter.cpp:3877 #7 0x7f0484aad091 in EmitSingletonInitialiser(js::ExclusiveContext*, js::frontend::BytecodeEmitter*, js::frontend::ParseNode*) /somepath/js/src/frontend/BytecodeEmitter.cpp:3891 #8 0x7f0484aaf651 in EmitObject(js::ExclusiveContext*, js::frontend::BytecodeEmitter*, js::frontend::ParseNode*) /somepath/js/src/frontend/BytecodeEmitter.cpp:5860
This seems to have gone away. Maybe that offthread parsing leak fix also fixed this? Anyways, I'm going to remove the suppression in bug 1201096.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.