Closed Bug 1207161 Opened 9 years ago Closed 9 years ago

test_bug846906.xul causes leaks for Linux ASAN with runByDir enabled

Categories

(Core :: DOM: Navigation, defect)

43 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla44
Tracking Status
firefox44 --- fixed

People

(Reporter: kaustabh93, Assigned: froydnj)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Here's a link to try : https://treeherder.mozilla.org/#/jobs?repo=try&revision=6b682b40d35c 09:18:19 INFO - 1251 INFO TEST-START | docshell/test/chrome/test_bug846906.xul 09:18:20 INFO - MEMORY STAT vsizeMaxContiguous not supported in this build configuration. 09:18:20 INFO - MEMORY STAT heapAllocated not supported in this build configuration. 09:18:20 INFO - MEMORY STAT | vsize 20972764MB | residentFast 460MB 09:18:20 INFO - 1252 INFO TEST-OK | docshell/test/chrome/test_bug846906.xul | took 1356ms 09:18:20 INFO - ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 09:18:21 INFO - ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 09:18:21 INFO - ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 09:18:21 INFO - ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 09:18:21 INFO - ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 09:18:24 INFO - ================================================================= 09:18:24 INFO - ==3039==ERROR: LeakSanitizer: detected memory leaks 09:18:24 INFO - Direct leak of 32 byte(s) in 1 object(s) allocated from: 09:18:24 INFO - #0 0x472231 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 09:18:24 INFO - #1 0x48b79d in moz_xmalloc /builds/slave/try-l64-asan-00000000000000000/build/src/memory/mozalloc/mozalloc.cpp:83 09:18:24 INFO - #2 0x7f9d9b5b1348 in operator new /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/view/../dist/include/mozilla/mozalloc.h:186 09:18:24 INFO - #3 0x7f9d9b5b1348 in nsView::DestroyWidget() /builds/slave/try-l64-asan-00000000000000000/build/src/view/nsView.cpp:136 09:18:24 INFO - #4 0x7f9d9b5b0e01 in nsView::~nsView() /builds/slave/try-l64-asan-00000000000000000/build/src/view/nsView.cpp:99 09:18:24 INFO - #5 0x7f9d9b5b108d in nsView::Destroy() /builds/slave/try-l64-asan-00000000000000000/build/src/view/nsView.cpp:163 09:18:24 INFO - Indirect leak of 560 byte(s) in 1 object(s) allocated from: 09:18:24 INFO - #0 0x472231 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 09:18:24 INFO - #1 0x48b79d in moz_xmalloc /builds/slave/try-l64-asan-00000000000000000/build/src/memory/mozalloc/mozalloc.cpp:83 09:18:24 INFO - #2 0x7f9d9b5f9f44 in operator new /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/widget/../dist/include/mozilla/mozalloc.h:186 09:18:24 INFO - #3 0x7f9d9b5f9f44 in CreatePuppetWidget /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:46 09:18:24 INFO - #4 0x7f9d9b5f9f44 in mozilla::widget::PuppetWidget::CreateChild(mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, nsWidgetInitData*, bool) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:153 09:18:24 INFO - #5 0x7f9d9b5b42aa in nsView::CreateWidgetForParent(nsIWidget*, nsWidgetInitData*, bool, bool) /builds/slave/try-l64-asan-00000000000000000/build/src/view/nsView.cpp:609 09:18:24 INFO - #6 0x7f9d9be4e5d7 in nsDocumentViewer::MakeWindow(nsSize const&, nsView*) /builds/slave/try-l64-asan-00000000000000000/build/src/layout/base/nsDocumentViewer.cpp:2427 09:18:24 INFO - Indirect leak of 384 byte(s) in 1 object(s) allocated from: 09:18:24 INFO - #0 0x472231 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 09:18:24 INFO - #1 0x48b79d in moz_xmalloc /builds/slave/try-l64-asan-00000000000000000/build/src/memory/mozalloc/mozalloc.cpp:83 09:18:24 INFO - #2 0x7f9d9b5fe6d6 in operator new /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/widget/../dist/include/mozilla/mozalloc.h:186 09:18:24 INFO - #3 0x7f9d9b5fe6d6 in mozilla::widget::PuppetWidget::GetLayerManager(mozilla::layers::PLayerTransactionChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:557 09:18:24 INFO - #4 0x7f9d9b5f98eb in mozilla::widget::PuppetWidget::Create(nsIWidget*, void*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, nsWidgetInitData*) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:121 09:18:24 INFO - #5 0x7f9d9b5f9fd9 in mozilla::widget::PuppetWidget::CreateChild(mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, nsWidgetInitData*, bool) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:155 09:18:24 INFO - Indirect leak of 184 byte(s) in 1 object(s) allocated from: 09:18:24 INFO - #0 0x472231 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 09:18:24 INFO - #1 0x48b79d in moz_xmalloc /builds/slave/try-l64-asan-00000000000000000/build/src/memory/mozalloc/mozalloc.cpp:83 09:18:24 INFO - #2 0x7f9d97a392cf in LayerManager /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/gfx/layers/../../dist/include/mozilla/mozalloc.h:186 09:18:24 INFO - #3 0x7f9d97a392cf in mozilla::layers::ClientLayerManager::ClientLayerManager(nsIWidget*) /builds/slave/try-l64-asan-00000000000000000/build/src/gfx/layers/client/ClientLayerManager.cpp:105 09:18:24 INFO - #4 0x7f9d9b5fe6e4 in mozilla::widget::PuppetWidget::GetLayerManager(mozilla::layers::PLayerTransactionChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:557 09:18:24 INFO - #5 0x7f9d9b5f98eb in mozilla::widget::PuppetWidget::Create(nsIWidget*, void*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, nsWidgetInitData*) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:121 09:18:24 INFO - Indirect leak of 128 byte(s) in 1 object(s) allocated from: 09:18:24 INFO - #0 0x472231 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 09:18:24 INFO - #1 0x48b79d in moz_xmalloc /builds/slave/try-l64-asan-00000000000000000/build/src/memory/mozalloc/mozalloc.cpp:83 09:18:24 INFO - #2 0x7f9d97b4bbd2 in operator new /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/gfx/layers/../../dist/include/mozilla/mozalloc.h:186 09:18:24 INFO - #3 0x7f9d97b4bbd2 in mozilla::layers::ShadowLayerForwarder::ShadowLayerForwarder() /builds/slave/try-l64-asan-00000000000000000/build/src/gfx/layers/ipc/ShadowLayers.cpp:172 09:18:24 INFO - #4 0x7f9d97a392da in mozilla::layers::ClientLayerManager::ClientLayerManager(nsIWidget*) /builds/slave/try-l64-asan-00000000000000000/build/src/gfx/layers/client/ClientLayerManager.cpp:105 09:18:24 INFO - #5 0x7f9d9b5fe6e4 in mozilla::widget::PuppetWidget::GetLayerManager(mozilla::layers::PLayerTransactionChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:557 09:18:24 INFO - Indirect leak of 32 byte(s) in 1 object(s) allocated from: 09:18:24 INFO - #0 0x472231 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 09:18:24 INFO - #1 0x48b79d in moz_xmalloc /builds/slave/try-l64-asan-00000000000000000/build/src/memory/mozalloc/mozalloc.cpp:83 09:18:24 INFO - #2 0x7f9d97a39435 in operator new /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/gfx/layers/../../dist/include/mozilla/mozalloc.h:186 09:18:24 INFO - #3 0x7f9d97a39435 in mozilla::layers::ClientLayerManager::ClientLayerManager(nsIWidget*) /builds/slave/try-l64-asan-00000000000000000/build/src/gfx/layers/client/ClientLayerManager.cpp:107 09:18:24 INFO - #4 0x7f9d9b5fe6e4 in mozilla::widget::PuppetWidget::GetLayerManager(mozilla::layers::PLayerTransactionChild*, mozilla::layers::LayersBackend, nsIWidget::LayerManagerPersistence, bool*) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:557 09:18:24 INFO - #5 0x7f9d9b5f98eb in mozilla::widget::PuppetWidget::Create(nsIWidget*, void*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, nsWidgetInitData*) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:121 09:18:24 INFO - Indirect leak of 32 byte(s) in 1 object(s) allocated from: 09:18:24 INFO - #0 0x472231 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 09:18:24 INFO - #1 0x48b79d in moz_xmalloc /builds/slave/try-l64-asan-00000000000000000/build/src/memory/mozalloc/mozalloc.cpp:83 09:18:24 INFO - #2 0x7f9d9b5f9a4b in operator new /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/widget/../dist/include/mozilla/mozalloc.h:186 09:18:24 INFO - #3 0x7f9d9b5f9a4b in mozilla::widget::PuppetWidget::Create(nsIWidget*, void*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, nsWidgetInitData*) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:128 09:18:24 INFO - #4 0x7f9d9b5f9fd9 in mozilla::widget::PuppetWidget::CreateChild(mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, nsWidgetInitData*, bool) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:155 09:18:24 INFO - #5 0x7f9d9b5b42aa in nsView::CreateWidgetForParent(nsIWidget*, nsWidgetInitData*, bool, bool) /builds/slave/try-l64-asan-00000000000000000/build/src/view/nsView.cpp:609 09:18:24 INFO - Indirect leak of 12 byte(s) in 1 object(s) allocated from: 09:18:24 INFO - #0 0x472231 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 09:18:24 INFO - #1 0x48b79d in moz_xmalloc /builds/slave/try-l64-asan-00000000000000000/build/src/memory/mozalloc/mozalloc.cpp:83 09:18:24 INFO - #2 0x7f9d95bdee23 in Malloc /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/startupcache/../dist/include/nsTArray.h:184 09:18:24 INFO - #3 0x7f9d95bdee23 in nsTArrayInfallibleAllocator::ResultTypeProxy nsTArray_base<nsTArrayInfallibleAllocator, nsTArray_CopyWithMemutils>::EnsureCapacity<nsTArrayInfallibleAllocator>(unsigned long, unsigned long) /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/startupcache/../dist/include/nsTArray-inl.h:136 09:18:24 INFO - #4 0x7f9d9b5f7515 in SetCapacity<nsTArrayInfallibleAllocator> /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/widget/../dist/include/nsTArray.h:1726 09:18:24 INFO - #5 0x7f9d9b5f7515 in mozilla::widget::PuppetWidget::PuppetWidget(mozilla::dom::TabChild*) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:87 09:18:24 INFO - #6 0x7f9d9b5f9f52 in CreatePuppetWidget /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:46 09:18:24 INFO - #7 0x7f9d9b5f9f52 in mozilla::widget::PuppetWidget::CreateChild(mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, nsWidgetInitData*, bool) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:153 09:18:24 INFO - Indirect leak of 12 byte(s) in 1 object(s) allocated from: 09:18:24 INFO - #0 0x472231 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 09:18:24 INFO - #1 0x48b79d in moz_xmalloc /builds/slave/try-l64-asan-00000000000000000/build/src/memory/mozalloc/mozalloc.cpp:83 09:18:24 INFO - #2 0x7f9d95bdee23 in Malloc /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/startupcache/../dist/include/nsTArray.h:184 09:18:24 INFO - #3 0x7f9d95bdee23 in nsTArrayInfallibleAllocator::ResultTypeProxy nsTArray_base<nsTArrayInfallibleAllocator, nsTArray_CopyWithMemutils>::EnsureCapacity<nsTArrayInfallibleAllocator>(unsigned long, unsigned long) /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/startupcache/../dist/include/nsTArray-inl.h:136 09:18:24 INFO - #4 0x7f9d9b5f7527 in SetCapacity<nsTArrayInfallibleAllocator> /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/widget/../dist/include/nsTArray.h:1726 09:18:24 INFO - #5 0x7f9d9b5f7527 in mozilla::widget::PuppetWidget::PuppetWidget(mozilla::dom::TabChild*) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:88 09:18:24 INFO - #6 0x7f9d9b5f9f52 in CreatePuppetWidget /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:46 09:18:24 INFO - #7 0x7f9d9b5f9f52 in mozilla::widget::PuppetWidget::CreateChild(mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, nsWidgetInitData*, bool) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:153 09:18:24 INFO - Indirect leak of 12 byte(s) in 1 object(s) allocated from: 09:18:24 INFO - #0 0x472231 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 09:18:24 INFO - #1 0x48b79d in moz_xmalloc /builds/slave/try-l64-asan-00000000000000000/build/src/memory/mozalloc/mozalloc.cpp:83 09:18:24 INFO - #2 0x7f9d95bdee23 in Malloc /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/startupcache/../dist/include/nsTArray.h:184 09:18:24 INFO - #3 0x7f9d95bdee23 in nsTArrayInfallibleAllocator::ResultTypeProxy nsTArray_base<nsTArrayInfallibleAllocator, nsTArray_CopyWithMemutils>::EnsureCapacity<nsTArrayInfallibleAllocator>(unsigned long, unsigned long) /builds/slave/try-l64-asan-00000000000000000/build/src/obj-firefox/startupcache/../dist/include/nsTArray-inl.h:136 09:18:24 INFO - #4 0x7f9d9b5f9f52 in CreatePuppetWidget /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:46 09:18:24 INFO - #5 0x7f9d9b5f9f52 in mozilla::widget::PuppetWidget::CreateChild(mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, nsWidgetInitData*, bool) /builds/slave/try-l64-asan-00000000000000000/build/src/widget/PuppetWidget.cpp:153 09:18:24 INFO - #6 0x7f9d9b5b42aa in nsView::CreateWidgetForParent(nsIWidget*, nsWidgetInitData*, bool, bool) /builds/slave/try-l64-asan-00000000000000000/build/src/view/nsView.cpp:609 09:18:24 INFO - ----------------------------------------------------- 09:18:24 INFO - Suppressions used: 09:18:24 INFO - count bytes template 09:18:24 INFO - 40 986 libc.so 09:18:24 INFO - 826 26400 nsComponentManagerImpl 09:18:24 INFO - 50 6800 mozJSComponentLoader::LoadModule 09:18:24 INFO - 1 384 pixman_implementation_lookup_composite 09:18:24 INFO - 360 15936 libfontconfig.so 09:18:24 INFO - 1 32 libdl.so 09:18:24 INFO - 30 6524 libglib-2.0.so 09:18:24 INFO - 2 56 libresolv.so 09:18:24 INFO - ----------------------------------------------------- 09:18:24 INFO - SUMMARY: AddressSanitizer: 1388 byte(s) leaked in 10 allocation(s). 09:18:25 INFO - TEST-INFO | Main app process: exit 0 09:18:25 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at Malloc, nsTArray_base, CreatePuppetWidget, mozilla::widget::PuppetWidget::CreateChild 09:18:25 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at nsView::DestroyWidget, nsView::~nsView, nsView::Destroy 09:18:25 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at mozilla::layers::ClientLayerManager::ClientLayerManager, mozilla::widget::PuppetWidget::GetLayerManager, mozilla::widget::PuppetWidget::Create 09:18:25 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at mozilla::widget::PuppetWidget::GetLayerManager, mozilla::widget::PuppetWidget::Create, mozilla::widget::PuppetWidget::CreateChild 09:18:25 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at CreatePuppetWidget, mozilla::widget::PuppetWidget::CreateChild, nsView::CreateWidgetForParent, nsDocumentViewer::MakeWindow 09:18:25 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at mozilla::layers::ShadowLayerForwarder::ShadowLayerForwarder, mozilla::layers::ClientLayerManager::ClientLayerManager, mozilla::widget::PuppetWidget::GetLayerManager 09:18:25 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at mozilla::widget::PuppetWidget::Create, mozilla::widget::PuppetWidget::CreateChild, nsView::CreateWidgetForParent 09:18:25 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at Malloc, nsTArray_base, SetCapacity, mozilla::widget::PuppetWidget::PuppetWidget 09:18:25 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at LayerManager, mozilla::layers::ClientLayerManager::ClientLayerManager, mozilla::widget::PuppetWidget::GetLayerManager, mozilla::widget::PuppetWidget::Create
Blocks: 1110982
Blocks: LSan
It looks like a DestroyWidgetRunnable is leaking. (The rest of the stuff is indirect, so maybe it is all owned by the runnable.)
Component: Document Navigation → Layout
My guess would be that this dispatch is happening late in shutdown so that NS_GetMainThread fails and we leak the runnable: http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsThreadUtils.cpp#170 With run-by-dirs, whatever this is could end up running closer to shutdown than it would have otherwise. The ASan run is non-debug so it won't have the warning, but I'll try to reproduce locally and then confirm that theory, or at least get a better allocation stack.
I can reproduce locally in a clean build with ./mach mochitest -f chrome docshell/test/chrome/ I'll attach a fuller stack, but it looks like my theory was correct: we're triggering the runnable in a shutdown CC, so the dispatch fails and we leak. With this horrible patch we avoid the leak: - NS_DispatchToMainThread(widgetDestroyer); + nsIRunnable* foo = widgetDestroyer.get(); + if (NS_FAILED(NS_DispatchToMainThread(widgetDestroyer))) { + NS_RELEASE(foo); + } Nathan, is there some right way to deal with this?
Flags: needinfo?(nfroyd)
(In reply to Andrew McCreight [:mccr8] from comment #4) > I can reproduce locally in a clean build with > ./mach mochitest -f chrome docshell/test/chrome/ > > I'll attach a fuller stack, but it looks like my theory was correct: we're > triggering the runnable in a shutdown CC, so the dispatch fails and we leak. > > With this horrible patch we avoid the leak: > > - NS_DispatchToMainThread(widgetDestroyer); > + nsIRunnable* foo = widgetDestroyer.get(); > + if (NS_FAILED(NS_DispatchToMainThread(widgetDestroyer))) { > + NS_RELEASE(foo); > + } > > Nathan, is there some right way to deal with this? Bleh. I suggested something in bug 1186745 comment 16 so that we don't leak if we're dispatching from the same thread. I don't know if that's really safe in general to do from the main thread...seems like it should be.
Flags: needinfo?(nfroyd)
The alternative is to check for the existence of the main thread prior to the dispatch, which seems like a silly thing to do, but one that we've employed elsewhere. The technique from bug 1186745 would be more elegant, though...
Is this something you have time to fix, Nathan? Thanks.
Flags: needinfo?(nfroyd)
(In reply to Andrew McCreight [:mccr8] from comment #9) > Is this something you have time to fix, Nathan? Thanks. Sure.
Assignee: nobody → nfroyd
Flags: needinfo?(nfroyd)
Setting ni? since I care more about that than the assignee.
Flags: needinfo?(nfroyd)
You should really post in all of these bugs that you filed for failures that you have disabled the tests (along with with platforms you disabled them) because it is not at all clear from anybody just following the individual bugs.
Component: Layout → Document Navigation
Flags: needinfo?(kaustabh93)
Whiteboard: [disabled in debug and ASan]
I can't reproduce the issue using the given commands, but I can produce a small patch that probably addresses things. Andrew, can you take a look and see if this fixes things on your machine?
Attachment #8672700 - Flags: review?(continuation)
Comment on attachment 8672700 [details] [diff] [review] fix run-by-dir leak in test_bug846906.xul Review of attachment 8672700 [details] [diff] [review]: ----------------------------------------------------------------- I was able to reproduce this issue in a debug build using the steps from comment 4, and this patch fixes it for me. Thanks! ::: docshell/test/chrome/chrome.ini @@ +79,5 @@ > [test_bug662200.xul] > [test_bug690056.xul] > [test_bug789773.xul] > [test_bug846906.xul] > +skip-if = debug # Bug 1207161 Please remove the skip-if entirely. The debug issue just a different manifestation of the same leak. ::: view/nsView.cpp @@ +135,5 @@ > > nsCOMPtr<nsIRunnable> widgetDestroyer = > new DestroyWidgetRunnable(mWindow); > > + // Don't leak if we're happening to arrive here after the main thread nit: "if we're happening to arrive" should be "if we happen to arrive"?
Attachment #8672700 - Flags: review?(continuation) → review+
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
Flags: needinfo?(nfroyd)
(In reply to Andrew McCreight [:mccr8] from comment #12) > You should really post in all of these bugs that you filed for failures that > you have disabled the tests (along with with platforms you disabled them) > because it is not at all clear from anybody just following the individual > bugs. Thanks for pointing this out. I'll make the required comments.
Flags: needinfo?(kaustabh93)
This test has been disabled for ASAN and all debug platforms to get run-by-dir enabled. This can be tested on the try server and once fixed can be turned back on.
(In reply to Kaustabh Datta Choudhury from comment #18) > This test has been disabled for ASAN and all debug platforms to get > run-by-dir enabled. This can be tested on the try server and once fixed can > be turned back on. It is nice to have a whiteboard comment so that people can see at a glance the current status without reading all of the comments. Also, this particular test has been reenabled, thanks to Nathan.
Whiteboard: [disabled in debug and ASan]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: