New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 897229 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

A RenderViewImpl's widget goes swapped out->in->out during load of slashdot.org

Project Member Reported by danakj@chromium.org, Oct 19

Issue description

1. The RenderViewImpl is created with IPC saying it is swapped out.

[1:1:1019/141814.347481:ERROR:render_widget.cc(1520)] RenderWidget swapped out 1 with id FrameSinkId(4, 2)

2. Then the RenderWidget is swapped in from RenderFrameImpl::DidCommitProvisionalLoad()

[1:1:1019/141814.369757:ERROR:render_widget.cc(499)] 0x1f40386d3c00 SetSwappedOut 0
#0 0x7f3dfd9269ef base::debug::StackTrace::StackTrace()
#1 0x7f3dfb610074 content::RenderWidget::SetSwappedOut()
#2 0x7f3dfb5ca618 content::RenderFrameImpl::SwapIn()
#3 0x7f3dfb5d8995 content::RenderFrameImpl::DidCommitProvisionalLoad()
#4 0x7f3df4d588ef blink::LocalFrameClientImpl::DispatchDidCommitLoad()
#5 0x7f3df541a4d5 blink::DocumentLoader::DidCommitNavigation()

3. This starts the compositor :( :(

[1:1:1019/141814.591968:ERROR:render_widget.cc(966)] 0x1f40386d3c00 RequestNewLayerTreeFrameSink FrameSinkId(4, 2)

4. And then we receive a FrameMsg_SwapOut message for the main frame, I guess, associated with that RenderWidget. We swap it back out again immediately.

[1:1:1019/141814.597238:ERROR:render_widget.cc(499)] 0x1f40386d3c00 SetSwappedOut 1
#0 0x7f3dfd9269ef base::debug::StackTrace::StackTrace()
#1 0x7f3dfb610074 content::RenderWidget::SetSwappedOut()
#2 0x7f3dfb5c28f5 content::RenderFrameImpl::OnSwapOut()
#3 0x7f3dfb5c268e _ZN3IPC8MessageTI21FrameMsg_SwapOut_MetaNSt3__15tupleIJibN7content21FrameReplicationStateEEEEvE8DispatchINS4_15RenderFrameImplES9_vMS9_FvibRKS5_EEEbPKNS_7MessageEPT_PT0_PT1_T2_
#4 0x7f3dfb5c1d90 content::RenderFrameImpl::OnMessageReceived()
#5 0x7f3dfbe6736f IPC::MessageRouter::RouteMessage()
#6 0x7f3dfbe672aa IPC::MessageRouter::OnMessageReceived()
#7 0x7f3dfa6bba1c content::ChildThreadImpl::OnMessageReceived()

 
Cc: ajwong@chromium.org
I'm not going to poke at this myself at this time, but it is definitely not good. It's.. better after https://chromium-review.googlesource.com/c/chromium/src/+/1290140 but will get worse as we work toward destroying the RenderWidget instead of swapping in out. We'll end up creating more things and doing more initialization just to destroy it again momentarily.

Sign in to add a comment