Closed Bug 1046837 Opened 9 years ago Closed 9 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]
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+
https://hg.mozilla.org/mozilla-central/rev/fd1c8b4bbdd1
Status: ASSIGNED → RESOLVED
Closed: 9 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.