<?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>144953</bug_id>
          
          <creation_ts>2015-05-13 09:53:35 -0700</creation_ts>
          <short_desc>[SOUP] Network Cache: NetworkProcess segfault when file system doesn&apos;t support xattrs</short_desc>
          <delta_ts>2015-05-13 23:21:35 -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>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, Soup</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ting-Wei Lan">lantw44</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1094474</commentid>
    <comment_count>0</comment_count>
    <who name="Ting-Wei Lan">lantw44</who>
    <bug_when>2015-05-13 09:53:35 -0700</bug_when>
    <thetext>tmpfs doesn&apos;t support user_xattr on Linux. Therefore, if an user have its ~/.cache/epiphany on tmpfs, setting xattr::birthtime fails. When WebKit tries to read the value back in Source/WebKit2/NetworkProcess/cache/NetworkCacheFileSystemPosix.h, it will pass a null pointer to g_ascii_strtoull. This can cause segfault in WebKitNetworkProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094475</commentid>
    <comment_count>1</comment_count>
    <who name="Ting-Wei Lan">lantw44</who>
    <bug_when>2015-05-13 09:57:48 -0700</bug_when>
    <thetext>This problem also causes WebKitNetworkProcess to segfault on FreeBSD because it doesn&apos;t support xattr. Fortunately, FreeBSD has st_birthtime field in struct stat, so we can reuse PLATFORM(COCOA) code in NetworkCacheFileSystemPosix.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094476</commentid>
    <comment_count>2</comment_count>
      <attachid>253035</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-13 09:59:24 -0700</bug_when>
    <thetext>Created attachment 253035
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094479</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-13 10:02:48 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; This problem also causes WebKitNetworkProcess to segfault on FreeBSD because
&gt; it doesn&apos;t support xattr. Fortunately, FreeBSD has st_birthtime field in
&gt; struct stat, so we can reuse PLATFORM(COCOA) code in
&gt; NetworkCacheFileSystemPosix.h.

Cool, that&apos;s a different issue, though. Could you file another bug report for that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094732</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-13 23:00:50 -0700</bug_when>
    <thetext>Committed r184330: &lt;http://trac.webkit.org/changeset/184330&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094738</commentid>
    <comment_count>5</comment_count>
    <who name="Ting-Wei Lan">lantw44</who>
    <bug_when>2015-05-13 23:21:35 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #1)
&gt; &gt; This problem also causes WebKitNetworkProcess to segfault on FreeBSD because
&gt; &gt; it doesn&apos;t support xattr. Fortunately, FreeBSD has st_birthtime field in
&gt; &gt; struct stat, so we can reuse PLATFORM(COCOA) code in
&gt; &gt; NetworkCacheFileSystemPosix.h.
&gt; 
&gt; Cool, that&apos;s a different issue, though. Could you file another bug report
&gt; for that?

https://bugs.webkit.org/show_bug.cgi?id=144989</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253035</attachid>
            <date>2015-05-13 09:59:24 -0700</date>
            <delta_ts>2015-05-13 10:12:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-xattr-crash.diff</filename>
            <type>text/plain</type>
            <size>1562</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAyYTViZTIyLi42MzkwNzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTUtMDUtMTMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtTT1VQXSBOZXR3b3JrIENhY2hlOiBOZXR3b3JrUHJvY2VzcyBzZWdmYXVs
dCB3aGVuIGZpbGUgc3lzdGVtIGRvZXNuJ3Qgc3VwcG9ydCB4YXR0cnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDk1MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJldHVybiBlYXJseSBpZiB3ZSBmYWls
IHRvIGdldCB0aGUgYmlydGh0aW1lIHhhdHRyLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbVBvc2l4Lmg6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtDYWNoZTo6ZmlsZVRpbWVzKToKKwogMjAxNS0wNS0wNSAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIE5ldHdvcmsgQ2FjaGU6
IEltcGxlbWVudCBTaGFyZWFibGVSZXNvdXJjZSBmb3IgU291cCBhbmQgZW5hYmxlIGl0IGZvciBH
VEsgcGxhdGZvcm0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW1Qb3NpeC5oIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbVBvc2l4LmgKaW5kZXggNzg5NzJk
Zi4uYmE1ZTQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbVBvc2l4LmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbVBvc2l4LmgKQEAgLTkwLDYg
KzkwLDggQEAgaW5saW5lIEZpbGVUaW1lcyBmaWxlVGltZXMoY29uc3QgU3RyaW5nJiBwYXRoKQog
ICAgIGlmICghZmlsZUluZm8pCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgY29uc3QgY2hhciog
YmlydGh0aW1lU3RyaW5nID0gZ19maWxlX2luZm9fZ2V0X2F0dHJpYnV0ZV9zdHJpbmcoZmlsZUlu
Zm8uZ2V0KCksICJ4YXR0cjo6YmlydGh0aW1lIik7CisgICAgaWYgKCFiaXJ0aHRpbWVTdHJpbmcp
CisgICAgICAgIHJldHVybiB7IH07CiAgICAgcmV0dXJuIHsgc3RkOjpjaHJvbm86OnN5c3RlbV9j
bG9jazo6ZnJvbV90aW1lX3QoZ19hc2NpaV9zdHJ0b3VsbChiaXJ0aHRpbWVTdHJpbmcsIG51bGxw
dHIsIDEwKSksCiAgICAgICAgIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OmZyb21fdGltZV90
KGdfZmlsZV9pbmZvX2dldF9hdHRyaWJ1dGVfdWludDY0KGZpbGVJbmZvLmdldCgpLCAidGltZTo6
bW9kaWZpZWQiKSkgfTsKICNlbmRpZgo=
</data>
<flag name="review"
          id="277892"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>