Closed Bug 847656 Opened 7 years ago Closed 7 years ago

ContentParent::GetNewOrUsed should return already_AddRefed

Categories

(Core :: IPC, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla23

People

(Reporter: jimb, Assigned: jimb)

Details

Attachments

(1 file, 1 obsolete file)

At present ContentParent::GetNewOrUsed uses an nsRefPtr to hold the freshly constructed ContentParent, and then returns it via a raw pointer, so that the reference gets dropped. If the call to ContentParent::Init weren't registering the new instance in a dozen different places (mostly observers, which arguably shouldn't count as strong references), the ContentParent would get deleted when GetNewOrUsed's nsRefPtr went out of scope.

The attached patch is meant to change GetNewOrUsed to follow the standard pattern here: use nsRefPtr::forget to produce an already_AddRefed value to return, thus retaining the reference count and using the type checker to ensure that the callers are prepared for what they're getting.

Sadly, the callers are all doing something weird with the value. But at least the weird code looks weird now.
Attachment #720931 - Flags: review?(khuey)
Comment on attachment 720931 [details] [diff] [review]
Change ContentParent::GetNewOrUsed to return an already_AddRefed value.

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

r=me with comments addressed.

::: toolkit/xre/nsAppRunner.cpp
@@ +780,4 @@
>    if (XRE_GetProcessType() != GeckoProcessType_Default)
>      return NS_ERROR_NOT_AVAILABLE;
>  
> +  ContentParent::GetNewOrUsed().get()->Release();

No, do

nsRefPtr<ContentParent> unused = ContentParent::GetNewOrUsed();
Attachment #720931 - Flags: review?(khuey) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/42d5d3080bc4
Assignee: nobody → jimb
Status: NEW → UNCONFIRMED
Ever confirmed: false
Flags: in-testsuite-
Target Milestone: --- → mozilla22
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Backed out for crashes.
https://hg.mozilla.org/integration/mozilla-inbound/rev/164abd8f727d

https://tbpl.mozilla.org/php/getParsedLog.php?id=20892089&tree=Mozilla-Inbound

