<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>103714</bug_id>
          
          <creation_ts>2012-11-29 23:49:35 -0800</creation_ts>
          <short_desc>[CoordinatedGraphics] Crash in TextureMapperLayer::setBackingStore()</short_desc>
          <delta_ts>2012-12-02 02:30:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Noam Rosenthal">noam</assigned_to>
          <cc>dongseong.hwang</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>noam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>779858</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-29 23:49:35 -0800</bug_when>
    <thetext>I sometimes get a crash in TextureMapperLayer::setBackingStore() when running the compositing layout tests. It is not very easy to reproduce but I basically do the following:
Tools/Scripts/run-webkit-tests --debug --efl -2 --repeat-each=5 compositing

I&apos;m not quite sure what the source of the issue is yet. Sadly, I&apos;m busy with something else at the moment so I&apos;m filing a bug in hope someone has some time to investigate this issue before I do.

The backtrace looks like:
crash log for WebKitTestRunner (pid 19564):
STDOUT: &lt;empty&gt;
STDERR: 1   0x7f03ab762b67
STDERR: 2   0x7f03a3cd6cb0
STDERR: 3   0x4215a2 WTF::RefCountedBase::derefBase()
STDERR: 4   0x7f03a7f988d4 WTF::RefCounted&lt;WebCore::TextureMapperBackingStore&gt;::deref()
STDERR: 5   0x7f03a7f98308 void WTF::derefIfNotNull&lt;WebCore::TextureMapperBackingStore&gt;(WebCore::TextureMapperBackingStore*)
STDERR: 6   0x7f03a896f5a2 WTF::RefPtr&lt;WebCore::TextureMapperBackingStore&gt;::operator=(WTF::PassRefPtr&lt;WebCore::TextureMapperBackingStore&gt; const&amp;)
STDERR: 7   0x7f03a896f290 WebCore::TextureMapperLayer::setBackingStore(WTF::PassRefPtr&lt;WebCore::TextureMapperBackingStore&gt;)
STDERR: 8   0x7f03a4a5d6b9 WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations()
STDERR: 9   0x7f03a4a5d7aa WebKit::LayerTreeRenderer::flushLayerChanges()
STDERR: 10  0x7f03a4a5a91c WTF::FunctionWrapper&lt;void (WebKit::LayerTreeRenderer::*)()&gt;::operator()(WebKit::LayerTreeRenderer*)
STDERR: 11  0x7f03a4a59f3c WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (WebKit::LayerTreeRenderer::*)()&gt;, void (WebKit::LayerTreeRenderer*)&gt;::operator()()
STDERR: 12  0x7f03ab797472 WTF::Function&lt;void ()&gt;::operator()() const
STDERR: 13  0x7f03a4a5dabe WebKit::LayerTreeRenderer::syncRemoteContent()
STDERR: 14  0x7f03a4a5b243 WebKit::LayerTreeRenderer::paintToCurrentGLContext(WebCore::TransformationMatrix const&amp;, float, WebCore::FloatRect const&amp;, unsigned int)
STDERR: 15  0x7f03a4b8f236 EwkViewImpl::displayTimerFired(WebCore::Timer&lt;EwkViewImpl&gt;*)
STDERR: 16  0x7f03a4b96884 WebCore::Timer&lt;EwkViewImpl&gt;::fired()
STDERR: 17  0x7f03a7f0ab1e WebCore::ThreadTimers::sharedTimerFiredInternal()
STDERR: 18  0x7f03a7f0aa3f WebCore::ThreadTimers::sharedTimerFired()
STDERR: 19  0x7f03a891dd25
STDERR: 20  0x7f03abd0146e _ecore_timer_expired_call
STDERR: 21  0x7f03abd0163b _ecore_timer_expired_timers_call
STDERR: 22  0x7f03abcfe551
STDERR: 23  0x7f03abcfebe7 ecore_main_loop_begin
STDERR: 24  0x433a69 WTR::TestController::platformRunUntil(bool&amp;, double)
STDERR: 25  0x41eb90 WTR::TestController::runUntil(bool&amp;, WTR::TestController::TimeoutDuration)
STDERR: 26  0x41e0ad WTR::TestController::resetStateToConsistentValues()
STDERR: 27  0x425d06 WTR::TestInvocation::invoke()
STDERR: 28  0x41e8c8 WTR::TestController::runTest(char const*)
STDERR: 29  0x41ea01 WTR::TestController::runTestingServerLoop()
STDERR: 30  0x41ea9b WTR::TestController::run()
STDERR: 31  0x41c4b1 WTR::TestController::TestController(int, char const**)
STDERR: LEAK: 1 WebPageProxy
STDERR: LEAK: 1 WebContext
STDERR: LEAK: 4 WebCoreNode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780120</commentid>
    <comment_count>1</comment_count>
      <attachid>176968</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-30 07:55:13 -0800</bug_when>
    <thetext>Created attachment 176968
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780125</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-30 08:07:53 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=176968&amp;action=review

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:462
&gt; +    if (m_pendingSyncBackingStores.contains(layer)) {

Why did you remove those lines?  The difference seems to be that you are removing pending backing store removals as well, not just pending addition? The Changelog does not seem to explain this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780126</commentid>
    <comment_count>3</comment_count>
      <attachid>176968</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-11-30 08:08:15 -0800</bug_when>
    <thetext>Comment on attachment 176968
Patch

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

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:463
&gt; +    if (m_pendingSyncBackingStores.contains(layer)) {
&gt; +        m_pendingSyncBackingStores.remove(layer);

What about the case where m_pendingSyncBackingStores[layer] == 0? That would mean that you remove the removal.
So basically calling removeBackingStoreIfNeeded twice with the same layer would end up not removing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780131</commentid>
    <comment_count>4</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-30 08:16:00 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 176968 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=176968&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:463
&gt; &gt; +    if (m_pendingSyncBackingStores.contains(layer)) {
&gt; &gt; +        m_pendingSyncBackingStores.remove(layer);
&gt; 
&gt; What about the case where m_pendingSyncBackingStores[layer] == 0? That would mean that you remove the removal.
&gt; So basically calling removeBackingStoreIfNeeded twice with the same layer would end up not removing it.

You&apos;re right, I&apos;ll remove those lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780133</commentid>
    <comment_count>5</comment_count>
      <attachid>176973</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-30 08:18:56 -0800</bug_when>
    <thetext>Created attachment 176973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780136</commentid>
    <comment_count>6</comment_count>
      <attachid>176973</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-30 08:21:00 -0800</bug_when>
    <thetext>Comment on attachment 176973
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780889</commentid>
    <comment_count>7</comment_count>
      <attachid>176973</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-02 02:30:30 -0800</bug_when>
    <thetext>Comment on attachment 176973
Patch

Clearing flags on attachment: 176973

Committed r136322: &lt;http://trac.webkit.org/changeset/136322&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780890</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-02 02:30:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176968</attachid>
            <date>2012-11-30 07:55:13 -0800</date>
            <delta_ts>2012-11-30 08:18:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103714-20121130075245.patch</filename>
            <type>text/plain</type>
            <size>2275</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmI5NGZkYjI2NmJjOThh
OWZmZTc4NzI1ODY4MzM0NzBjOGM4ODRiMy4uMDJkZGE1Y2QxNmUyODBmYzUyMTZhMGI2MDk0NDAz
OGU5MTk4MmMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTExLTMwICBObydh
bSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0Nvb3JkaW5hdGVkR3Jh
cGhpY3NdIENyYXNoIGluIFRleHR1cmVNYXBwZXJMYXllcjo6c2V0QmFja2luZ1N0b3JlKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzcxNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBhIGxh
eWVyIGZyb20gdGhlIG1fcGVuZGluZ1N5bmNCYWNraW5nU3RvcmVzIG1hcCB3aGVuIGl0J3MgZGVs
ZXRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJl
ZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OmRlbGV0
ZUxheWVyKToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnJlbW92ZUJhY2tp
bmdTdG9yZUlmTmVlZGVkKToKKwogMjAxMi0xMS0zMCAgWmVubyBBbGJpc3NlciAgPHplbm9Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBbUXRdIEVuYWJsZSBXZWJHTCBieSBkZWZhdWx0LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlUmVuZGVyZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCmluZGV4IDcxYzRiY2JkNjlkZDY0MTJiYzhmZWYx
YmExMWRmNzI1YzM3ZjdlMTkuLmJmNDcwMjdjOTRkNjIxMDVmOTRhYzhhNDcxYjFmNzZkOGEyNDlh
ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKQEAgLTM2OCw2ICszNjgs
NyBAQCB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpkZWxldGVMYXllcihXZWJMYXllcklEIGxheWVy
SUQpCiAgICAgICAgIHJldHVybjsKIAogICAgIGxheWVyLT5yZW1vdmVGcm9tUGFyZW50KCk7Cisg
ICAgbV9wZW5kaW5nU3luY0JhY2tpbmdTdG9yZXMucmVtb3ZlKHRvVGV4dHVyZU1hcHBlckxheWVy
KGxheWVyLmdldCgpKSk7CiAgICAgbV9maXhlZExheWVycy5yZW1vdmUobGF5ZXJJRCk7CiAjaWYg
VVNFKEdSQVBISUNTX1NVUkZBQ0UpCiAgICAgbV9zdXJmYWNlQmFja2luZ1N0b3Jlcy5yZW1vdmUo
bGF5ZXJJRCk7CkBAIC00NTgsMTQgKzQ1OSw4IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnJl
bW92ZUJhY2tpbmdTdG9yZUlmTmVlZGVkKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCiAg
ICAgVGV4dHVyZU1hcHBlckxheWVyKiBsYXllciA9IHRvVGV4dHVyZU1hcHBlckxheWVyKGdyYXBo
aWNzTGF5ZXIpOwogICAgIEFTU0VSVChsYXllcik7CiAKLSAgICAvLyBDaGVjayBpZiB0aGUgbGF5
b3V0IGFscmVhZHkgaGFzIGEgYmFja2luZyBzdG9yZSAoY29tbWl0dGVkIG9yIHBlbmRpbmcpLgot
ICAgIEJhY2tpbmdTdG9yZU1hcDo6aXRlcmF0b3IgaXQgPSBtX3BlbmRpbmdTeW5jQmFja2luZ1N0
b3Jlcy5maW5kKGxheWVyKTsKLSAgICBpZiAoaXQgIT0gbV9wZW5kaW5nU3luY0JhY2tpbmdTdG9y
ZXMuZW5kKCkpIHsKLSAgICAgICAgaWYgKGl0LT52YWx1ZSkgewotICAgICAgICAgICAgLy8gVGhl
cmUgaXMgYSBwZW5kaW5nIGFkZGl0aW9uLCBjYW5jZWwgaXQuCi0gICAgICAgICAgICBtX3BlbmRp
bmdTeW5jQmFja2luZ1N0b3Jlcy5yZW1vdmUoaXQpOwotICAgICAgICB9Ci0gICAgICAgIC8vIFRo
ZXJlIGlzIGFscmVhZHkgYSBwZW5kaW5nIHJlbW92YWwuCisgICAgaWYgKG1fcGVuZGluZ1N5bmNC
YWNraW5nU3RvcmVzLmNvbnRhaW5zKGxheWVyKSkgeworICAgICAgICBtX3BlbmRpbmdTeW5jQmFj
a2luZ1N0b3Jlcy5yZW1vdmUobGF5ZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176973</attachid>
            <date>2012-11-30 08:18:56 -0800</date>
            <delta_ts>2012-12-02 02:30:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103714-20121130081628.patch</filename>
            <type>text/plain</type>
            <size>1484</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmI5NGZkYjI2NmJjOThh
OWZmZTc4NzI1ODY4MzM0NzBjOGM4ODRiMy4uNTRhZjhiMGQzY2Q2MWE1ZGUxZDMyNmE0ODdjMDYz
MWJjZGVlN2IzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTExLTMwICBObydh
bSBSb3NlbnRoYWwgIDxub2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0Nvb3JkaW5hdGVkR3Jh
cGhpY3NdIENyYXNoIGluIFRleHR1cmVNYXBwZXJMYXllcjo6c2V0QmFja2luZ1N0b3JlKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzcxNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBhIGxh
eWVyIGZyb20gdGhlIG1fcGVuZGluZ1N5bmNCYWNraW5nU3RvcmVzIG1hcCB3aGVuIGl0IGlzIGRl
bGV0ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRy
ZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpkZWxl
dGVMYXllcik6CisKIDIwMTItMTEtMzAgIFplbm8gQWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgW1F0XSBFbmFibGUgV2ViR0wgYnkgZGVmYXVsdC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRl
cmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZVJlbmRlcmVyLmNwcAppbmRleCA3MWM0YmNiZDY5ZGQ2NDEyYmM4ZmVmMWJhMTFkZjcy
NWMzN2Y3ZTE5Li43Yzk2ZjQxN2M4MWUwNmM2MjMxNzkxOWRiMDMyMDllZjdjN2M2MDQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCkBAIC0zNjgsNiArMzY4LDcgQEAgdm9p
ZCBMYXllclRyZWVSZW5kZXJlcjo6ZGVsZXRlTGF5ZXIoV2ViTGF5ZXJJRCBsYXllcklEKQogICAg
ICAgICByZXR1cm47CiAKICAgICBsYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOworICAgIG1fcGVu
ZGluZ1N5bmNCYWNraW5nU3RvcmVzLnJlbW92ZSh0b1RleHR1cmVNYXBwZXJMYXllcihsYXllci5n
ZXQoKSkpOwogICAgIG1fZml4ZWRMYXllcnMucmVtb3ZlKGxheWVySUQpOwogI2lmIFVTRShHUkFQ
SElDU19TVVJGQUNFKQogICAgIG1fc3VyZmFjZUJhY2tpbmdTdG9yZXMucmVtb3ZlKGxheWVySUQp
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>