<?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>182927</bug_id>
          
          <creation_ts>2018-02-19 10:19:21 -0800</creation_ts>
          <short_desc>Crash under MIMETypeRegistry::isSupportedJavaScriptMIMEType()</short_desc>
          <delta_ts>2018-02-19 16:21:00 -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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1400393</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-19 10:19:21 -0800</bug_when>
    <thetext>Crash under MIMETypeRegistry::isSupportedJavaScriptMIMEType():
Thread 6 Crashed:: WebCore: Worker
0   com.apple.WebCore             	0x00007fff565cbfc0 unsigned int WTF::StringHasher::computeHashAndMaskTop8Bits&lt;unsigned short, WTF::ASCIICaseInsensitiveHash::FoldCase&lt;unsigned short&gt; &gt;(unsigned short const*, unsigned int) + 32
1   com.apple.WebCore             	0x00007fff5662929e WTF::String* WTF::HashTable&lt;WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WTF::String&gt; &gt;::lookup&lt;WTF::IdentityHashTranslator&lt;WTF::HashTraits&lt;WTF::String&gt;, WTF::ASCIICaseInsensitiveHash&gt;, WTF::String&gt;(WTF::String const&amp;) + 46
2   com.apple.WebCore             	0x00007fff564409cd WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType(WTF::String const&amp;) + 61
3   com.apple.WebCore             	0x00007fff577f6bc6 WebCore::ServiceWorkerJob::didReceiveResponse(unsigned long, WebCore::ResourceResponse const&amp;) + 134
4   com.apple.WebCore             	0x00007fff577e508b WebCore::WorkerScriptLoader::didReceiveResponse(unsigned long, WebCore::ResourceResponse const&amp;) + 539
5   com.apple.WebCore             	0x00007fff57302480 WTF::Function&lt;void (WebCore::ScriptExecutionContext&amp;)&gt;::CallableWrapper&lt;WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse(unsigned long, WebCore::ResourceResponse const&amp;)::$_9&gt;::call(WebCore::ScriptExecutionContext&amp;) + 80
6   com.apple.WebCore             	0x00007fff577e3cf0 WebCore::WorkerRunLoop::runInMode(WebCore::WorkerGlobalScope*, WebCore::ModePredicate const&amp;, WebCore::WorkerRunLoop::WaitMode) + 416
7   com.apple.WebCore             	0x00007fff577e3af0 WebCore::WorkerRunLoop::run(WebCore::WorkerGlobalScope*) + 96
8   com.apple.WebCore             	0x00007fff577e6096 WebCore::WorkerThread::workerThread() + 1030
9   com.apple.JavaScriptCore      	0x00007fff4c99eeb4 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 228
10  com.apple.JavaScriptCore      	0x00007fff4bdb49c9 WTF::wtfThreadEntryPoint(void*) + 9
11  libsystem_pthread.dylib       	0x00007fff714f36c1 _pthread_body + 340
12  libsystem_pthread.dylib       	0x00007fff714f356d _pthread_start + 377
13  libsystem_pthread.dylib       	0x00007fff714f2c5d thread_start + 13</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400395</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-19 10:19:58 -0800</bug_when>
    <thetext>&lt;rdar://problem/37675748&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400495</commentid>
    <comment_count>2</comment_count>
      <attachid>334185</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-19 14:04:34 -0800</bug_when>
    <thetext>Created attachment 334185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400496</commentid>
    <comment_count>3</comment_count>
      <attachid>334185</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-02-19 14:09:45 -0800</bug_when>
    <thetext>Comment on attachment 334185
Patch

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

&gt; Source/WebCore/platform/MIMETypeRegistry.cpp:502
&gt; +    if (!isMainThread()) {
&gt; +        bool isSupported = false;
&gt; +        callOnMainThreadAndWait([&amp;isSupported, mimeType = mimeType.isolatedCopy()] {
&gt; +            isSupported = isSupportedJavaScriptMIMEType(mimeType);
&gt; +        });
&gt; +        return isSupported;
&gt; +    }

It would be nice to make MIMETypeRegistry thread safe in a way that does not involve blocking on main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400546</commentid>
    <comment_count>4</comment_count>
      <attachid>334185</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-19 16:20:58 -0800</bug_when>
    <thetext>Comment on attachment 334185
