Bug 193680

Summary: Regression(r240178) Some API tests are crashing
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: WebKit2Assignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, beidson, commit-queue, ews-watchlist, ggaren, rniwa, ryanhaddad, tsavell, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 193588    
Attachments:
Description Flags
Patch
none
Archive of layout-test-results from ews106 for mac-highsierra-wk2
none
Archive of layout-test-results from ews123 for ios-simulator-wk2
none
Patch
none
Archive of layout-test-results from ews106 for mac-highsierra-wk2 none

Description Chris Dumez 2019-01-22 13:18:51 PST
Some API tests are crashing since r240178:
https://build.webkit.org/builders/Apple%20High%20Sierra%20Debug%20WK2%20%28Tests%29/builds/6280/steps/run-api-tests/logs/stdio

ASSERTION FAILED: !handler
        /Volumes/Data/slave/highsierra-debug/build/Source/WebCore/page/UserMessageHandlersNamespace.cpp(92) : auto WebCore::UserMessageHandlersNamespace::namedItem(WebCore::DOMWrapperWorld &, const WTF::AtomicString &)::(anonymous class)::operator()(const WebCore::UserMessageHandlerDescriptor &) const
        1   0x1ef6d8df9 WTFCrash
        2   0x1ddc206bb WTFCrashWithInfo(int, char const*, char const*, int)
        3   0x1e1979e8d WebCore::UserMessageHandlersNamespace::namedItem(WebCore::DOMWrapperWorld&, WTF::AtomicString const&)::$_1::operator()(WebCore::UserMessageHandlerDescriptor const&) const
        4   0x1e1979d84 WTF::Function<void (WebCore::UserMessageHandlerDescriptor const&)>::CallableWrapper<WebCore::UserMessageHandlersNamespace::namedItem(WebCore::DOMWrapperWorld&, WTF::AtomicString const&)::$_1>::call(WebCore::UserMessageHandlerDescriptor const&)
        5   0x1d8f29f20 WTF::Function<void (WebCore::UserMessageHandlerDescriptor const&)>::operator()(WebCore::UserMessageHandlerDescriptor const&) const
        6   0x1d8f29bfb WebKit::WebUserContentController::forEachUserMessageHandler(WTF::Function<void (WebCore::UserMessageHandlerDescriptor const&)>&&) const
        7   0x1e197527d WebCore::UserMessageHandlersNamespace::namedItem(WebCore::DOMWrapperWorld&, WTF::AtomicString const&)
        8   0x1dee888b5 WTF::Optional<WTF::RefPtr<WebCore::UserMessageHandler, WTF::DumbPtrTraits<WebCore::UserMessageHandler> > > WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&)::$_0::operator()<WebCore::JSUserMessageHandlersNamespace, JSC::PropertyName>(WebCore::JSUserMessageHandlersNamespace&, JSC::PropertyName) const
        9   0x1dee79f23 decltype(fp2(fp0fp1)) WebCore::accessVisibleNamedProperty<(WebCore::OverrideBuiltins)0, WebCore::JSUserMessageHandlersNamespace, WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&)::$_0&>(JSC::ExecState&, WebCore::JSUserMessageHandlersNamespace&, JSC::PropertyName, WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&)::$_0&&&)
        10  0x1dee7905c WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&)
        11  0x1efc14d89 JSC::JSObject::getNonIndexPropertySlot(JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&)
        12  0x1efc143a6 bool JSC::JSObject::getPropertySlot<false>(JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&)
        13  0x1f04da6fe JSC::JSValue::getPropertySlot(JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&) const
        14  0x1f04bf968 JSC::JSValue::get(JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&) const
        15  0x1f09300ce llint_slow_path_get_by_id
        16  0x1efbd3004 llint_entry
        17  0x1efbcb959 vmEntryToJavaScript
Comment 1 Chris Dumez 2019-01-22 13:25:29 PST
Created attachment 359769 [details]
Patch
Comment 2 EWS Watchlist 2019-01-22 13:27:18 PST
Attachment 359769 [details] did not pass style-queue:


ERROR: Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp:321:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Alex Christensen 2019-01-22 13:33:58 PST
Comment on attachment 359769 [details]
Patch

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

> Source/WebKit/WebProcess/UserContent/WebUserContentController.h:125
> +    typedef HashMap<RefPtr<InjectedBundleScriptWorld>, Vector<std::pair<uint64_t, RefPtr<WebUserMessageHandlerDescriptorProxy>>>> WorldToUserMessageHandlerVectorMap;

I think it would be nice to give this pair's first and second members better names and name uint64_t.
Comment 4 Chris Dumez 2019-01-22 13:35:41 PST
Comment on attachment 359769 [details]
Patch

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

>> Source/WebKit/WebProcess/UserContent/WebUserContentController.h:125
>> +    typedef HashMap<RefPtr<InjectedBundleScriptWorld>, Vector<std::pair<uint64_t, RefPtr<WebUserMessageHandlerDescriptorProxy>>>> WorldToUserMessageHandlerVectorMap;
> 
> I think it would be nice to give this pair's first and second members better names and name uint64_t.

This is the pattern in this file. I don't mind cleaning things up but I'd rather do it in a follow-up to keep the patch as small as possible for cherry-picking. WDYT?
Comment 5 Chris Dumez 2019-01-22 14:10:37 PST
Failures look legit, I'll investigate.
Comment 6 EWS Watchlist 2019-01-22 14:42:04 PST
Comment on attachment 359769 [details]
Patch

Attachment 359769 [details] did not pass mac-wk2-ews (mac-wk2):
Output: https://webkit-queues.webkit.org/results/10844579

New failing tests:
userscripts/user-script-audio-document.html
userscripts/user-script-image-document.html
userscripts/user-script-video-document.html
fast/media/use-system-appearance-user-stylesheet-parsing.html
userscripts/user-script-plugin-document.html
Comment 7 EWS Watchlist 2019-01-22 14:42:13 PST
Created attachment 359776 [details]
Archive of layout-test-results from ews106 for mac-highsierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-highsierra-wk2  Platform: Mac OS X 10.13.6
Comment 8 EWS Watchlist 2019-01-22 15:07:36 PST
Comment on attachment 359769 [details]
Patch

Attachment 359769 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: https://webkit-queues.webkit.org/results/10844534

New failing tests:
userscripts/user-script-audio-document.html
userscripts/user-script-image-document.html
userscripts/user-script-video-document.html
fast/media/use-system-appearance-user-stylesheet-parsing.html
Comment 9 EWS Watchlist 2019-01-22 15:07:46 PST
Created attachment 359782 [details]
Archive of layout-test-results from ews123 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews123  Port: ios-simulator-wk2  Platform: Mac OS X 10.13.6
Comment 10 Chris Dumez 2019-01-22 15:52:37 PST
Created attachment 359793 [details]
Patch
Comment 11 EWS Watchlist 2019-01-22 15:55:51 PST
Attachment 359793 [details] did not pass style-queue:


ERROR: Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp:321:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp:388:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp:437:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 3 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 12 EWS Watchlist 2019-01-22 17:22:03 PST
Comment on attachment 359793 [details]
Patch

Attachment 359793 [details] did not pass mac-wk2-ews (mac-wk2):
Output: https://webkit-queues.webkit.org/results/10847721

New failing tests:
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-constructor.html
Comment 13 EWS Watchlist 2019-01-22 17:22:05 PST
Created attachment 359818 [details]
Archive of layout-test-results from ews106 for mac-highsierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-highsierra-wk2  Platform: Mac OS X 10.13.6
Comment 14 Chris Dumez 2019-01-22 21:30:16 PST
Comment on attachment 359793 [details]
Patch

Clearing flags on attachment: 359793

Committed r240325: <https://trac.webkit.org/changeset/240325>
Comment 15 Chris Dumez 2019-01-22 21:30:20 PST
All reviewed patches have been landed.  Closing bug.
Comment 16 Radar WebKit Bug Importer 2019-01-22 21:31:43 PST
<rdar://problem/47471015>