Bug 103171

Summary: REGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().
Product: WebKit Reporter: Dongseong Hwang <dongseong.hwang>
Component: Layout and RenderingAssignee: Dongseong Hwang <dongseong.hwang>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, dglazkov, jussi.kukkonen, levin+threading, noam, webkit.review.bot, zeno
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 103046, 103298, 103498, 103527    
Bug Blocks:    
Attachments:
Description Flags
Patch
webkit.review.bot: commit-queue-
Patch
none
Patch
none
Patch none

Description Dongseong Hwang 2012-11-23 23:22:10 PST
ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().

It occurs in only WK2. We need to investigate CoordinatedGraphicsLayer and LayerTreeCoordinator to find invariant breaker.
Comment 1 Dongseong Hwang 2012-11-23 23:24:11 PST
When entering http://www.satine.org/research/webkit/snowleopard/snowstack.html in WK2, WK2 crashes.

ASSERTION FAILED: m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()
/media/WDDisk/workspace/WebKit/WebKit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp(113) : void WebCore::TextureMapperLayer::paintSelf(const WebCore::TextureMapperPaintOptions&)
1   0x7fdd6e541a95 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer9paintSelfERKNS_25TextureMapperPaintOptionsE+0x1cd) [0x7fdd6e541a95]
2   0x7fdd6e541dd9 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x33) [0x7fdd6e541dd9]
3   0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
4   0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
5   0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
6   0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
7   0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
8   0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
9   0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
10  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
11  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
12  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
13  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
14  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
15  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
16  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
17  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
18  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
19  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
20  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
21  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
22  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
23  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
24  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
25  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
26  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
27  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
28  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
29  0x7fdd6e541f45 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer20paintSelfAndChildrenERKNS_25TextureMapperPaintOptionsE+0x19f) [0x7fdd6e541f45]
30  0x7fdd6e5428f5 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer31paintSelfAndChildrenWithReplicaERKNS_25TextureMapperPaintOptionsE+0x177) [0x7fdd6e5428f5]
31  0x7fdd6e542bb1 /media/WDDisk/workspace/WebKit/WebKit/WebKitBuild/qt5/Debug/lib/../lib/libWebCore.so.1(_ZN7WebCore18TextureMapperLayer14paintRecursiveERKNS_25TextureMapperPaintOptionsE+0x12f) [0x7fdd6e542bb1]
Comment 2 Dongseong Hwang 2012-11-25 22:51:18 PST
Created attachment 175928 [details]
Patch
Comment 3 Noam Rosenthal 2012-11-25 23:14:03 PST
Comment on attachment 175928 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=175928&action=review

This doesn't seem right; You don't just remove

> Source/WebKit2/ChangeLog:8
> +        This patch makes only Web Process cause running LayerTreeRenderer::syncRemoteContent().

Can you explain how this causes the assert? The commands in the render queue are supposed to be buffered anyway by GraphicsLayerTextureMapper, but seems here that some of them are not...
Also, I would change this description to say "Buffer the render queue commands until the web process calls didRenderFrame.

> Source/WebKit2/ChangeLog:12
> +        only the part of sync requests can be executed. Users can see the intermediate
> +        state (i.e. flashing). After this patch, we can not see the intermediate state.

