Thread safety issue in IDBFactory' shouldThrowSecurityException(). It is getting called on a non-main thread but uses the SchemeRegistry: ASSERTION FAILED: isMainThread() ./platform/SchemeRegistry.cpp(118) : URLSchemesMap &WebCore::localURLSchemes() 1 0x25072c88d WTFCrash 2 0x24355e1ca WebCore::localURLSchemes() 3 0x24355e420 WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal(WTF::String const&) 4 0x2434597e9 WebCore::SecurityOrigin::isLocal() const 5 0x24345ace2 WebCore::SecurityOrigin::canAccessStorage(WebCore::SecurityOrigin const*, WebCore::SecurityOrigin::ShouldAllowFromThirdParty) const 6 0x24209e0f2 WebCore::SecurityOrigin::canAccessDatabase(WebCore::SecurityOrigin const&) const 7 0x242092e9d WebCore::shouldThrowSecurityException(WebCore::ScriptExecutionContext&) 8 0x242093022 WebCore::IDBFactory::deleteDatabase(WebCore::ScriptExecutionContext&, WTF::String const&) 9 0x24168d8a2 WebCore::jsIDBFactoryPrototypeFunctionDeleteDatabaseBody(JSC::ExecState*, WebCore::JSIDBFactory*, JSC::ThrowScope&)
Created attachment 336635 [details] Patch
Comment on attachment 336635 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=336635&action=review > Source/WebCore/ChangeLog:14 > + methods are often called from background threads, this match make SecurityOrigin::isLocal() You mean "this match" -> "this patch"?
Created attachment 336701 [details] Patch
Comment on attachment 336701 [details] Patch Clearing flags on attachment: 336701 Committed r230044: <https://trac.webkit.org/changeset/230044>
All reviewed patches have been landed. Closing bug.
<rdar://problem/38969800>