Open Bug 1331152 Opened 3 years ago Updated 26 days ago

Intermittent LeakSanitizer | leak at XPCNativeSet::NewInstance, XPCNativeSet::GetNewOrUsed, XPCWrappedNative::GetNewOrUsed, XPCConvert::NativeInterface2JSObject

Categories

(Firefox :: Shell Integration, defect)

defect
Not set

Tracking

()

REOPENED

People

(Reporter: intermittent-bug-filer, Unassigned, NeedInfo)

References

Details

(Keywords: intermittent-failure, leave-open, memory-leak, Whiteboard: [stockwell disabled])

Attachments

(1 file)

Status: NEW → RESOLVED
Closed: 2 years ago
Component: General → XPConnect
Keywords: mlk
Resolution: --- → WORKSFORME
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Priority: -- → P5
Andrew, I meant to ask you about this earlier today. Are you a good person to do a bit of investigation here?
Flags: needinfo?(continuation)
Sure, I can look into it a bit. It seems like there was some new regression in it on October 13. Every failure is in test-linux64-asan/opt-mochitest-chrome-1.
Flags: needinfo?(continuation)
It looks like this is always happening during the test browser/components/shell/test/test_headless_screenshot.html, which was added in bug 1378010. That landed a month ago, so I'm not sure why this leak started happening a lot recently. I also wonder if there's a similar intermittent leak being detected by leakcheck.

