Closed Bug 1046837 Opened 10 years ago Closed 10 years ago

Intermittent LeakSanitizer | leak at mozilla::CountingAllocatorBase, _vds_shared_init, vorbis_synthesis_init, mozilla::VorbisState::Init

Categories

(Core :: Audio/Video, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla34
Tracking Status
firefox32 --- unaffected
firefox33 --- fixed
firefox34 --- fixed
firefox-esr24 --- unaffected
firefox-esr31 --- unaffected

People

(Reporter: emorley, Assigned: jwwang)

References

(Blocks 1 open bug)

Details

(Keywords: intermittent-failure, memory-leak, Whiteboard: [MemShrink:P2])

Attachments

(1 file)

Ubuntu ASAN VM 12.04 x64 mozilla-inbound opt test mochitest-1 on 2014-07-31 06:42:06 PDT for push 9eeb976a6ca5 slave: tst-linux64-spot-1148 https://tbpl.mozilla.org/php/getParsedLog.php?id=44972455&tree=Mozilla-Inbound { 07:22:40 INFO - 4553 INFO ==1809==ERROR: LeakSanitizer: detected memory leaks 07:22:40 INFO - 4554 INFO Direct leak of 18968 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4555 INFO #0 0x471feb in realloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:95 07:22:40 INFO - 4556 INFO #1 0x7f7066159c72 in mozilla::CountingAllocatorBase<OggReporter>::CountingRealloc(void*, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:923 07:22:40 INFO - 4557 INFO #2 0x7f706cb7d37a in _vorbis_block_ripcord /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:149 07:22:40 INFO - 4558 INFO #3 0x7f706cb7d37a in vorbis_synthesis /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_synthesis.c:39 07:22:40 INFO - 4559 INFO #4 0x7f706a9da2cd in mozilla::OggReader::DecodeVorbis(ogg_packet*) /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggReader.cpp:402 07:22:40 INFO - 4560 INFO #5 0x7f706a9db909 in mozilla::OggReader::DecodeAudioData() /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggReader.cpp:595 07:22:40 INFO - 4561 INFO Direct leak of 464 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4562 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4563 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4564 INFO #2 0x7f706cb56c6c in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:191 07:22:40 INFO - 4565 INFO #3 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4566 INFO #4 0x7f706a9ced38 in mozilla::VorbisState::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggCodecState.cpp:597 07:22:40 INFO - 4567 INFO Direct leak of 24 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4568 INFO #0 0x471d71 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 07:22:40 INFO - 4569 INFO #1 0x7f7066159bfa in mozilla::CountingAllocatorBase<OggReporter>::CountingMalloc(unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:908 07:22:40 INFO - 4570 INFO #2 0x7f706cb5770e in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:253 07:22:40 INFO - 4571 INFO #3 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4572 INFO #4 0x7f706a9ced38 in mozilla::VorbisState::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggCodecState.cpp:597 07:22:40 INFO - 4573 INFO Direct leak of 24 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4574 INFO #0 0x471d71 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 07:22:40 INFO - 4575 INFO #1 0x7f7066159bfa in mozilla::CountingAllocatorBase<OggReporter>::CountingMalloc(unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:908 07:22:40 INFO - 4576 INFO #2 0x7f706cb576a5 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:252 07:22:40 INFO - 4577 INFO #3 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4578 INFO #4 0x7f706a9ced38 in mozilla::VorbisState::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggCodecState.cpp:597 07:22:40 INFO - 4579 INFO Indirect leak of 20480 byte(s) in 3 object(s) allocated from: 07:22:40 INFO - 4580 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4581 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4582 INFO #2 0x7f706cb577b5 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:257 07:22:40 INFO - 4583 INFO #3 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4584 INFO #4 0x7f706a9ced38 in mozilla::VorbisState::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggCodecState.cpp:597 07:22:40 INFO - 4585 INFO Indirect leak of 15360 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4586 INFO #0 0x471d71 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 07:22:40 INFO - 4587 INFO #1 0x7f7066159bfa in mozilla::CountingAllocatorBase<OggReporter>::CountingMalloc(unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:908 07:22:40 INFO - 4588 INFO #2 0x7f706cb62886 in mdct_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_mdct.c:54 07:22:40 INFO - 4589 INFO #3 0x7f706cb56ee6 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:204 07:22:40 INFO - 4590 INFO #4 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4591 INFO Indirect leak of 12800 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4592 INFO #0 0x471d71 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 07:22:40 INFO - 4593 INFO #1 0x7f7066159bfa in mozilla::CountingAllocatorBase<OggReporter>::CountingMalloc(unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:908 07:22:40 INFO - 4594 INFO #2 0x7f706cb62886 in mdct_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_mdct.c:54 07:22:40 INFO - 4595 INFO #3 0x7f706cb56e90 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:203 07:22:40 INFO - 4596 INFO #4 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4597 INFO Indirect leak of 3984 byte(s) in 3 object(s) allocated from: 07:22:40 INFO - 4598 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4599 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4600 INFO #2 0x7f706cb471b3 in floor1_look /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_floor1.c:203 07:22:40 INFO - 4601 INFO #3 0x7f706cb57aab in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:275 07:22:40 INFO - 4602 INFO #4 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4603 INFO Indirect leak of 3072 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4604 INFO #0 0x471d71 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 07:22:40 INFO - 4605 INFO #1 0x7f7066159bfa in mozilla::CountingAllocatorBase<OggReporter>::CountingMalloc(unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:908 07:22:40 INFO - 4606 INFO #2 0x7f706cb62860 in mdct_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_mdct.c:53 07:22:40 INFO - 4607 INFO #3 0x7f706cb56ee6 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:204 07:22:40 INFO - 4608 INFO #4 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4609 INFO Indirect leak of 2560 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4610 INFO #0 0x471d71 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 07:22:40 INFO - 4611 INFO #1 0x7f7066159bfa in mozilla::CountingAllocatorBase<OggReporter>::CountingMalloc(unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:908 07:22:40 INFO - 4612 INFO #2 0x7f706cb62860 in mdct_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_mdct.c:53 07:22:40 INFO - 4613 INFO #3 0x7f706cb56e90 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:203 07:22:40 INFO - 4614 INFO #4 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4615 INFO Indirect leak of 800 byte(s) in 1 object(s) allocated from: 07:22:40 INFO - 4616 INFO #0 0x471d71 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 07:22:40 INFO - 4617 INFO #1 0x7f7066159bfa in mozilla::CountingAllocatorBase<OggReporter>::CountingMalloc(unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:908 07:22:40 INFO - 4618 INFO #2 0x7f706cb4fd70 in res0_look /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_res0.c:307 07:22:40 INFO - 4619 INFO #3 0x7f706cb57be6 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:279 07:22:40 INFO - 4620 INFO #4 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4621 INFO Indirect leak of 800 byte(s) in 100 object(s) allocated from: 07:22:40 INFO - 4622 INFO #0 0x471d71 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 07:22:40 INFO - 4623 INFO #1 0x7f7066159bfa in mozilla::CountingAllocatorBase<OggReporter>::CountingMalloc(unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:908 07:22:40 INFO - 4624 INFO #2 0x7f706cb4fe20 in res0_look /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_res0.c:311 07:22:40 INFO - 4625 INFO #3 0x7f706cb57be6 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:279 07:22:40 INFO - 4626 INFO #4 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4627 INFO Indirect leak of 200 byte(s) in 9 object(s) allocated from: 07:22:40 INFO - 4628 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4629 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4630 INFO #2 0x7f706cb4fa34 in res0_look /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_res0.c:290 07:22:40 INFO - 4631 INFO #3 0x7f706cb57be6 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:279 07:22:40 INFO - 4632 INFO #4 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4633 INFO Indirect leak of 80 byte(s) in 1 object(s) allocated from: 07:22:40 INFO - 4634 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4635 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4636 INFO #2 0x7f706cb4f91d in res0_look /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_res0.c:284 07:22:40 INFO - 4637 INFO #3 0x7f706cb57be6 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:279 07:22:40 INFO - 4638 INFO #4 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4639 INFO Indirect leak of 80 byte(s) in 1 object(s) allocated from: 07:22:40 INFO - 4640 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4641 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4642 INFO #2 0x7f706cb4f7a2 in res0_look /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_res0.c:271 07:22:40 INFO - 4643 INFO #3 0x7f706cb57be6 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:279 07:22:40 INFO - 4644 INFO #4 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4645 INFO Indirect leak of 64 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4646 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4647 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4648 INFO #2 0x7f706cb56dce in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:201 07:22:40 INFO - 4649 INFO #3 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4650 INFO #4 0x7f706a9ced38 in mozilla::VorbisState::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggCodecState.cpp:597 07:22:40 INFO - 4651 INFO Indirect leak of 64 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4652 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4653 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4654 INFO #2 0x7f706cb56e17 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:202 07:22:40 INFO - 4655 INFO #3 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4656 INFO #4 0x7f706a9ced38 in mozilla::VorbisState::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggCodecState.cpp:597 07:22:40 INFO - 4657 INFO Indirect leak of 24 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4658 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4659 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4660 INFO #2 0x7f706cb57930 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:271 07:22:40 INFO - 4661 INFO #3 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4662 INFO #4 0x7f706a9ced38 in mozilla::VorbisState::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggCodecState.cpp:597 07:22:40 INFO - 4663 INFO Indirect leak of 16 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4664 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4665 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4666 INFO #2 0x7f706cb56d8b in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:197 07:22:40 INFO - 4667 INFO #3 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4668 INFO #4 0x7f706a9ced38 in mozilla::VorbisState::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggCodecState.cpp:597 07:22:40 INFO - 4669 INFO Indirect leak of 16 byte(s) in 2 object(s) allocated from: 07:22:40 INFO - 4670 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4671 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4672 INFO #2 0x7f706cb56d49 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:196 07:22:40 INFO - 4673 INFO #3 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4674 INFO #4 0x7f706a9ced38 in mozilla::VorbisState::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggCodecState.cpp:597 07:22:40 INFO - 4675 INFO Indirect leak of 8 byte(s) in 1 object(s) allocated from: 07:22:40 INFO - 4676 INFO #0 0x471e81 in calloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:90 07:22:40 INFO - 4677 INFO #1 0x7f7066159c2a in mozilla::CountingAllocatorBase<OggReporter>::CountingCalloc(unsigned long, unsigned long) /builds/slave/m-in-l64-asan-0000000000000000/build/obj-firefox/xpcom/build/../../dist/include/nsIMemoryReporter.h:915 07:22:40 INFO - 4678 INFO #2 0x7f706cb579a0 in _vds_shared_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:272 07:22:40 INFO - 4679 INFO #3 0x7f706cb5faef in vorbis_synthesis_init /builds/slave/m-in-l64-asan-0000000000000000/build/media/libvorbis/lib/vorbis_block.c:709 07:22:40 INFO - 4680 INFO #4 0x7f706a9ced38 in mozilla::VorbisState::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/content/media/ogg/OggCodecState.cpp:597 07:22:40 INFO - 4681 INFO ----------------------------------------------------- 07:22:40 INFO - 4682 INFO Suppressions used: 07:22:40 INFO - 4683 INFO count bytes template 07:22:40 INFO - 4684 INFO 40 986 libc.so 07:22:40 INFO - 4685 INFO 915 29064 nsComponentManagerImpl 07:22:40 INFO - 4686 INFO 61 8296 mozJSComponentLoader::LoadModule 07:22:40 INFO - 4687 INFO 1 24672 profiler_init 07:22:40 INFO - 4688 INFO 1 384 pixman_implementation_lookup_composite 07:22:40 INFO - 4689 INFO 360 15936 libfontconfig.so 07:22:40 INFO - 4690 INFO 147 16709 nestegg_read_packet 07:22:40 INFO - 4691 INFO 4 40152 AllocateArrayBufferContents 07:22:40 INFO - 4692 INFO 8 352 _PR_Getfd 07:22:40 INFO - 4693 INFO 2726 98230 libglib-2.0.so 07:22:40 INFO - 4694 INFO 2 144 libpulse.so 07:22:40 INFO - 4695 INFO 1 40 libpulsecommon-1.1.so 07:22:40 INFO - 4696 INFO 22 616 libresolv.so 07:22:40 INFO - 4697 INFO ----------------------------------------------------- 07:22:40 INFO - 4698 INFO SUMMARY: AddressSanitizer: 79888 byte(s) leaked in 145 allocation(s). 07:22:40 INFO - TEST-INFO | Main app process: exit 0 07:22:40 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at mozilla::CountingAllocatorBase, _vds_shared_init, vorbis_synthesis_init, mozilla::VorbisState::Init 07:22:40 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at mozilla::CountingAllocatorBase, _vorbis_block_ripcord, vorbis_synthesis, mozilla::OggReader::DecodeVorbis }
Thanks for filing this. A prior instance of this was misstarred as bug 1036562 comment 2.
This is happening pretty frequently. Do you know of any Vorbis changes that happened in around the last two weeks that might have caused this leak? (Our LSan coverage was broken for about that long, so it isn't clear when it might have started exactly.) I looked at the leaking allocation stacks, and none of those files seem to have changes very recently.
Flags: needinfo?(tterribe)
Whiteboard: [MemShrink]
(In reply to Andrew McCreight [:mccr8] from comment #6) > This is happening pretty frequently. Do you know of any Vorbis changes that > happened in around the last two weeks that might have caused this leak? (Our I do not. My best guess is something with async decoders. Any ideas, cpearce?
Flags: needinfo?(tterribe) → needinfo?(cpearce)
Async decoding stuck 6 weeks ago (bug 979104), so if this indeed started in the last two weeks it must be something else. Nothing in the push log of the last two weeks is an obvious candidate.
Flags: needinfo?(cpearce)
Looks like a regression of Bug 1034957. I am looking at it.
Assignee: nobody → jwwang
Status: NEW → ASSIGNED
Blocks: 1034957
mDecodeTaskQueue->Flush(); at [1] is suspicious to me. Flush() doesn't guarantee MediaDecoderReader::ResetDecode() dispatched above will be executed. It looks like we should call AwaitIdle() or reverse the order of Flush()/MediaDecoderReader::ResetDecode(). [1] http://hg.mozilla.org/mozilla-central/file/e6614d8d85f9/content/media/MediaDecoderStateMachine.cpp#l2462
(In reply to JW Wang [:jwwang] from comment #38) > mDecodeTaskQueue->Flush(); at [1] is suspicious to me. > > Flush() doesn't guarantee MediaDecoderReader::ResetDecode() dispatched above > will be executed. It looks like we should call AwaitIdle() or reverse the > order of Flush()/MediaDecoderReader::ResetDecode(). You're right. That Flush() should be an AwaitIdle(). Good catch! The idea here was to purge events in the task queue that would deliver samples. But in hindsight, I don't think that's safe; the Reader may be using the task queue for something else, and it will likely not expect this behaviour.
Whiteboard: [MemShrink] → [MemShrink:P2]
Attached patch 1046837_fix_leaks.patch — — Splinter Review
Reset |mDispatchedDecodeMetadataTask| only after finishinig decoding metadata to avoid MediaDecoderStateMachine::CallDecodeMetadata() may run more than once which could result in leaks in OggReader. We can't reset |mDispatchedDecodeMetadataTask| at exit of MediaDecoderStateMachine::CallDecodeMetadata() since MediaDecoderReader::Request{Video|Audio}Data is async.
Attachment #8472763 - Flags: review?(cpearce)
Comment on attachment 8472763 [details] [diff] [review] 1046837_fix_leaks.patch Review of attachment 8472763 [details] [diff] [review]: ----------------------------------------------------------------- ::: content/media/MediaDecoderStateMachine.cpp @@ +1518,5 @@ > mDispatchedDecodeMetadataTask) { > return NS_OK; > } > + > + mDispatchedDecodeMetadataTask = true; |mDispatchedDecodeMetadataTask| should be set before dispatching the task for the task could run immediately before we reach |mDispatchedDecodeMetadataTask = true;| below.
Comment on attachment 8472763 [details] [diff] [review] 1046837_fix_leaks.patch Review of attachment 8472763 [details] [diff] [review]: ----------------------------------------------------------------- ::: content/media/MediaDecoderStateMachine.cpp @@ -1841,5 @@ > void > MediaDecoderStateMachine::CallDecodeMetadata() > { > ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor()); > - AutoSetOnScopeExit<bool> unsetOnExit(mDispatchedDecodeMetadataTask, false); Why remove the AutoSetOnScopeExit? Is there some path were we don't want to set mDispatchedDecodeMetadataTask=false here?
Comment on attachment 8472763 [details] [diff] [review] 1046837_fix_leaks.patch Review of attachment 8472763 [details] [diff] [review]: ----------------------------------------------------------------- ::: content/media/MediaDecoderStateMachine.cpp @@ -1841,5 @@ > void > MediaDecoderStateMachine::CallDecodeMetadata() > { > ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor()); > - AutoSetOnScopeExit<bool> unsetOnExit(mDispatchedDecodeMetadataTask, false); DecodeMetadata() will call Request{Video|Audio}Data() which is async. Decoding metadata will not finish until audio|video samples are returned from callbacks which are On{Audio|Video}Decoded. If we reset |mDispatchedDecodeMetadataTask| at exit of CallDecodeMetadata(), changes are state machine is scheduled again before samples are returned. Then DecodeMetadata() will run again which defeats the purpose of |mDispatchedDecodeMetadataTask|.
Comment on attachment 8472763 [details] [diff] [review] 1046837_fix_leaks.patch Review of attachment 8472763 [details] [diff] [review]: ----------------------------------------------------------------- OK.
Attachment #8472763 - Flags: review?(cpearce) → review+
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
We'll need to remember to uplift this to Aurora as well if bug 1034957 is.
(In reply to Ryan VanderMeulen [:RyanVM UTC-4] from comment #177) > We'll need to remember to uplift this to Aurora as well if bug 1034957 is. IIRC, bug 1034957 didn't uplift to Aurora.
The fix for this was rolled into the bug 1034957 beta uplift patch.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: