<?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>82111</bug_id>
          
          <creation_ts>2012-03-23 18:06:52 -0700</creation_ts>
          <short_desc>[chromium] RootLayer was not being checked for null causing segfaults very rarely.</short_desc>
          <delta_ts>2012-03-23 19:16:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Michal Mocny">mmocny</reporter>
          <assigned_to name="Michal Mocny">mmocny</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>586936</commentid>
    <comment_count>0</comment_count>
    <who name="Michal Mocny">mmocny</who>
    <bug_when>2012-03-23 18:06:52 -0700</bug_when>
    <thetext>[chromium] RootLayer was not being checked for null causing segfaults very rarely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586937</commentid>
    <comment_count>1</comment_count>
      <attachid>133605</attachid>
    <who name="Michal Mocny">mmocny</who>
    <bug_when>2012-03-23 18:07:17 -0700</bug_when>
    <thetext>Created attachment 133605
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586943</commentid>
    <comment_count>2</comment_count>
    <who name="Michal Mocny">mmocny</who>
    <bug_when>2012-03-23 18:12:31 -0700</bug_when>
    <thetext>Other uses of rootLayer() in this files is guarded, these were not.

I can&apos;t get this to replicate all the time, but it happened when closing a tab.

Without multiple tabs within the same processes, it is hard to catch since closing the tab makes crashes hard to spot.  With multiple tabs in the same process, the others crash too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586956</commentid>
    <comment_count>3</comment_count>
      <attachid>133605</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-03-23 18:37:38 -0700</bug_when>
    <thetext>Comment on attachment 133605
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:407
&gt; -    m_defaultRenderSurface = rootLayer()-&gt;renderSurface();
&gt; +    m_defaultRenderSurface = rootLayer() ? rootLayer()-&gt;renderSurface() : 0;

This isn&apos;t enough.  If m_defaultRenderSurface is 0, you&apos;ll deref 0 in useRenderSurface.  Can you please assert on rootLayer() here and early out in CCLTHI::drawLayers if there is no root layer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586958</commentid>
    <comment_count>4</comment_count>
      <attachid>133610</attachid>
    <who name="Michal Mocny">mmocny</who>
    <bug_when>2012-03-23 18:42:17 -0700</bug_when>
    <thetext>Created attachment 133610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586959</commentid>
    <comment_count>5</comment_count>
    <who name="Michal Mocny">mmocny</who>
    <bug_when>2012-03-23 18:45:34 -0700</bug_when>
    <thetext>Done.

I am no longer seeing segfaults, nor seeing any implications to early out, but I am not really sure why there would not be a root layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586960</commentid>
    <comment_count>6</comment_count>
      <attachid>133610</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-03-23 18:46:04 -0700</bug_when>
    <thetext>Comment on attachment 133610
Patch

Thanks for the quick changes.  I&apos;d like to land this ASAP to be robust to this, but would you mind creating another bug and write a patch to add a test in CCLayerTreeHostImplTest to make sure that CCLTHI impl is robust to calling various functions with a null root layer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586973</commentid>
    <comment_count>7</comment_count>
      <attachid>133610</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-23 19:16:16 -0700</bug_when>
    <thetext>Comment on attachment 133610
Patch

Clearing flags on attachment: 133610

Committed r111968: &lt;http://trac.webkit.org/changeset/111968&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586974</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-23 19:16:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133605</attachid>
            <date>2012-03-23 18:07:17 -0700</date>
            <delta_ts>2012-03-23 18:42:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82111-20120323210715.patch</filename>
            <type>text/plain</type>
            <size>2511</size>
            <attacher name="Michal Mocny">mmocny</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExOTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNjNjQ4NGMxYjBlM2Rm