The leak is of a single XPCWrappedNative. I think that can happen if you do something like trigger a timer very late in shutdown.
Blocks: 1378010
(In reply to Andrew McCreight [:mccr8] from comment #10)
> It looks like this is always happening during the test
> browser/components/shell/test/test_headless_screenshot.html, which was added
> in bug 1378010. That landed a month ago, so I'm not sure why this leak
> started happening a lot recently. I also wonder if there's a similar
> intermittent leak being detected by leakcheck.
> 
> The leak is of a single XPCWrappedNative. I think that can happen if you do
> something like trigger a timer very late in shutdown.

Hi B. Dahse, is there anything we could change in the test case to prevent this leak per comment 10?
Flags: needinfo?(ronoueb)
Before it landed, the test was screenshotting about:blank. That failed the leakcheck on linux64-asan. So I changed it to screenshotting a locally served file (http://mochi.test:8888/headless.html), which made the leakchecks green. We never figured out why "about:" pages were leaking and other URL's were fine. This may be a different leak.

I'm not sure what can be done to the test. If it's only leaking in the test it may be because it's copying the prefs.js file for the Mochitest suite into the prefs file for the profile we're using for the screenshot. You could try disabling that at http://searchfox.org/mozilla-central/source/browser/components/shell/test/test_headless_screenshot.html#31
Flags: needinfo?(ronoueb)
Assignee: nobody → continuation
Duplicate of this bug: 1411100
These stacks are not being properly truncated, which suggests to me that this leak is happening in a process where we are not setting the ASan environment variables. Maybe that could cause leaks. Or maybe we just need to disable LSan entirely in this process, whatever it is.
test_headless_screenshot.html uses Subprocess.jsm to spawn Firefox processes.  It doesn't modify the environment of those processes, so they should inherit the test process's environment variables, but perhaps they aren't doing so for some reason.
(In reply to Myk Melez [:myk] [@mykmelez] from comment #16)
> test_headless_screenshot.html uses Subprocess.jsm to spawn Firefox
> processes.  It doesn't modify the environment of those processes, so they
> should inherit the test process's environment variables, but perhaps they
> aren't doing so for some reason.

Yeah, I started digging around in this code, and locally, it seems to be setting up the environment correctly, so I'm not sure why the stacks are so big on treeherder. Anyways, this may be a red herring.
Component: XPConnect → Shell Integration
Product: Core → Firefox
Assignee: continuation → nobody
is this a failure in browser/components/shell/test/test_headless_screenshot.html, or is this just the first test to run and we would get a leak no matter what?
(In reply to Joel Maher ( :jmaher) (UTC-5) from comment #22)
> is this a failure in
> browser/components/shell/test/test_headless_screenshot.html, or is this just
> the first test to run and we would get a leak no matter what?

It is a problem with the test. The test runs Firefox in a new process, and in that new process it uses some unusual way of quitting that leaks sometimes.
(In reply to Andrew McCreight [:mccr8] from comment #23)
> It is a problem with the test. The test runs Firefox in a new process, and
> in that new process it uses some unusual way of quitting that leaks
> sometimes.

It isn't so much that the *way* of quitting is unusual but rather that it's unusual for a browser process to quit so soon after startup, and test_headless_screenshot.html causes that to happen repeatedly, since the --screenshot feature it tests is designed to quit as soon as it finishes taking a screenshot.

That seems to be why --screenshot also triggers other failures, such as bug 1414386.  In general, Firefox doesn't seem to be designed to quit quickly.


(In reply to Andrew McCreight [:mccr8] from comment #15)
> These stacks are not being properly truncated, which suggests to me that
> this leak is happening in a process where we are not setting the ASan
> environment variables. Maybe that could cause leaks. Or maybe we just need
> to disable LSan entirely in this process, whatever it is.

Here's a patch that should do that.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=0f34940b37a6b6ac76fe24ce6c87bbc654fbfc4e
Assignee: nobody → myk
Attachment #8925127 - Flags: review?(continuation)
Comment on attachment 8925127 [details] [diff] [review]
disable leak sanitizer in headless screenshot test subprocess

Review of attachment 8925127 [details] [diff] [review]:
-----------------------------------------------------------------

You should probably do
  detect_leaks=0:quarantine_size=50331648:malloc_context_size=5

to pick up the options we add to reduce the memory overhead.
Attachment #8925127 - Flags: review?(continuation) → review+
(In reply to Andrew McCreight [:mccr8] from comment #25)
> You should probably do
>   detect_leaks=0:quarantine_size=50331648:malloc_context_size=5
> 
> to pick up the options we add to reduce the memory overhead.

Ok, I'll do that in the patch I land.

Setting leave-open since the patch doesn't actually resolve the underlying issue causing the intermittent failure, it just prevents the headless screenshot test from triggering it.
Keywords: leave-open
Pushed by myk@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/8dfcfe1bd155
disable leak sanitizer in headless screenshot test subprocess; r=mccr8
No significant failures since "disabled" in comment 27/28 (thanks!).
Whiteboard: [stockwell disable-recommended] → [stockwell disabled]
Now that we're back to the low level of failure, I'll unassign myself from this, as I'm not currently working on the underlying issue.  I filed bug 1416815 on the screenshot feature leaking.
Assignee: myk → nobody
See Also: → 1419494

Hello, this has started to be a perma failure on linux asan after bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1534712 got landed

https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&resultStatus=testfailed%2Cbusted%2Cexception&fromchange=e8d2d9aff5026ef1f1777b781b47fdcbdb9d8f20&searchStr=linux%2Cx64%2Casan%2Cmochitests%2Ctest-linux64-asan%2Fopt-mochitest-browser-chrome-e10s-11%2Cm%28bc11%29&selectedJob=243721505

Failure log: https://taskcluster-artifacts.net/CYiPpc9_Tcy-0cbbUxqheg/0/public/logs/live_backing.log

task 2019-04-30T07:17:00.233Z] 07:17:00     INFO - TEST-INFO | LeakSanitizer | This can be done in testing/mozbase/mozrunner/mozrunner/utils.py
[task 2019-04-30T07:17:00.234Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at createTable, mozilla::detail::HashTable, reserve, reserve
[task 2019-04-30T07:17:00.234Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCNativeSet::NewInstance, XPCNativeSet::GetNewOrUsed, XPCWrappedNative::GetNewOrUsed, XPCConvert::NativeInterface2JSObject
[task 2019-04-30T07:17:00.235Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at Alloc, nsTSubstring, Gecko_StartBulkWriteCString, nsstring::nsACString::start_bulk_write_impl::hc7a1cc1da978b0c4
[task 2019-04-30T07:17:00.236Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at Alloc, nsTSubstring, nsTSubstring, mozilla::net::nsSimpleURI::SetPathQueryRefEscaped
[task 2019-04-30T07:17:00.237Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, NewEmptyScopeData, js::GlobalScope::create
[task 2019-04-30T07:17:00.238Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_new, MakeUnique, Create, getOrCreate
[task 2019-04-30T07:17:00.238Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, js::TenuringTracer::moveSlotsToTenured, movePlainObjectToTenured
[task 2019-04-30T07:17:00.239Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCWrappedNativeProto::GetNewOrUsed, XPCWrappedNative::GetNewOrUsed, XPCConvert::NativeInterface2JSObject, NativeInterface2JSObject
[task 2019-04-30T07:17:00.240Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCWrappedNativeProto::GetNewOrUsed, XPCWrappedNative::WrapNewGlobal, xpc::InitClassesWithNewWrappedGlobal, mozJSComponentLoader::CreateLoaderGlobal
[task 2019-04-30T07:17:00.241Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, tryNewTenuredObject, js::AllocateObject
[task 2019-04-30T07:17:00.242Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, js::TypeNewScript::make, js::ObjectGroup::defaultNewGroup
[task 2019-04-30T07:17:00.242Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, pod_malloc, js::ObjectGroup::newPlainObject
[task 2019-04-30T07:17:00.243Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCNativeInterface::NewInstance, XPCNativeInterface::GetNewOrUsed, XPCNativeSet::GetNewOrUsed, XPCWrappedNativeProto::GetNewOrUsed
[task 2019-04-30T07:17:00.244Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at EntrySlotOrCreate, EntrySlotOrCreate, mozilla::dom::MozSharedMapChangeEvent_Binding::CreateInterfaceObjects, mozilla::dom::GetPerInterfaceObjectHandle
[task 2019-04-30T07:17:00.244Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at Alloc, nsTSubstring, Gecko_StartBulkWriteString, nsstring::nsAString::start_bulk_write_impl::he42a8b9432453cd3
[task 2019-04-30T07:17:00.245Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at Malloc, nsTArray_base, AppendElement, AppendElement
[task 2019-04-30T07:17:00.246Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCNativeSet::NewInstanceMutate, XPCNativeSet::GetNewOrUsed, XPCWrappedNative::ExtendSet, XPCWrappedNative::InitTearOff
[task 2019-04-30T07:17:00.247Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, maybe_pod_malloc, createTable
[task 2019-04-30T07:17:00.248Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at EntrySlotOrCreate, EntrySlotOrCreate, mozilla::dom::EventTarget_Binding::CreateInterfaceObjects, mozilla::dom::GetPerInterfaceObjectHandle
[task 2019-04-30T07:17:00.248Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCNativeSet::NewInstance, XPCNativeSet::GetNewOrUsed, XPCWrappedNativeProto::GetNewOrUsed, XPCWrappedNative::GetNewOrUsed
[task 2019-04-30T07:17:00.249Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at EntrySlotOrCreate, EntrySlotOrCreate, mozilla::dom::MatchPatternSet_Binding::CreateInterfaceObjects, mozilla::dom::GetPerInterfaceObjectHandle
[task 2019-04-30T07:17:00.250Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, mozilla::UniquePtr, js::FunctionScope::clone
[task 2019-04-30T07:17:00.251Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, pod_malloc, js::frontend::CreateScriptSourceObject
[task 2019-04-30T07:17:00.252Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at EntrySlotOrCreate, EntrySlotOrCreate, mozilla::dom::WindowRoot_Binding::CreateInterfaceObjects, mozilla::dom::GetPerInterfaceObjectHandle
[task 2019-04-30T07:17:00.252Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, AllocateObjectBuffer, js::NativeObject::growElements
[task 2019-04-30T07:17:00.253Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, pod_malloc, js::ForOfPIC::createForOfPICObject
[task 2019-04-30T07:17:00.254Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_realloc, maybe_pod_realloc, js::Nursery::reallocateBuffer, ReallocateObjectBuffer
[task 2019-04-30T07:17:00.255Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_calloc, maybe_pod_calloc, pod_calloc, js::ShapeIC::init
[task 2019-04-30T07:17:00.255Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, pod_malloc, js::ObjectGroup::allocationSiteGroup
[task 2019-04-30T07:17:00.256Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at Alloc, nsTSubstring, nsTSubstring, nsTSubstring
[task 2019-04-30T07:17:00.257Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at AllocateProtoAndIfaceCache, xpc::CreateGlobalObject, XPCWrappedNative::WrapNewGlobal, xpc::InitClassesWithNewWrappedGlobal
[task 2019-04-30T07:17:00.258Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, CopyScopeData, js::GlobalScope::create
[task 2019-04-30T07:17:00.259Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_new, MakeUnique, HashChildren, js::PropertyTree::insertChild
[task 2019-04-30T07:17:00.260Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, js::RegExpStatics::create, js::GlobalObject::getRegExpStatics
[task 2019-04-30T07:17:00.261Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, CopyScopeData, js::VarScope::create
[task 2019-04-30T07:17:00.262Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at mozilla::NullPrincipal::Create, mozilla::BasePrincipal::CreateCodebasePrincipal, nsScriptSecurityManager::GetChannelURIPrincipal, nsScriptSecurityManager::GetChannelResultPrincipal
[task 2019-04-30T07:17:00.262Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCWrappedNative::GetNewOrUsed, XPCConvert::NativeInterface2JSObject, NativeInterface2JSObject, nsXPConnect::WrapNativeToJSVal
[task 2019-04-30T07:17:00.263Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at createTable, mozilla::detail::HashTable, rehashIfOverloaded, infallibleRehashIfOverloaded
[task 2019-04-30T07:17:00.264Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at NS_GetXPTCallStub, InitStub, nsXPCWrappedJS::nsXPCWrappedJS, nsXPCWrappedJS::GetNewOrUsed
[task 2019-04-30T07:17:00.265Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, CopyScopeData, js::LexicalScope::create
[task 2019-04-30T07:17:00.265Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at EntrySlotOrCreate, EntrySlotOrCreate, mozilla::dom::WebExtensionPolicy_Binding::CreateInterfaceObjects, mozilla::dom::GetPerInterfaceObjectHandle
[task 2019-04-30T07:17:00.266Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at MakeUnique, XPCWrappedNativeTearOff::AddTearOff, FindTearOff, XPCWrappedNative::GetNewOrUsed
[task 2019-04-30T07:17:00.267Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, CopyScopeData, js::Scope::clone
[task 2019-04-30T07:17:00.268Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, mozilla::UniquePtr, js::FunctionScope::create
[task 2019-04-30T07:17:00.268Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCNativeInterface::NewInstance, XPCNativeInterface::GetNewOrUsed, XPCConvert::NativeInterface2JSObject, XPCConvert::NativeData2JS
[task 2019-04-30T07:17:00.273Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, pod_malloc, make_pod_array
[task 2019-04-30T07:17:00.274Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCWrappedNative::GetNewOrUsed, XPCConvert::NativeInterface2JSObject, NativeInterface2JSObjectAndThrowIfFailed, mozilla::dom::XPCOMObjectToJsval
[task 2019-04-30T07:17:00.274Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at Create, nsAtomTable::Atomize, mozilla::BasePrincipal::FinishInit, mozilla::NullPrincipal::Init
[task 2019-04-30T07:17:00.275Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at nsXPCWrappedJS::GetNewOrUsed, XPCConvert::JSObject2NativeInterface, XPCConvert::JSData2Native, ConvertIndependentParam
[task 2019-04-30T07:17:00.275Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at EntrySlotOrCreate, EntrySlotOrCreate, mozilla::dom::MozQueryInterface_Binding::CreateInterfaceObjects, mozilla::dom::GetPerInterfaceObjectHandle
[task 2019-04-30T07:17:00.276Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCWrappedNative::GetNewOrUsed, XPCConvert::NativeInterface2JSObject, XPCConvert::NativeData2JS, GatherAndConvertResults
[task 2019-04-30T07:17:00.276Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, pod_malloc, js::PrivateScriptData::new_
[task 2019-04-30T07:17:00.277Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCNativeInterface::NewInstance, XPCNativeInterface::GetNewOrUsed, XPCConvert::NativeInterface2JSObject, NativeInterface2JSObject
[task 2019-04-30T07:17:00.277Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, AllocChars, JSRope::flattenInternal
[task 2019-04-30T07:17:00.277Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, js::TenuringTracer::moveElementsToTenured, js::TenuringTracer::moveToTenuredSlow
[task 2019-04-30T07:17:00.278Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, js::detail::OrderedHashTable, pod_malloc
[task 2019-04-30T07:17:00.278Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCWrappedNative::WrapNewGlobal, xpc::InitClassesWithNewWrappedGlobal, mozJSComponentLoader::CreateLoaderGlobal, mozJSComponentLoader::PrepareObjectForLocation
[task 2019-04-30T07:17:00.279Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, pod_malloc, js::LazyScriptData::new_
[task 2019-04-30T07:17:00.279Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at EntrySlotOrCreate, EntrySlotOrCreate, mozilla::dom::BrowsingContext_Binding::CreateInterfaceObjects, mozilla::dom::GetPerInterfaceObjectHandle
[task 2019-04-30T07:17:00.280Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at BaseURIMutator, InitFromSpec, mozilla::net::nsSimpleURI::Mutator::SetSpec, SetSpec
[task 2019-04-30T07:17:00.280Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at EntrySlotOrCreate, EntrySlotOrCreate, mozilla::dom::ChromeUtils_Binding::CreateInterfaceObjects, mozilla::dom::GetPerInterfaceObjectHandle
[task 2019-04-30T07:17:00.281Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at mozilla::SupportsWeakPtr, mozilla::WeakPtr, nsDocShell::MaybeInitTiming, nsDocShell::CreateAboutBlankContentViewer
[task 2019-04-30T07:17:00.282Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, js::TenuringTracer::moveSlotsToTenured, js::TenuringTracer::moveToTenuredSlow
[task 2019-04-30T07:17:00.283Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at EntrySlotOrCreate, EntrySlotOrCreate, mozilla::dom::SessionStoreUtils_Binding::CreateInterfaceObjects, mozilla::dom::GetPerInterfaceObjectHandle
[task 2019-04-30T07:17:00.284Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, pod_malloc, make_unique
[task 2019-04-30T07:17:00.284Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at Create, mozilla::NullPrincipal::Init, mozilla::NullPrincipal::Create, mozilla::BasePrincipal::CreateCodebasePrincipal
[task 2019-04-30T07:17:00.285Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at Realloc, nsTArray_base, AppendElement, mozilla::dom::ChromeUtils::GenerateQI
[task 2019-04-30T07:17:00.286Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at ProtoAndIfaceCache, AllocateProtoAndIfaceCache, xpc::CreateGlobalObject, XPCWrappedNative::WrapNewGlobal
[task 2019-04-30T07:17:00.287Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js::SourceCompressionTask::workEncodingSpecific, match, match, match
[task 2019-04-30T07:17:00.290Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, NewEmptyScopeData, js::FunctionScope::create
[task 2019-04-30T07:17:00.291Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at Alloc, nsTSubstring, nsTSubstring, NonVoidStringToJsval
[task 2019-04-30T07:17:00.292Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at js_pod_arena_malloc, maybe_pod_malloc, AllocateObjectBuffer, js::NativeObject::growSlots
[task 2019-04-30T07:17:00.294Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at XPCNativeInterface::NewInstance, XPCNativeInterface::GetNewOrUsed, XPCConvert::NativeInterface2JSObject, NativeInterface2JSObjectAndThrowIfFailed
[task 2019-04-30T07:17:00.298Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at createTable, mozilla::detail::HashTable, rehashIfOverloaded, putNew
[task 2019-04-30T07:17:00.299Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::SchedulerGroup::CreateEventTargets, mozilla::dom::TabGroup::TabGroup, mozilla::dom::ContentChild::GetSpecificMessageEventTarget
[task 2019-04-30T07:17:00.301Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at mozilla::dom::ChromeUtils::GenerateQI, mozilla::dom::ChromeUtils_Binding::generateQI, CallJSNative, js::InternalCallOrConstruct
[task 2019-04-30T07:17:00.303Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at nsSupportsWeakReference::GetWeakReference, NS_GetWeakReference, do_GetWeakReference, AddWeakPrivacyTransitionObserver
[task 2019-04-30T07:17:00.304Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at MakeUnique, XPCWrappedNativeTearOff::AddTearOff, XPCWrappedNative::FindTearOff, XPCCallContext::CanCallNow
[task 2019-04-30T07:17:00.306Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at EntrySlotOrCreate, EntrySlotOrCreate, mozilla::dom::ChildSHistory_Binding::CreateInterfaceObjects, mozilla::dom::GetPerInterfaceObjectHandle
[task 2019-04-30T07:17:00.307Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at NS_NewBackstagePass, mozJSComponentLoader::CreateLoaderGlobal, mozJSComponentLoader::PrepareObjectForLocation, mozJSComponentLoader::ObjectForLocation
[task 2019-04-30T07:17:00.307Z] 07:17:00    ERROR - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at PLDHashTable::Add, mozilla::net::nsLoadGroup::AddRequest, nsBaseChannel::AsyncOpen, nsURILoader::OpenURI
[task 2019-04-30T07:17:00.307Z] 07:17:00     INFO - runtests.py | Application ran for: 0:01:43.760105
[task 2019-04-30T07:17:00.307Z] 07:17:00     INFO - zombiecheck | Reading PID log: /tmp/tmpYzu6L_pidlog
[task 2019-04-30T07:17:00.307Z] 07:17:00     INFO - ==> process 4431 launched child process 4452
[task 2019-04-30T07:17:00.307Z] 07:17:00     INFO - ==> process 4431 launched child process 4478
[task 2019-04-30T07:17:00.307Z] 07:17:00     INFO - ==> process 4431 launched child process 4499
[task 2019-04-30T07:17:00.307Z] 07:17:00     INFO - ==> process 4431 launched child process 4556
[task 2019-04-30T07:17:00.308Z] 07:17:00     INFO - ==> process 4431 launched child process 4584
[task 2019-04-30T07:17:00.308Z] 07:17:00     INFO - ==> process 4431 launched child process 4609
[task 2019-04-30T07:17:00.308Z] 07:17:00     INFO - zombiecheck | Checking for orphan process with PID: 4609
[task 2019-04-30T07:17:00.308Z] 07:17:00     INFO - zombiecheck | Checking for orphan process with PID: 4452
[task 2019-04-30T07:17:00.308Z] 07:17:00     INFO - zombiecheck | Checking for orphan process with PID: 4584
[task 2019-04-30T07:17:00.308Z] 07:17:00     INFO - zombiecheck | Checking for orphan process with PID: 4556
[task 2019-04-30T07:17:00.308Z] 07:17:00     INFO - zombiecheck | Checking for orphan process with PID: 4499
[task 2019-04-30T07:17:00.308Z] 07:17:00     INFO - zombiecheck | Checking for orphan process with PID: 4478
[task 2019-04-30T07:17:00.308Z] 07:17:00     INFO - Stopping web server
[task 2019-04-30T07:17:00.308Z] 07:17:00     INFO - Stopping web socket server
[task 2019-04-30T07:17:00.308Z] 07:17:00     INFO - Stopping ssltunnel
Flags: needinfo?(myk)
Flags: needinfo?(amarchesini)

The test_headless_screenshot.html test that used to trigger this leak intermittently still disables leak checking for the Firefox process it starts:

https://searchfox.org/mozilla-central/rev/f0ef51bfafc8ad0c3a2f523bf076edc57dc4891a/browser/components/shell/test/test_headless_screenshot.html#36-40

And that test didn't cause the leak in any case. It merely demonstrated that quitting Firefox shortly after starting it can trigger the leak. So I don't think the new perma-failure is related to that test.

(Nevertheless, the perma-failure is great news, as it means that the problem is much more likely to be identified and addressed.)

Flags: needinfo?(myk)
You need to log in before you can comment on or make changes to this bug.