Patch

Clearing flags on attachment: 334185

Committed r228716: &lt;https://trac.webkit.org/changeset/228716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400547</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-19 16:21:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334185</attachid>
            <date>2018-02-19 14:04:34 -0800</date>
            <delta_ts>2018-02-19 16:20:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182927-20180219140433.patch</filename>
            <type>text/plain</type>
            <size>2152</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmY3NDE5ZDgyMDNmOGNm
M2M2Y2VmMTRhODcwNzZlNjYwZjlkODViZi4uZTBlYTFlM2RiZGRjOWNjMmE0NDY2N2Y5Yjk4N2Iy
NmYyZDI5NTY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTAyLTE5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggdW5kZXIgTUlNRVR5
cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyOTI3CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8zNzY3NTc0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWtlIGl0IHNhZmUgdG8gY2FsbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1
cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZSgpIGZyb20gdGhlIG5vbi1tYWluIHRocmVhZC4KKyAg
ICAgICAgSXQgaXMgY3VycmVudGx5IGJlaW5nIGNhbGxlZCBmcm9tIGEgYmFja2dyb3VuZCB0aHJl
YWQgaW4gdGhlIGZvbGxvd2luZyBwbGFjZXM6CisgICAgICAgIC0gU2VydmljZVdvcmtlckpvYjo6
ZGlkUmVjZWl2ZVJlc3BvbnNlKCkKKyAgICAgICAgLSBXb3JrZXJHbG9iYWxTY29wZTo6aW1wb3J0
U2NyaXB0cygpCisKKyAgICAgICAgVGhlc2UgY2FsbCBzaXRlcyBvbiBub24tbWFpbiB0aHJlYWRz
IHdlcmUgYWRkZWQgcmVjZW50bHkgd2l0aCB0aGUgc3VwcG9ydCBmb3Igc2VydmljZSB3b3JrZXJz
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYWxyZWFkeSBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRl
c3RzIHRoYXQgZmxha2lseSBleHBlcmllbmNlIHNlcnZpY2Ugd29ya2VyCisgICAgICAgIHByb2Nl
c3MgY3Jhc2hlcy4KKworICAgICAgICAqIHBsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0
TUlNRVR5cGUpOgorCiAyMDE4LTAyLTE5ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgogCiAgICAgICAgIFtFTUVdIEFkZCBtZWNoYW5pc20gZm9yIE1lZGlhS2V5U2Vzc2lvbiB0byBy
ZWFjdCB0byBIRENQIGNoYW5nZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L01JTUVUeXBlUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVS
ZWdpc3RyeS5jcHAKaW5kZXggYmU1YmZjZDlmMGE5YjY1NWRkMThjM2FlZTQxMTNjN2M3MjQ1M2Jm
Ny4uM2FhNTMwNzQzOGJkMGU3MDg5ZWE0NmUxZmNiZjVjZDAyZTRhNGI4YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKQEAgLTQ5Miw2ICs0OTIsMTUg
QEAgYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIGlmIChtaW1lVHlwZS5pc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghaXNNYWluVGhyZWFkKCkpIHsKKyAgICAg
ICAgYm9vbCBpc1N1cHBvcnRlZCA9IGZhbHNlOworICAgICAgICBjYWxsT25NYWluVGhyZWFkQW5k
V2FpdChbJmlzU3VwcG9ydGVkLCBtaW1lVHlwZSA9IG1pbWVUeXBlLmlzb2xhdGVkQ29weSgpXSB7
CisgICAgICAgICAgICBpc1N1cHBvcnRlZCA9IGlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBl
KG1pbWVUeXBlKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiBpc1N1cHBvcnRlZDsKKyAg
ICB9CisKICAgICBpZiAoIXN1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZXMpCiAgICAgICAgIGlu
aXRpYWxpemVTdXBwb3J0ZWROb25JbWFnZU1pbWVUeXBlcygpOwogICAgIHJldHVybiBzdXBwb3J0
ZWRKYXZhU2NyaXB0TUlNRVR5cGVzLT5jb250YWlucyhtaW1lVHlwZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>