<?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>181061</bug_id>
          
          <creation_ts>2017-12-20 15:33:05 -0800</creation_ts>
          <short_desc>Crash when clearing std::optional&lt;WebKit::WebServiceWorkerFetchTaskClient::BlobLoader&gt;</short_desc>
          <delta_ts>2017-12-20 17:41:08 -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>Service Workers</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1383858</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-20 15:33:05 -0800</bug_when>
    <thetext>==79588==ERROR: AddressSanitizer: heap-use-after-free on address 0x60700015ad90 at pc 0x00010b45eb67 bp 0x7ffee743cb50 sp 0x7ffee743cb48
WRITE of size 1 at 0x60700015ad90 thread T0
==79588==WARNING: invalid path to external symbolizer!
==79588==WARNING: Failed to use and restart external symbolizer!
#0 0x10b45eb66 in std::optional&lt;WebKit::WebServiceWorkerFetchTaskClient::BlobLoader&gt;::clear() (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebKit.framework/Versions/A/WebKit:x86_64+0xcf0b66)
#1 0x10b45d0ed in std::optional&lt;WebKit::WebServiceWorkerFetchTaskClient::BlobLoader&gt;::operator=(std::nullopt_t) (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebKit.framework/Versions/A/WebKit:x86_64+0xcef0ed)
#2 0x11cc2b119 in WebCore::DocumentThreadableLoader::didFinishLoading(unsigned long) (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebCore.framework/Versions/A/WebCore:x86_64+0x28f6119)
#3 0x11cd42967 in WebCore::CachedResource::checkNotify() (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebCore.framework/Versions/A/WebCore:x86_64+0x2a0d967)
#4 0x11cd3f6ba in WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebCore.framework/Versions/A/WebCore:x86_64+0x2a0a6ba)
#5 0x11ccddc2e in WebCore::SubresourceLoader::didFinishLoading(WebCore::NetworkLoadMetrics const&amp;) (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebCore.framework/Versions/A/WebCore:x86_64+0x29a8c2e)
#6 0x10b42382b in WebKit::WebResourceLoader::didFinishResourceLoad(WebCore::NetworkLoadMetrics const&amp;) (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebKit.framework/Versions/A/WebKit:x86_64+0xcb582b)
#7 0x10b426b8e in void IPC::handleMessage&lt;Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;)) (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebKit.framework/Versions/A/WebKit:x86_64+0xcb8b8e)
#8 0x10b42607f in WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::Decoder&amp;) (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebKit.framework/Versions/A/WebKit:x86_64+0xcb807f)
#9 0x10aaf07c0 in WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebKit.framework/Versions/A/WebKit:x86_64+0x3827c0)
#10 0x10a8a496e in IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebKit.framework/Versions/A/WebKit:x86_64+0x13696e)
#11 0x10a8ae486 in IPC::Connection::dispatchOneMessage() (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/WebKit.framework/Versions/A/WebKit:x86_64+0x140486)
#12 0x12b2321a7 in WTF::RunLoop::performWork() (/Volumes/Data/slave/high-sierra-asan-release-wk2-tests/build/buildToTest/JavaScriptCore.framework/Versions/A/JavaScrip&lt;br&gt; (Truncated recent description)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383868</commentid>
    <comment_count>1</comment_count>
      <attachid>329960</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-20 15:52:21 -0800</bug_when>
    <thetext>Created attachment 329960
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383891</commentid>
    <comment_count>2</comment_count>
      <attachid>329960</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-12-20 16:40:47 -0800</bug_when>
    <thetext>Comment on attachment 329960
Patch

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

&gt; Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:117
&gt; -    m_blobLoader = std::nullopt;
&gt; +    auto toDelete = WTFMove(m_blobLoader);

I think it would be better to just do std::exchange(m_blobLoader, std::nullopt).  Then we wouldn&apos;t need to give anything a strange unused name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383895</commentid>
    <comment_count>3</comment_count>
      <attachid>329966</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-20 16:50:25 -0800</bug_when>
    <thetext>Created attachment 329966
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383934</commentid>
    <comment_count>4</comment_count>
      <attachid>329966</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-20 17:39:12 -0800</bug_when>
    <thetext>Comment on attachment 329966
Patch for landing

Clearing flags on attachment: 329966

Committed r226206: &lt;https://trac.webkit.org/changeset/226206&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383935</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-20 17:39:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383938</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-20 17:41:08 -0800</bug_when>
    <thetext>&lt;rdar://problem/36168892&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329960</attachid>
            <date>2017-12-20 15:52:21 -0800</date>
            <delta_ts>2017-12-20 16:50:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181061-20171220155221.patch</filename>
            <type>text/plain</type>
            <size>1454</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ4ZmZmZDU2ZTU3Y2VhMzZl