11:06:30     INFO -  1453 INFO TEST-START | /tests/dom/browser-element/mochitest/test_browserElement_oop_DOMRequestError.html
11:06:30     INFO -  ++DOMWINDOW == 46 (0x14b5e9ea8) [serial = 865] [outer = 0x1145b7988]
11:06:30     INFO -  JavaScript error: chrome://specialpowers/content/SpecialPowersObserverAPI.js, line 183: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getBoolPref]
11:06:30     INFO -  JavaScript error: chrome://specialpowers/content/SpecialPowersObserverAPI.js, line 183: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getBoolPref]
11:06:30     INFO -  JavaScript error: chrome://specialpowers/content/SpecialPowersObserverAPI.js, line 183: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getBoolPref]
11:06:30     INFO -  JavaScript error: chrome://specialpowers/content/SpecialPowersObserverAPI.js, line 183: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getBoolPref]
11:06:30     INFO -  [Child 412] WARNING: NS_ENSURE_TRUE(mDocShell) failed: file ../../../../embedding/browser/webBrowser/nsWebBrowser.cpp, line 372
11:06:30     INFO -  [Child 412] WARNING: NS_ENSURE_TRUE(domWindow) failed: file ../../../../embedding/browser/webBrowser/nsDocShellTreeOwner.cpp, line 85
11:06:30     INFO -  ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /var/folders/Hs/HsDn6a9SG8idoIya6p9mtE+++TI/-Tmp-/tmpBHCaNj/runtests_leaks_tab_pid413.log
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_TRUE(mMainThread) failed: file ../../../xpcom/threads/nsThreadManager.cpp, line 250
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0xC1F30001: file nsThreadUtils.cpp, line 161
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_TRUE(mMainThread) failed: file ../../../xpcom/threads/nsThreadManager.cpp, line 250
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0xC1F30001: file nsThreadUtils.cpp, line 161
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_TRUE(mMainThread) failed: file ../../../xpcom/threads/nsThreadManager.cpp, line 250
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0xC1F30001: file nsThreadUtils.cpp, line 161
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_TRUE(mMainThread) failed: file ../../../xpcom/threads/nsThreadManager.cpp, line 250
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0xC1F30001: file nsThreadUtils.cpp, line 161
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_TRUE(mMainThread) failed: file ../../../xpcom/threads/nsThreadManager.cpp, line 250
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0xC1F30001: file nsThreadUtils.cpp, line 161
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_TRUE(mMainThread) failed: file ../../../xpcom/threads/nsThreadManager.cpp, line 250
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0xC1F30001: file nsThreadUtils.cpp, line 161
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_TRUE(mMainThread) failed: file ../../../xpcom/threads/nsThreadManager.cpp, line 250
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0xC1F30001: file nsThreadUtils.cpp, line 161
11:06:30     INFO -  NOTE: child process received `Goodbye', closing down
11:06:30     INFO -  [Parent 395] WARNING: RemoveObserver() called for unregistered observer: file ../../hal/Hal.cpp, line 205
11:06:30     INFO -  [Parent 395] WARNING: RemoveObserver() called for unregistered observer: file ../../hal/Hal.cpp, line 205
11:06:30     INFO -  [Parent 395] WARNING: RemoveObserver() called for unregistered observer: file ../../hal/Hal.cpp, line 205
11:06:30     INFO -  [Parent 395] WARNING: RemoveObserver() called for unregistered observer: file ../../hal/Hal.cpp, line 205
11:06:30     INFO -  [Parent 395] WARNING: RemoveObserver() called for unregistered observer: file ../../hal/Hal.cpp, line 205
11:06:30     INFO -  ************************************************************
11:06:30     INFO -  * Call to xpconnect wrapped JSObject produced this error:  *
11:06:30     INFO -  [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIPropertyBag2.getPropertyAsAString]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: chrome://specialpowers/content/SpecialPowersObserverAPI.js :: addDumpIDToMessage :: line 67"  data: no]
11:06:30     INFO -  ************************************************************
11:06:30     INFO -  [Child 412] WARNING: nsAppShell::Exit() called redundantly: file ../../../widget/cocoa/nsAppShell.mm, line 757
11:06:30     INFO -  [Child 412] WARNING: nsExceptionService ignoring thread destruction after shutdown: file ../../../xpcom/base/nsExceptionService.cpp, line 167
11:06:30     INFO -  [Child 413] WARNING: Attempt to get unavailable information in content process.: file ../../../toolkit/xre/nsAppRunner.cpp, line 644
11:06:30     INFO -  [Child 413] WARNING: Attempt to get unavailable information in content process.: file ../../../toolkit/xre/nsAppRunner.cpp, line 644
11:06:30     INFO -  [Child 413] WARNING: Attempt to get unavailable information in content process.: file ../../../toolkit/xre/nsAppRunner.cpp, line 644
11:06:30     INFO -  --DOMWINDOW == 3 (0x10d989a58) [serial = 4] [outer = 0x10588cb58] [url = http://example.com/tests/dom/browser-element/mochitest/file_browserElement_CookiesNotThirdParty.html?step=2]
11:06:30     INFO -  --DOMWINDOW == 2 (0x10d948858) [serial = 3] [outer = 0x10588cb58] [url = http://example.com/tests/dom/browser-element/mochitest/file_browserElement_CookiesNotThirdParty.html]
11:06:30     INFO -  --DOMWINDOW == 1 (0x1058adee8) [serial = 2] [outer = 0x10588cb58] [url = about:blank]
11:06:30     INFO -  [Child 412] WARNING: NS_ENSURE_TRUE(inBrowser) failed: file ../../../../embedding/browser/webBrowser/nsDocShellTreeOwner.cpp, line 81
11:06:30     INFO -  [Child 412] WARNING: NS_ENSURE_TRUE(mDocShell) failed: file ../../../../embedding/browser/webBrowser/nsWebBrowser.cpp, line 372
11:06:30     INFO -  [Child 412] WARNING: NS_ENSURE_TRUE(mDocShell) failed: file ../../../../embedding/browser/webBrowser/nsWebBrowser.cpp, line 372
11:06:30     INFO -  [Child 412] WARNING: NS_ENSURE_TRUE(domWindow) failed: file ../../../../embedding/browser/webBrowser/nsDocShellTreeOwner.cpp, line 85
11:06:30     INFO -  [Child 412] WARNING: NS_ENSURE_TRUE(inBrowser) failed: file ../../../../embedding/browser/webBrowser/nsDocShellTreeOwner.cpp, line 81
11:06:30     INFO -  --DOMWINDOW == 0 (0x10588cb58) [serial = 1] [outer = 0x0] [url = http://example.com/tests/dom/browser-element/mochitest/file_browserElement_CookiesNotThirdParty.html?step=2]
11:06:30     INFO -  [Child 413] WARNING: Attempt to get unavailable information in content process.: file ../../../toolkit/xre/nsAppRunner.cpp, line 644
11:06:30     INFO -  [Child 413] WARNING: Attempt to get unavailable information in content process.: file ../../../toolkit/xre/nsAppRunner.cpp, line 644
11:06:30     INFO -  [Child 413] WARNING: Attempt to get unavailable information in content process.: file ../../../toolkit/xre/nsAppRunner.cpp, line 644
11:06:30     INFO -  [Child 413] WARNING: Attempt to get unavailable information in content process.: file ../../../toolkit/xre/nsAppRunner.cpp, line 644
11:06:30     INFO -  [Child 413] WARNING: Attempt to get unavailable information in content process.: file ../../../toolkit/xre/nsAppRunner.cpp, line 644
11:06:30     INFO -  [Child 413] WARNING: Attempt to get unavailable information in content process.: file ../../../toolkit/xre/nsAppRunner.cpp, line 644
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  --DOCSHELL 0x10588b540 == 0 [id = 1]
11:06:30     INFO -  2013-03-20 11:06:30.372 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d960490 of class NSFont autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.392 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x7fff70a91588 of class NSCFString autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.393 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10586c350 of class NSImage autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.394 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d961460 of class NSButtonImageSource autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.395 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x7fff70a91588 of class NSCFString autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.398 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d963320 of class NSImage autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.400 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d9634b0 of class NSButtonImageSource autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.402 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x7fff70a91588 of class NSCFString autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.404 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d965d20 of class NSImage autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.404 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d965d20 of class NSImage autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.407 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x7fff70aba988 of class NSCFString autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.409 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d966300 of class NSImage autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.411 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d9664b0 of class NSImage autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.415 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x1037661b8 of class NSCFString autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.417 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d966e90 of class NSFont autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.419 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d965af0 of class NSImage autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.421 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d9711c0 of class __NSFastEnumerationEnumerator autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.422 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10581ea40 of class __NSFastEnumerationEnumerator autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.425 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d966d80 of class NSCFArray autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.428 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d91fab0 of class NSCFArray autoreleased with no pool in place - just leaking
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  2013-03-20 11:06:30.429 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10589bc90 of class NSCFArray autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.430 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x104506a70 of class NSCFArray autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.431 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x1045aee20 of class NSCFArray autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.432 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d96f510 of class NSScrollView autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.432 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x10d96f510 of class NSScrollView autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.433 plugin-container[412:903] *** __NSAutoreleaseNoPool(): Object 0x1037661b8 of class NSCFString autoreleased with no pool in place - just leaking
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  [Child 412] WARNING: NS_ENSURE_TRUE(compMgr) failed: file nsComponentManagerUtils.cpp, line 58
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  nsStringStats
11:06:30     INFO -   => mAllocCount:           8864
11:06:30     INFO -   => mReallocCount:          314
11:06:30     INFO -   => mFreeCount:            8864
11:06:30     INFO -   => mShareCount:          10536
11:06:30     INFO -   => mAdoptCount:            429
11:06:30     INFO -   => mAdoptFreeCount:        429
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  creating 1!
11:06:30     INFO -  2013-03-20 11:06:30.544 plugin-container[413:903] *** __NSAutoreleaseNoPool(): Object 0x1045061f0 of class NSCFDictionary autoreleased with no pool in place - just leaking
11:06:30     INFO -  2013-03-20 11:06:30.546 plugin-container[413:903] *** __NSAutoreleaseNoPool(): Object 0x104505590 of class NSCFArray autoreleased with no pool in place - just leaking
11:06:30     INFO -  [Child 413] WARNING: nsWindow::GetNativeData not implemented for this type: file ../../../widget/xpwidgets/PuppetWidget.cpp, line 642
11:06:30     INFO -  ++DOCSHELL 0x1045e7d50 == 1 [id = 1]
11:06:30     INFO -  ++DOMWINDOW == 1 (0x1045e9368) [serial = 1] [outer = 0x0]
11:06:30     INFO -  [TabChild] SHOW (w,h)= (0, 0)
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  ############################### browserElementPanning.js loaded
11:06:30     INFO -  ++DOMWINDOW == 2 (0x10585fd58) [serial = 2] [outer = 0x1045e9368]
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  ######################## BrowserElementChildPreload.js loaded
11:06:30     INFO -  loading data:text/html,<html><body%20style="background:green">hello</body></html>, 1
11:06:30     INFO -  [Child 413] WARNING: Attempt to get unavailable information in content process.: file ../../../toolkit/xre/nsAppRunner.cpp, line 698
11:06:30     INFO -  [Child 413] WARNING: Attempt to get unavailable information in content process.: file ../../../toolkit/xre/nsAppRunner.cpp, line 632
11:06:30     INFO -  ++DOMWINDOW == 3 (0x1058f13c8) [serial = 3] [outer = 0x1045e9368]
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_TRUE(startupCache) failed: file ../../../../content/xbl/src/nsXBLDocumentInfo.cpp, line 606
11:06:30     INFO -  [Child 413] WARNING: Startup cache is only available in the chrome process: file ../../startupcache/StartupCache.cpp, line 93
11:06:30     INFO -  [Child 413] WARNING: NS_ENSURE_TRUE(startupCache) failed: file ../../../../content/xbl/src/nsXBLDocumentInfo.cpp, line 676
11:06:32     INFO -  --DOMWINDOW == 45 (0x14be6dce8) [serial = 845] [outer = 0x0] [url = http://mochi.test:8888/tests/dom/browser-element/mochitest/test_browserElement_oop_AppWindowNamespace.html]
11:06:32     INFO -  --DOMWINDOW == 44 (0x14d5257f8) [serial = 843] [outer = 0x0] [url = http://mochi.test:8888/tests/dom/browser-element/mochitest/test_browserElement_oop_AppFramePermission.html]
11:06:32     INFO -  --DOMWINDOW == 43 (0x14dc92bd8) [serial = 841] [outer = 0x0] [url = http://mochi.test:8888/tests/dom/browser-element/mochitest/test_browserElement_oop_AlertInFrame.html]
11:06:32     INFO -  --DOMWINDOW == 42 (0x1543dfc18) [serial = 766] [outer = 0x0] [url = http://mochi.test:8888/tests/dom/browser-element/mochitest/file_browserElement_SetVisibleFrames2_Outer.html]
11:06:32     INFO -  --DOMWINDOW == 41 (0x14d538668) [serial = 781] [outer = 0x0] [url = http://mochi.test:8888/tests/dom/browser-element/mochitest/test_browserElement_inproc_TargetTop.html]
11:06:32     INFO -  --DOMWINDOW == 40 (0x14ebd8928) [serial = 839] [outer = 0x0] [url = http://mochi.test:8888/tests/dom/browser-element/mochitest/test_browserElement_oop_Alert.html]
11:06:32     INFO -  --DOMWINDOW == 39 (0x1543bc478) [serial = 762] [outer = 0x0] [url = http://mochi.test:8888/tests/dom/browser-element/mochitest/test_browserElement_inproc_SetVisibleFrames2.html]
11:06:32     INFO -  --DOMWINDOW == 38 (0x14dc5ad08) [serial = 832] [outer = 0x0] [url = http://mochi.test:8888/tests/dom/browser-element/mochitest/test_browserElement_inproc_XFrameOptionsSameOrigin.html]
11:06:32     INFO -  --DOMWINDOW == 37 (0x14dc5cb78) [serial = 810] [outer = 0x0] [url = http://mochi.test:8888/tests/dom/browser-element/mochitest/test_browserElement_inproc_XFrameOptionsAllowFrom.html]
11:06:32     INFO -  --DOMWINDOW == 36 (0x14e1de098) [serial = 693] [outer = 0x0] [url = http://mochi.test:8888/tests/dom/browser-element/mochitest/test_browserElement_inproc_OpenWindowRejected.html]
11:06:32     INFO -  --DOMWINDOW == 35 (0x14eb95f08) [serial = 824] [outer = 0x14eb8ac78] [url = http://example.com/tests/dom/browser-element/mochitest/file_browserElement_XFrameOptionsDeny.html]
11:06:32     INFO -  --DOMWINDOW == 34 (0x14eb8ac78) [serial = 822] [outer = 0x0] [url = http://example.com/tests/dom/browser-element/mochitest/file_browserElement_XFrameOptionsDeny.html]
11:06:32     INFO -  --DOMWINDOW == 33 (0x10d75d508) [serial = 864] [outer = 0x1145b7988] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
11:06:32     INFO -  --DOMWINDOW == 32 (0x14dc19b98) [serial = 862] [outer = 0x1145b7988] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
11:06:32     INFO -  --DOMWINDOW == 31 (0x14dcc5528) [serial = 860] [outer = 0x1145b7988] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
11:06:32     INFO -  --DOMWINDOW == 30 (0x14e1bcbc8) [serial = 858] [outer = 0x1145b7988] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
11:06:32     INFO -  --DOMWINDOW == 29 (0x14b5a7318) [serial = 856] [outer = 0x1145b7988] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
11:06:32     INFO -  --DOMWINDOW == 28 (0x14dc78b68) [serial = 854] [outer = 0x1145b7988] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
11:06:32     INFO -  --DOMWINDOW == 27 (0x14dc8e368) [serial = 852] [outer = 0x1145b7988] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
11:06:32     INFO -  --DOMWINDOW == 26 (0x14d527c08) [serial = 850] [outer = 0x1145b7988] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
11:06:32     INFO -  --DOMWINDOW == 25 (0x14dc08348) [serial = 848] [outer = 0x1145b7988] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
11:06:32     INFO -  --DOMWINDOW == 24 (0x14b5de098) [serial = 847] [outer = 0x1145b7988] [url = http://mochi.test:8888/tests/dom/browser-element/mochitest/test_browserElement_oop_Auth.html]
11:06:34     INFO -  [Child 413] WARNING: shutting down early because of crash!: file ../../../dom/ipc/ContentChild.cpp, line 919
11:06:34     INFO -  [Child 413] WARNING: content process _exit()ing: file ../../../dom/ipc/ContentChild.cpp, line 968
11:06:34  WARNING -  TEST-UNEXPECTED-FAIL | /tests/dom/browser-element/mochitest/test_browserElement_oop_DOMRequestError.html | Exited with code 1 during test run
11:06:34     INFO -  INFO | automation.py | Application ran for: 0:03:02.566503
11:06:34     INFO -  INFO | automation.py | Reading PID log: /var/folders/Hs/HsDn6a9SG8idoIya6p9mtE+++TI/-Tmp-/tmpaqNqSypidlog
11:06:51     INFO -  PROCESS-CRASH | /tests/dom/browser-element/mochitest/test_browserElement_oop_DOMRequestError.html | application crashed [@ _ZThn744_N7mozilla3dom13ContentParent7ReleaseEv]
11:06:51     INFO -  Crash dump filename: /var/folders/Hs/HsDn6a9SG8idoIya6p9mtE+++TI/-Tmp-/tmpBHCaNj/minidumps/DBF0CFA7-A77F-4E23-BEB5-A5736E680AFF.dmp
11:06:51     INFO -  Operating system: Mac OS X
11:06:51     INFO -                    10.6.8 10K549
11:06:51     INFO -  CPU: amd64
11:06:51     INFO -       family 6 model 23 stepping 10
11:06:51     INFO -       2 CPUs
11:06:51     INFO -  Crash reason:  EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
11:06:51     INFO -  Crash address: 0x14
11:06:51     INFO -  Thread 0 (crashed)
11:06:51     INFO -   0  XUL!_ZThn744_N7mozilla3dom13ContentParent7ReleaseEv [ContentParent.cpp:42d5d3080bc4 : 1469 + 0x6]
11:06:51     INFO -      rbx = 0x00000001145dffd0   r12 = 0x000000012fb56c70
11:06:51     INFO -      r13 = 0x0000000000989680   r14 = 0x0000000000000000
11:06:51     INFO -      r15 = 0x0000000000000000   rip = 0x0000000102ea3fb6
11:06:51     INFO -      rsp = 0x00007fff5fbfcf00   rbp = 0x00007fff5fbfcf10
11:06:51     INFO -      Found by: given as instruction pointer in context
11:06:51     INFO -   1  XUL!nsFrameLoader::~nsFrameLoader() [nsCOMPtr.h:42d5d3080bc4 : 494 + 0x5]
11:06:51     INFO -      rip = 0x0000000101f2e917   rsp = 0x00007fff5fbfcf20
11:06:51     INFO -      rbp = 0x00007fff5fbfcf30
11:06:51     INFO -      Found by: stack scanning
11:06:51     INFO -   2  XUL!nsFrameLoader::~nsFrameLoader() [nsFrameLoader.h:42d5d3080bc4 : 157 + 0x4]
11:06:51     INFO -      rip = 0x0000000101f2e44e   rsp = 0x00007fff5fbfcf40
11:06:51     INFO -      rbp = 0x00007fff5fbfcf50
11:06:51     INFO -      Found by: stack scanning
11:06:51     INFO -   3  XUL!nsFrameLoader::Release() [nsFrameLoader.cpp:42d5d3080bc4 : 273 + 0xb]
11:06:51     INFO -      rip = 0x0000000101f2285e   rsp = 0x00007fff5fbfcf60
11:06:51     INFO -      rbp = 0x00007fff5fbfcf80
11:06:51     INFO -      Found by: stack scanning
11:06:51     INFO -   4  XUL!ReleaseSliceNow(unsigned int, void*) [XPCJSRuntime.cpp:42d5d3080bc4 : 636 + 0x9]
11:06:51     INFO -      rip = 0x000000010296cee3   rsp = 0x00007fff5fbfcf90
11:06:51     INFO -      rbp = 0x00007fff5fbfcfb0
11:06:51     INFO -      Found by: stack scanning
11:06:51     INFO -   5  XUL!XPCIncrementalReleaseRunnable::ReleaseNow(bool) [XPCJSRuntime.cpp:42d5d3080bc4 : 691 + 0x22]
11:06:51     INFO -      rip = 0x000000010296d42b   rsp = 0x00007fff5fbfcfc0
11:06:51     INFO -      rbp = 0x00007fff5fbfd000
11:06:51     INFO -      Found by: stack scanning
The patch failed to make ContentParent::GetNewOrUsed count the new reference when returning a pre-existing ContentParent from gNonAppContentParents.
Revised per previous comment.
Attachment #720931 - Attachment is obsolete: true
https://hg.mozilla.org/integration/mozilla-inbound/rev/a2c84336476f
Target Milestone: mozilla22 → mozilla23
https://hg.mozilla.org/mozilla-central/rev/a2c84336476f
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.