Are there existing tests that show this flash? I was able to see it several times, but it would be good to mention which tests expose this.
Comment 4 Dongseong Hwang 2012-11-26 00:16:05 PST
(In reply to comment #3)
> (From update of attachment 175928 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=175928&action=review

Thanks for review!

> This doesn't seem right; You don't just remove

Do you mean it is wrong that we flush the render queue only after the web process calls didRenderFrame? Maybe performance issue? If so, we need to rethink more deeply how to fix.

> 
> > Source/WebKit2/ChangeLog:8
> > +        This patch makes only Web Process cause running LayerTreeRenderer::syncRemoteContent().
> 
> Can you explain how this causes the assert? The commands in the render queue are supposed to be buffered anyway by GraphicsLayerTextureMapper, but seems here that some of them are not...
> Also, I would change this description to say "Buffer the render queue commands until the web process calls didRenderFrame.

I do my best to explain. If vague, let me know please.

Animation causes following seq.

- LayerTreeRenderer::setLayerState
- TextureMapperLayer::paint
- LayerTreeRenderer::flushLayerChanges

The reason of this problem is that LayerTreeRenderer changes states of GraphicsLayerTextureMappler while setting a backing store to TextureMapplerLayer.
It means TextureMapplerLayer can know the backing store before TextureMapplerLayer::flushCompositingState that LayerTreeRenderer::flushLayerChanges normally calls.

void LayerTreeRenderer::setLayerState(WebLayerID id, const WebLayerInfo& layerInfo)
{
    ...
    layer->setSize(layerInfo.size);
    ...
    layer->setDrawsContent(layerInfo.drawsContent);
    ...
    prepareContentBackingStore(layer);
    ...
}

So Assert hits.

I'd come close to removing ASSERT simply, but I thought it is not right way.

> > Source/WebKit2/ChangeLog:12
> > +        only the part of sync requests can be executed. Users can see the intermediate
> > +        state (i.e. flashing). After this patch, we can not see the intermediate state.
> 
> Are there existing tests that show this flash? I was able to see it several times, but it would be good to mention which tests expose this.

We can see the flash in snowstack http://www.satine.org/research/webkit/snowleopard/snowstack.html
However, it becomes very rare after Bug 103215.
When you press space continuously (it causes zooming), you can see flash sometimes.
The zoomed image transits a div containing to a directly composited image at the end of animation, and vice versa.

In the detail, we can see the flash only if below seq hits like ASSERT:
- LayerTreeRenderer::setLayerState
- TextureMapperLayer::paint
- LayerTreeRenderer::flushLayerChanges
Comment 5 WebKit Review Bot 2012-11-26 02:49:25 PST
Comment on attachment 175928 [details]
Patch

Attachment 175928 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14983589

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html
Comment 6 Dongseong Hwang 2012-11-26 04:34:21 PST
I'd re-thought about this bug.

If LayerTreeRenderer::setLayerState() actually sync a layer state to TextureMapperLayer, this assertion can not hit.

It means that we fix this bug if we remove the dependency of LayerTreeRenderer on GraphicsLayerTextureMapper as our plan.


I think it is overshoot to remove the dependency here, so this patch will just synchronizes each TextureMapperLayer in LayerTreeRenderer::setLayerState().

We will remove the dependency in another bug.

I'll update.
Comment 7 Dongseong Hwang 2012-11-27 02:03:51 PST
Created attachment 176203 [details]
Patch
Comment 8 Noam Rosenthal 2012-11-27 02:21:18 PST
Comment on attachment 176203 [details]
Patch

I'm quite sure this will break more stuff :)
The right thing is to not set the backing store until the next flush.
Comment 9 Dongseong Hwang 2012-11-27 02:43:56 PST
(In reply to comment #8)
> (From update of attachment 176203 [details])
> I'm quite sure this will break more stuff :)
> The right thing is to not set the backing store until the next flush.

Ok. I agree on you.

I set the backing store during the next flush.

In my understand, we must not update TextureMapperLayer until the next flush, so we just update GraphicsLayer until the next flush.

If so, I'm curious why the first patch could break something: perform flushing render queue only when receiving DidRenderFrame message. I agree that the first patch is not pretty, so I don't want to :)
I'm just curious for more understanding.

BTW, after we remove all dependency of GraphicsLayerTextureMapper in LayerTreeRenderer, TextureMapperLayer will have queue like render queue of LayerTreeRenderer to flush all at the next flush. Do you think so?
Comment 10 Noam Rosenthal 2012-11-27 02:51:22 PST
(In reply to comment #9)
> If so, I'm curious why the first patch could break something: perform flushing render queue only when receiving DidRenderFrame message. I agree that the first patch is not pretty, so I don't want to :)
> I'm just curious for more understanding.
It would probably not break anything, but it's too early for this patch. The right thing to do at this point is to buffer the setBackingStore command, and only execute it "for real" during the next flush.
Comment 11 Dongseong Hwang 2012-11-27 03:35:21 PST
Created attachment 176222 [details]
Patch
Comment 12 Dongseong Hwang 2012-11-27 03:42:47 PST
(In reply to comment #10)
> (In reply to comment #9)
> > If so, I'm curious why the first patch could break something: perform flushing render queue only when receiving DidRenderFrame message. I agree that the first patch is not pretty, so I don't want to :)
> > I'm just curious for more understanding.
> It would probably not break anything, but it's too early for this patch. The right thing to do at this point is to buffer the setBackingStore command, and only execute it "for real" during the next flush.

(In reply to comment #11)
> Created an attachment (id=176222) [details]
> Patch

Thanks for explanation. I did as you mentioned. However, this patch can not remove flashing. I saw flash in snowstack as I mentioned #c1.
However, the first patch fixed flash. I'll investigate how to remove flash. We can fix flash in another bug.
Comment 13 Noam Rosenthal 2012-11-27 09:05:05 PST
Comment on attachment 176222 [details]
Patch

Looks good, but purple :)
Comment 14 Dongseong Hwang 2012-11-27 15:31:39 PST
(In reply to comment #13)
> (From update of attachment 176222 [details])
> Looks good, but purple :)

Thanks!

This bug depends on Bug 103298.

I can merge this patch and Bug 103298 if needed, because this patch is a bit follow-up patch of Bug 103298.
Comment 15 Dongseong Hwang 2012-11-27 17:28:41 PST
Created attachment 176373 [details]
Patch
Comment 16 Dongseong Hwang 2012-11-27 17:33:29 PST
(In reply to comment #15)
> Created an attachment (id=176373) [details]
> Patch

After this patch, I can not encounter hitting Assertion easily.

I'll post patch after checking more carefully :)
Comment 17 WebKit Review Bot 2012-11-27 17:53:20 PST
Comment on attachment 176373 [details]
Patch

Clearing flags on attachment: 176373

Committed r135962: <http://trac.webkit.org/changeset/135962>
Comment 18 WebKit Review Bot 2012-11-27 17:53:25 PST
All reviewed patches have been landed.  Closing bug.
Comment 19 Chris Dumez 2012-11-28 00:10:59 PST
Comment on attachment 176373 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=176373&action=review

> Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:169
> +    BackingStoreMap m_pedningSyncBackingStores;

arf. That's a nice typo.
Comment 20 Chris Dumez 2012-11-28 00:13:09 PST
Comment on attachment 176373 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=176373&action=review

> Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:457
> +    ASSERT(!m_pedningSyncBackingStores.contains(layer));

Just FYI, I'm hitting this assertion when running the compositing test cases locally.
Comment 21 Chris Dumez 2012-11-28 00:14:51 PST
Comment on attachment 176373 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=176373&action=review

> Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:446
> +    ASSERT(!m_pedningSyncBackingStores.contains(layer));

Sorry, my bad. It is actually this assert.
Comment 22 Jussi Kukkonen (jku) 2012-11-28 02:04:18 PST
(In reply to comment #21)
> (From update of attachment 176373 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=176373&action=review
> 
> > Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:446
> > +    ASSERT(!m_pedningSyncBackingStores.contains(layer));
> 
> Sorry, my bad. It is actually this assert.

This happens on the bot as well, ~10 crashing tests on EFL WK2 Debug (at least):

18:07:40.667 21028   ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
18:07:40.667 21028   /home/buildslave-1/webkit-buildslave/efl-linux-64-debug-wk2/build/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp(446) : void WebKit::LayerTreeRenderer::createBackingStoreIfNeeded(WebCore::GraphicsLayer*)
18:07:40.667 21028   1   0x7f592cdd759c WebKit::LayerTreeRenderer::createBackingStoreIfNeeded(WebCore::GraphicsLayer*)
18:07:40.667 21028   2   0x7f592cdd7455 WebKit::LayerTreeRenderer::prepareContentBackingStore(WebCore::GraphicsLayer*)
18:07:40.667 21028   3   0x7f592cdd6f83 WebKit::LayerTreeRenderer::setLayerState(unsigned int, WebKit::WebLayerInfo const&)
18:07:40.667 21028   4   0x7f592cdd57f3 WTF::FunctionWrapper<void (WebKit::LayerTreeRenderer::*)(unsigned int, WebKit::WebLayerInfo const&)>::operator()(WebKit::LayerTreeRenderer*, unsigned int, WebKit::WebLayerInfo const&)
18:07:40.667 21028   5   0x7f592cdd4ee8 WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (WebKit::LayerTreeRenderer::*)(unsigned int, WebKit::WebLayerInfo const&)>, void (WebKit::LayerTreeRenderer*, unsigned int, WebKit::WebLayerInfo)>::operator()()
18:07:40.667 21028   6   0x7f5933e86bd6 WTF::Function<void ()>::operator()() const
18:07:40.667 21028   7   0x7f592cdd8750 WebKit::LayerTreeRenderer::syncRemoteContent()
18:07:40.667 21028   8   0x7f592cdd6027 WebKit::LayerTreeRenderer::paintToCurrentGLContext(WebCore::TransformationMatrix const&, float, WebCore::FloatRect const&, unsigned int)
18:07:40.668 21028   9   0x7f592cf07088 EwkViewImpl::displayTimerFired(WebCore::Timer<EwkViewImpl>*)
18:07:40.668 21028   10  0x7f592cf0e60e WebCore::Timer<EwkViewImpl>::fired()
18:07:40.668 21028   11  0x7f5930347e86 WebCore::ThreadTimers::sharedTimerFiredInternal()
18:07:40.668 21028   12  0x7f5930347da7 WebCore::ThreadTimers::sharedTimerFired()
Comment 23 Chris Dumez 2012-11-28 03:04:00 PST
(In reply to comment #22)
> (In reply to comment #21)
> > (From update of attachment 176373 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=176373&action=review
> > 
> > > Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:446
> > > +    ASSERT(!m_pedningSyncBackingStores.contains(layer));
> > 
> > Sorry, my bad. It is actually this assert.
> 
> This happens on the bot as well, ~10 crashing tests on EFL WK2 Debug (at least):
> 
> 18:07:40.667 21028   ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
> 18:07:40.667 21028   /home/buildslave-1/webkit-buildslave/efl-linux-64-debug-wk2/build/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp(446) : void WebKit::LayerTreeRenderer::createBackingStoreIfNeeded(WebCore::GraphicsLayer*)
> 18:07:40.667 21028   1   0x7f592cdd759c WebKit::LayerTreeRenderer::createBackingStoreIfNeeded(WebCore::GraphicsLayer*)
> 18:07:40.667 21028   2   0x7f592cdd7455 WebKit::LayerTreeRenderer::prepareContentBackingStore(WebCore::GraphicsLayer*)
> 18:07:40.667 21028   3   0x7f592cdd6f83 WebKit::LayerTreeRenderer::setLayerState(unsigned int, WebKit::WebLayerInfo const&)
> 18:07:40.667 21028   4   0x7f592cdd57f3 WTF::FunctionWrapper<void (WebKit::LayerTreeRenderer::*)(unsigned int, WebKit::WebLayerInfo const&)>::operator()(WebKit::LayerTreeRenderer*, unsigned int, WebKit::WebLayerInfo const&)
> 18:07:40.667 21028   5   0x7f592cdd4ee8 WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (WebKit::LayerTreeRenderer::*)(unsigned int, WebKit::WebLayerInfo const&)>, void (WebKit::LayerTreeRenderer*, unsigned int, WebKit::WebLayerInfo)>::operator()()
> 18:07:40.667 21028   6   0x7f5933e86bd6 WTF::Function<void ()>::operator()() const
> 18:07:40.667 21028   7   0x7f592cdd8750 WebKit::LayerTreeRenderer::syncRemoteContent()
> 18:07:40.667 21028   8   0x7f592cdd6027 WebKit::LayerTreeRenderer::paintToCurrentGLContext(WebCore::TransformationMatrix const&, float, WebCore::FloatRect const&, unsigned int)
> 18:07:40.668 21028   9   0x7f592cf07088 EwkViewImpl::displayTimerFired(WebCore::Timer<EwkViewImpl>*)
> 18:07:40.668 21028   10  0x7f592cf0e60e WebCore::Timer<EwkViewImpl>::fired()
> 18:07:40.668 21028   11  0x7f5930347e86 WebCore::ThreadTimers::sharedTimerFiredInternal()
> 18:07:40.668 21028   12  0x7f5930347da7 WebCore::ThreadTimers::sharedTimerFired()

I filed https://bugs.webkit.org/show_bug.cgi?id=103498. I may have a fix for it but I need to test it a bit.
Comment 24 Darin Adler 2012-11-28 10:50:56 PST
Comment on attachment 176373 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=176373&action=review

>> Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:169
>> +    BackingStoreMap m_pedningSyncBackingStores;
> 
> arf. That's a nice typo.

This landed with pedning but needs to be changed to pending.
Comment 25 Noam Rosenthal 2012-11-28 10:52:21 PST
(In reply to comment #24)
> (From update of attachment 176373 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=176373&action=review
> 
> >> Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:169
> >> +    BackingStoreMap m_pedningSyncBackingStores;
> > 
> > arf. That's a nice typo.
> 
> This landed with pedning but needs to be changed to pending.

Oops, missed that in review.
DongSung, can you please fix?
Comment 26 Chris Dumez 2012-11-28 10:57:31 PST
I already fixed the typo in one of the recent patches I marked as dependency, along with the assertion hit.
Comment 27 Dongseong Hwang 2012-11-28 15:43:47 PST
(In reply to comment #26)
> I already fixed the typo in one of the recent patches I marked as dependency, along with the assertion hit.

Thank you so much!!
Comment 28 Dongseong Hwang 2013-01-29 16:47:56 PST
*** Bug 103400 has been marked as a duplicate of this bug. ***