Closed Bug 788322 Opened 7 years ago Closed 7 years ago

Intermittent test_ipc.html, test_webapp_clearBrowserData.html, test_webapp_clearBrowserData_oop_inproc.html | Exited with code 1 during test run from "###!!! ABORT: retaining manager changed out from under us ... HELP!"

Categories

(Core :: Layout, defect)

x86
Linux
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla19
Tracking Status
firefox17 --- unaffected
firefox18 --- fixed
firefox19 --- fixed
firefox-esr17 --- unaffected

People

(Reporter: philor, Assigned: roc)

References

(Depends on 1 open bug)

Details

(Keywords: assertion, intermittent-failure)

Attachments

(1 file, 1 obsolete file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=14941909&tree=Mozilla-Inbound
Rev3 Fedora 12 mozilla-inbound debug test mochitests-2/5 on 2012-09-04 07:47:30 PDT for push 67f07d04c5ad
slave: talos-r3-fed-006

7901 INFO TEST-START | /tests/dom/indexedDB/ipc/test_ipc.html
++DOMWINDOW == 21 (0x15f6797c) [serial = 2780] [outer = 0xbf40490]
creating 1!
[Child 2266] WARNING: nsWindow::GetNativeData not implemented for this type: file ../../../widget/xpwidgets/PuppetWidget.cpp, line 569
++DOCSHELL 0x9eb0370 == 1 [id = 66]
++DOMWINDOW == 1 (0x9eaaedc) [serial = 206] [outer = (nil)]
++DOMWINDOW == 2 (0x9da350c) [serial = 207] [outer = 0x9eaae90]
[TabChild] SHOW (w,h)= (0, 0)
loading http://mochi.test:8888/tests/dom/indexedDB/test?consoleLevel=INFO, 1
[TabChild] Update Dimensions to (x,y,w,h)= (0d, 25d, 780d, 1112d) and move to (w,h)= (0d, 0d)
[TabChild] Update Dimensions to (x,y,w,h)= (0d, 25d, 780d, 1112d) and move to (w,h)= (484d, 1000d)
[Parent 2194] ###!!! ABORT: retaining manager changed out from under us ... HELP!: '!shadowRoot || shadowRoot->Manager() == aManager', file ../../../layout/ipc/RenderFrameParent.cpp, line 662
(bogus stack)
[Parent 2194] ###!!! ABORT: retaining manager changed out from under us ... HELP!: '!shadowRoot || shadowRoot->Manager() == aManager', file ../../../layout/ipc/RenderFrameParent.cpp, line 662
[Child 2266] WARNING: shutting down early because of crash!: file ../../../dom/ipc/ContentChild.cpp, line 715
[Child 2266] WARNING: content process _exit()ing: file ../../../dom/ipc/ContentChild.cpp, line 760
TEST-UNEXPECTED-FAIL | /tests/dom/indexedDB/ipc/test_ipc.html | Exited with code 1 during test run
INFO | automation.py | Application ran for: 0:11:23.392866
INFO | automation.py | Reading PID log: /tmp/tmpuELlq-pidlog
==> process 2194 launched child process 2266
==> process 2194 launched child process 2276
INFO | automation.py | Checking for orphan process with PID: 2266
INFO | automation.py | Checking for orphan process with PID: 2276
Downloading symbols from: http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-inbound-linux-debug/1346768712/firefox-18.0a1.en-US.linux-i686.crashreporter-symbols.zip
PROCESS-CRASH | /tests/dom/indexedDB/ipc/test_ipc.html | application crashed (minidump found)
Crash dump filename: /tmp/tmp1oW96f/minidumps/72ca0893-d248-231a-517097fd-10b36f29.dmp
Operating system: Linux
                  0.0.0 Linux 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686
CPU: x86
     GenuineIntel family 6 model 23 stepping 10
     2 CPUs

Crash reason:  SIGSEGV
Crash address: 0x0

Thread 0 (crashed)
 0  libmozalloc.so!mozalloc_abort [mozalloc_abort.cpp : 23 + 0x0]
    eip = 0x00268edd   esp = 0xbfb5e7e0   ebp = 0xbfb5e7f8   ebx = 0x00269118
    esi = 0x00c59844   edi = 0xbfb5e828   eax = 0x0000000a   ecx = 0x00000001
    edx = 0x00c5a32c   efl = 0x00010246
    Found by: given as instruction pointer in context
 1  libxul.so!NS_DebugBreak_P [nsDebugImpl.cpp : 423 + 0x5]
    eip = 0x020939c1   esp = 0xbfb5e800   ebp = 0xbfb5ec38   ebx = 0x02da9484
    esi = 0xbfb5ec14   edi = 0xbfb5e828
    Found by: call frame info
 2  libxul.so!mozilla::layout::RenderFrameParent::BuildLayer [RenderFrameParent.cpp : 661 + 0x23]
    eip = 0x013569d5   esp = 0xbfb5ec40   ebp = 0xbfb5ee58   ebx = 0x02da9484
    esi = 0x0d0c78d0   edi = 0x0c6a8a58
    Found by: call frame info
 3  libxul.so!nsDisplayRemote::BuildLayer [RenderFrameParent.cpp : 913 + 0x1b]
    eip = 0x01356ede   esp = 0xbfb5ee60   ebp = 0xbfb5eec8   ebx = 0x02da9484
    esi = 0x0d3c4730   edi = 0xbfb5ef2c
    Found by: call frame info
 4  libxul.so!mozilla::::ContainerState::ProcessDisplayItems [FrameLayerBuilder.cpp : 1854 + 0x1b]
    eip = 0x012256fa   esp = 0xbfb5eed0   ebp = 0xbfb5efc8   ebx = 0x02da9484
    esi = 0xbfb5f37c   edi = 0xbfb5f368
    Found by: call frame info
 5  libxul.so!mozilla::::ContainerState::ProcessDisplayItems [FrameLayerBuilder.cpp : 1793 + 0x1c]
    eip = 0x01224dfd   esp = 0xbfb5efd0   ebp = 0xbfb5f0b8   ebx = 0x02da9484
    esi = 0xbfb5f02c   edi = 0xbfb5f368
    Found by: call frame info
 6  libxul.so!mozilla::::ContainerState::ProcessDisplayItems [FrameLayerBuilder.cpp : 1793 + 0x1c]
    eip = 0x01224dfd   esp = 0xbfb5f0c0   ebp = 0xbfb5f1a8   ebx = 0x02da9484
    esi = 0xbfb5f11c   edi = 0xbfb5f368
    Found by: call frame info
 7  libxul.so!mozilla::::ContainerState::ProcessDisplayItems [FrameLayerBuilder.cpp : 1793 + 0x1c]
    eip = 0x01224dfd   esp = 0xbfb5f1b0   ebp = 0xbfb5f298   ebx = 0x02da9484
    esi = 0xbfb5f20c   edi = 0xbfb5f368
    Found by: call frame info
 8  libxul.so!mozilla::FrameLayerBuilder::BuildContainerLayerFor [FrameLayerBuilder.cpp : 2502 + 0x18]
    eip = 0x0122676b   esp = 0xbfb5f2a0   ebp = 0xbfb5f658   ebx = 0x02da9484
    esi = 0xbfb5f368   edi = 0xbfb5f4f8
    Found by: call frame info
 9  libxul.so!nsDisplayList::PaintForFrame [nsDisplayList.cpp : 997 + 0xf]
    eip = 0x01260fbe   esp = 0xbfb5f660   ebp = 0xbfb5f728   ebx = 0x02da9484
    esi = 0xbfb5f7d4   edi = 0x14a1bb10
    Found by: call frame info
10  libxul.so!nsDisplayList::PaintRoot [nsDisplayList.cpp : 934 + 0x11]
    eip = 0x01262f0d   esp = 0xbfb5f730   ebp = 0xbfb5f768   ebx = 0x02da9484
    esi = 0xbfb5f7d4   edi = 0x00000000
    Found by: call frame info
11  libxul.so!nsLayoutUtils::PaintFrame [nsLayoutUtils.cpp : 1855 + 0x16]
    eip = 0x0127eb07   esp = 0xbfb5f770   ebp = 0xbfb5fc08   ebx = 0x02da9484
    esi = 0x0becbd40   edi = 0x00000000
    Found by: call frame info
12  libxul.so!PresShell::RenderDocument [nsPresShell.cpp : 4405 + 0x31]
    eip = 0x0129289f   esp = 0xbfb5fc10   ebp = 0xbfb5fd38   ebx = 0x02da9484
    esi = 0x15d64108   edi = 0x0000003b
    Found by: call frame info
13  libxul.so!nsCanvasRenderingContext2D::DrawWindow [nsCanvasRenderingContext2D.cpp : 3725 + 0x1c]
    eip = 0x01554859   esp = 0xbfb5fd40   ebp = 0xbfb5fdf8   ebx = 0x02da9484
    esi = 0x0c4d7d08   edi = 0x00000022
    Found by: call frame info
14  libxul.so!nsIDOMCanvasRenderingContext2D_DrawWindow [dom_quickstubs.cpp : 2806 + 0xb]
    eip = 0x01b42e16   esp = 0xbfb5fe00   ebp = 0xbfb5fed8   ebx = 0x02da9484
    esi = 0x0aa9c868   edi = 0xb31fe298
    Found by: call frame info
...
https://tbpl.mozilla.org/php/getParsedLog.php?id=16388542&tree=Mozilla-Inbound
Summary: Intermittent test_ipc.html | Exited with code 1 during test run from "###!!! ABORT: retaining manager changed out from under us ... HELP!" → Intermittent test_ipc.html, test_webapp_clearBrowserData.html | Exited with code 1 during test run from "###!!! ABORT: retaining manager changed out from under us ... HELP!"
https://tbpl.mozilla.org/php/getParsedLog.php?id=16605457&tree=Mozilla-Inbound
Summary: Intermittent test_ipc.html, test_webapp_clearBrowserData.html | Exited with code 1 during test run from "###!!! ABORT: retaining manager changed out from under us ... HELP!" → Intermittent test_ipc.html, test_webapp_clearBrowserData.html, test_webapp_clearBrowserData_oop_inproc.html | Exited with code 1 during test run from "###!!! ABORT: retaining manager changed out from under us ... HELP!"
Duplicate of this bug: 808147
Top orange, please may you look at this :-)
Flags: needinfo?(bent.mozilla)
This is a layout bug, likely only happens with IPC frames. Not sure who is the right person to investigate this, CC'ing a few.
Component: DOM: IndexedDB → Layout
Flags: needinfo?(bent.mozilla)
(In reply to ben turner [:bent] from comment #44)
> This is a layout bug, likely only happens with IPC frames. Not sure who is
> the right person to investigate this, CC'ing a few.

Thank you :-)
My testcase in bug https://bugzilla.mozilla.org/show_bug.cgi?id=792351#c8 might be a reproducible testcase for this bug.
Assignee: nobody → roc
According to the stacks here, we're doing a drawWindow call on some ancestor document of the remote iframe. That's what causes the crash, since the layer manager we try to draw with isn't the one expected by the shadow-layers system.