YjMzMTUyNzhhNWY5MjZlYzgyNWM0NmIwZC4uYWNkYmQ1ODlhNWZiYzNkNjg1MzMwZmFmY2Y1MWQ4
ZGZkYzQxMzA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTIzICBNaWNo
YWwgTW9jbnkgIDxtbW9jbnlAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIFJvb3RM
YXllciB3YXMgbm90IGJlaW5nIGNoZWNrZWQgZm9yIG51bGwgY2F1c2luZyBzZWdmYXVsdHMgdmVy
eSByYXJlbHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MjExMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6YmVnaW5EcmF3aW5nRnJh
bWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVl
SG9zdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6ZHJh
d0xheWVycyk6CisKIDIwMTItMDMtMjMgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgTWF0Y2ggRE9NNCBzcGVjIHdpdGggcmVzcGVjdCB0byBEb2N1bWVudEZyYWdt
ZW50IGluc2VydGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKaW5kZXgg
ODhiNjZkNjY0MGQyZjE2YmI4OGI1MDZlYWYzY2YwODk0Y2Y2ZmNiZC4uMTFmZTg3NzM4MDQ3MDA1
MjBhYzVlOTJlMTk2MjA5NzI1NmZkZjgzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hy
b21pdW0uY3BwCkBAIC00MDQsNyArNDA0LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06
OmNsZWFyUmVuZGVyU3VyZmFjZShDQ1JlbmRlclN1cmZhY2UqIHJlbmRlclN1cmZhY2UsIEMKIAog
dm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmJlZ2luRHJhd2luZ0ZyYW1lKCkKIHsKLSAgICBt
X2RlZmF1bHRSZW5kZXJTdXJmYWNlID0gcm9vdExheWVyKCktPnJlbmRlclN1cmZhY2UoKTsKKyAg
ICBtX2RlZmF1bHRSZW5kZXJTdXJmYWNlID0gcm9vdExheWVyKCkgPyByb290TGF5ZXIoKS0+cmVu
ZGVyU3VyZmFjZSgpIDogMDsKIAogICAgIC8vIEZJWE1FOiB1c2UgdGhlIGZyYW1lIGJlZ2luIHRp
bWUgZnJvbSB0aGUgb3ZlcmFsbCBjb21wb3NpdG9yIHNjaGVkdWxlci4KICAgICAvLyBUaGlzIHZh
bHVlIGlzIGN1cnJlbnRseSBpbmFjY2Vzc2libGUgYmVjYXVzZSBpdCBpcyB1cCBpbiBDaHJvbWl1
bSdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCmluZGV4IDU5NDkzOTVk
ZDFjZjgwMGY3ZjNiOTBmNzAwZTYzODc0NzAyNzQyNGQuLmRlN2FjNzM1ZjJlNTgwYTU2NmIyNmRj
ODAxYTRmMmViMjM5N2FmZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwu
Y3BwCkBAIC0zOTUsNyArMzk1LDggQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpkcmF3TGF5
ZXJzKGNvbnN0IEZyYW1lRGF0YSYgZnJhbWUpCiAgICAgKyttX2ZyYW1lTnVtYmVyOwogCiAgICAg
Ly8gVGhlIG5leHQgZnJhbWUgc2hvdWxkIHN0YXJ0IGJ5IGFzc3VtaW5nIG5vdGhpbmcgaGFzIGNo
YW5nZWQsIGFuZCBjaGFuZ2VzIGFyZSBub3RlZCBhcyB0aGV5IG9jY3VyLgotICAgIHJvb3RMYXll
cigpLT5yZXNldEFsbENoYW5nZVRyYWNraW5nRm9yU3VidHJlZSgpOworICAgIGlmIChyb290TGF5
ZXIoKSkKKyAgICAgICAgcm9vdExheWVyKCktPnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JTdWJ0
cmVlKCk7CiB9CiAKIHZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6ZmluaXNoQWxsUmVuZGVyaW5n
KCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133610</attachid>
            <date>2012-03-23 18:42:17 -0700</date>
            <delta_ts>2012-03-23 19:16:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82111-20120323214216.patch</filename>
            <type>text/plain</type>
            <size>2376</size>
            <attacher name="Michal Mocny">mmocny</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExOTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNjNjQ4NGMxYjBlM2Rm
YjMzMTUyNzhhNWY5MjZlYzgyNWM0NmIwZC4uYWNkYmQ1ODlhNWZiYzNkNjg1MzMwZmFmY2Y1MWQ4
ZGZkYzQxMzA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTIzICBNaWNo
YWwgTW9jbnkgIDxtbW9jbnlAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIFJvb3RM
YXllciB3YXMgbm90IGJlaW5nIGNoZWNrZWQgZm9yIG51bGwgY2F1c2luZyBzZWdmYXVsdHMgdmVy
eSByYXJlbHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MjExMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6YmVnaW5EcmF3aW5nRnJh
bWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVl
SG9zdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6ZHJh
d0xheWVycyk6CisKIDIwMTItMDMtMjMgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgTWF0Y2ggRE9NNCBzcGVjIHdpdGggcmVzcGVjdCB0byBEb2N1bWVudEZyYWdt
ZW50IGluc2VydGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKaW5kZXgg
ODhiNjZkNjY0MGQyZjE2YmI4OGI1MDZlYWYzY2YwODk0Y2Y2ZmNiZC4uYzVmNWU2YWE5MGNmNzEx
MDUxN2EzNTQwNDc3MzNiOTU3YzllNGVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hy
b21pdW0uY3BwCkBAIC00MDQsNiArNDA0LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06
OmNsZWFyUmVuZGVyU3VyZmFjZShDQ1JlbmRlclN1cmZhY2UqIHJlbmRlclN1cmZhY2UsIEMKIAog
dm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmJlZ2luRHJhd2luZ0ZyYW1lKCkKIHsKKyAgICBB
U1NFUlQocm9vdExheWVyKCkpOwogICAgIG1fZGVmYXVsdFJlbmRlclN1cmZhY2UgPSByb290TGF5
ZXIoKS0+cmVuZGVyU3VyZmFjZSgpOwogCiAgICAgLy8gRklYTUU6IHVzZSB0aGUgZnJhbWUgYmVn
aW4gdGltZSBmcm9tIHRoZSBvdmVyYWxsIGNvbXBvc2l0b3Igc2NoZWR1bGVyLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRy
ZWVIb3N0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAppbmRleCA1OTQ5Mzk1ZGQxY2Y4MDBmN2YzYjkw
ZjcwMGU2Mzg3NDcwMjc0MjRkLi42YzUwMjI1NjNhZWViMmQyNzlhNTcxOThkOGI5NjE2MDBiMzVj
ZDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcApAQCAtMzc5LDYg
KzM3OSw5IEBAIHZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6ZHJhd0xheWVycyhjb25zdCBGcmFt
ZURhdGEmIGZyYW1lKQogICAgIFRSQUNFX0VWRU5UKCJDQ0xheWVyVHJlZUhvc3RJbXBsOjpkcmF3
TGF5ZXJzIiwgdGhpcywgMCk7CiAgICAgQVNTRVJUKG1fbGF5ZXJSZW5kZXJlcik7CiAKKyAgICBp
ZiAoIXJvb3RMYXllcigpKQorICAgICAgICByZXR1cm47CisKICAgICBtX2xheWVyUmVuZGVyZXIt
PmJlZ2luRHJhd2luZ0ZyYW1lKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmcmFtZS5y
ZW5kZXJQYXNzZXMuc2l6ZSgpOyArK2kpCiAgICAgICAgIG1fbGF5ZXJSZW5kZXJlci0+ZHJhd1Jl
bmRlclBhc3MoZnJhbWUucmVuZGVyUGFzc2VzW2ldLmdldCgpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>