MWQxNDAwNDY5MTYyYmRkM2ZmZWQ3NzcuLmU1NDU3YmZkMTUyOGRiNzc5Njg5MTlmMjFjMjAxMzA1
NjNkMzU3YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMTItMjAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIHdoZW4gY2xlYXJpbmcg
c3RkOjpvcHRpb25hbDxXZWJLaXQ6OldlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6OkJs
b2JMb2FkZXI+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODEwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudDo6ZGlk
RmluaXNoQmxvYkxvYWRpbmcpOiBtb3ZpbmcgdGhlIG9iamVjdCB0byBub3QgZGVzdHJveSAndGhp
cycgdG9vIHNvb24uCisKIDIwMTctMTItMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFN1cHBvcnQgc2VydmljZSB3b3JrZXIgaW50ZXJjZXB0aW9uIG9mIHJl
cXVlc3Qgd2l0aCBibG9iIGJvZHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5j
cHAKaW5kZXggYmIyMzQ3YTU0NDYxZGM0NDI2N2ZmMmU2ZDgzMjcyNzExMzc2YWRmYS4uZmE1MDMy
ZjUyMzZlMmVlZmM0NDRlYzU1YmQ3Yjg0ZjY1MmFlOTQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtl
ckZldGNoVGFza0NsaWVudC5jcHAKQEAgLTExNCw3ICsxMTQsNyBAQCB2b2lkIFdlYlNlcnZpY2VX
b3JrZXJGZXRjaFRhc2tDbGllbnQ6OmRpZEZpbmlzaEJsb2JMb2FkaW5nKCkKIHsKICAgICBkaWRG
aW5pc2goKTsKIAotICAgIG1fYmxvYkxvYWRlciA9IHN0ZDo6bnVsbG9wdDsKKyAgICBhdXRvIHRv
RGVsZXRlID0gV1RGTW92ZShtX2Jsb2JMb2FkZXIpOwogfQogCiB2b2lkIFdlYlNlcnZpY2VXb3Jr
ZXJGZXRjaFRhc2tDbGllbnQ6OmRpZEZhaWwoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329966</attachid>
            <date>2017-12-20 16:50:25 -0800</date>
            <delta_ts>2017-12-20 17:39:12 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-181061-20171220165024.patch</filename>
            <type>text/plain</type>
            <size>1460</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ4ZmZmZDU2ZTU3Y2VhMzZl
MWQxNDAwNDY5MTYyYmRkM2ZmZWQ3NzcuLmExZTcyYTk3ZWU2NGYxMTI0ZWUyYzA3ZjExZDQyYTI1
ZjBlNDI5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMTItMjAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIHdoZW4gY2xlYXJpbmcg
c3RkOjpvcHRpb25hbDxXZWJLaXQ6OldlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6OkJs
b2JMb2FkZXI+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODEwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50Ojpk
aWRGaW5pc2hCbG9iTG9hZGluZyk6IG1vdmluZyB0aGUgb2JqZWN0IHRvIG5vdCBkZXN0cm95ICd0
aGlzJyB0b28gc29vbi4KKwogMjAxNy0xMi0yMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBzZXJ2aWNlIHdvcmtlciBpbnRlcmNlcHRpb24gb2Yg
cmVxdWVzdCB3aXRoIGJsb2IgYm9keQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50
LmNwcAppbmRleCBiYjIzNDdhNTQ0NjFkYzQ0MjY3ZmYyZTZkODMyNzI3MTEzNzZhZGZhLi5mYTI0
M2M0NTQ4MTc4OTk2OTdiZjA0YTMzODJmMzQwZmFjMzY3N2NlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29y
a2VyRmV0Y2hUYXNrQ2xpZW50LmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgV2ViU2Vydmlj
ZVdvcmtlckZldGNoVGFza0NsaWVudDo6ZGlkRmluaXNoQmxvYkxvYWRpbmcoKQogewogICAgIGRp
ZEZpbmlzaCgpOwogCi0gICAgbV9ibG9iTG9hZGVyID0gc3RkOjpudWxsb3B0OworICAgIHN0ZDo6
ZXhjaGFuZ2UobV9ibG9iTG9hZGVyLCBzdGQ6Om51bGxvcHQpOwogfQogCiB2b2lkIFdlYlNlcnZp
Y2VXb3JrZXJGZXRjaFRhc2tDbGllbnQ6OmRpZEZhaWwoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>