The testcase in https://bugzilla.mozilla.org/show_bug.cgi?id=792351#c8 tries to do the same thing, but explicitly.
I wonder if this drawWindow call could be triggered by the browser thumbnails service? Is that disabled during tests or not?
Attached patch fix and test (obsolete) — Splinter Review
Attachment #680419 - Flags: review?(matt.woodrow)
Attached patch fix and test v2Splinter Review
Attachment #680419 - Attachment is obsolete: true
Attachment #680419 - Flags: review?(matt.woodrow)
Attachment #680420 - Flags: review?(matt.woodrow)
Attachment #680420 - Flags: review?(matt.woodrow) → review+
Hmm, this looks similar to the investigative work I was doing in bug 782845.
https://hg.mozilla.org/mozilla-central/rev/ef15df8a2e6b
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla19
Comment on attachment 680420 [details] [diff] [review]
fix and test v2

[Approval Request Comment]
Bug caused by (feature/regressing bug #): unsure. The underlying bug has probably been present for a long time.
User impact if declined: None. This only affects our tests by avoiding some random orange.
Testing completed (on m-c, etc.): on m-c for a week
Risk to taking this patch (and alternatives if risky): low risk, since the condition under which we change behavior causes a fatal assert not long afterward with our current code
String or UUID changes made by this patch: none
Attachment #680420 - Flags: approval-mozilla-beta?
Whiteboard: [orange]
Attachment #680420 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.