Bug 200534 - [GTK] Several tests crashing after r247898 "Reorganize UIScriptController into platform-specific subclasses"
Summary: [GTK] Several tests crashing after r247898 "Reorganize UIScriptController int...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-08 06:16 PDT by Miguel Gomez
Modified: 2019-12-13 02:54 PST (History)
3 users (show)

See Also:


Attachments
Patch (11.13 KB, patch)
2019-12-12 07:04 PST, Carlos Garcia Campos
alex: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Miguel Gomez 2019-08-08 06:16:40 PDT
compositing/backing/backing-store-attachment-scroll.html [ Crash ]
compositing/iframes/remove-reinsert-webview-with-iframe.html [ Crash ]
compositing/tiling/tile-coverage-on-scroll.html [ Crash ]
compositing/tiling/tiled-mask-inwindow.html [ Crash ]
compositing/tiling/tiled-reflection-inwindow.html [ Crash ]
editing/input/delete-text-in-composition.html [ Crash ]
editing/secure-input/password-input-changed-type.html [ Crash ]
editing/secure-input/password-input-focusing.html [ Crash ]
editing/secure-input/removed-password-input.html [ Crash ]
editing/secure-input/reset-state-on-navigation.html [ Crash ]
fast/events/autoscroll-when-input-is-offscreen.html [ Crash ]
fast/events/autoscroll-with-software-keyboard.html [ Crash ]
fast/media/mq-prefers-reduced-motion-matchMedia.html [ Crash ]
fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html [ Crash ]
fast/visual-viewport/client-rects-relative-to-layout-viewport.html [ Crash ]
http/tests/inspector/network/ping-type.html [ Crash ]
http/tests/navigation/ping-attribute/anchor-cookie.html [ Crash ]
http/tests/navigation/ping-attribute/anchor-cross-origin-from-https.html [ Crash ]
http/tests/navigation/ping-attribute/anchor-cross-origin.html [ Crash ]
http/tests/navigation/ping-attribute/anchor-ping-and-follow-redirect-when-sending-ping.html [ Crash ]
http/tests/navigation/ping-attribute/area-cookie.html [ Crash ]
http/tests/navigation/ping-attribute/area-cross-origin-from-https.html [ Crash ]
http/tests/navigation/ping-attribute/area-cross-origin.html [ Crash ]
http/tests/navigation/ping-attribute/area-same-origin.html [ Crash ]
pageoverlay/overlay-remove-reinsert-view.html [ Crash ]

All of these tests are crashing in calls to ScriptController, with a backtrace similar to this (see all of the backtraces at https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r248403%20(11158)/results.html)

#0  0x00007f7f8f135dde in WTFCrash () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#1  0x000055641999bab9 in _ZN3WTR18UIScriptController11doAsyncTaskEPK13OpaqueJSValue ()
#2  0x000055641999ebd5 in _ZN3WTR20JSUIScriptController25doAfterPresentationUpdateEPK15OpaqueJSContextP13OpaqueJSValueS5_mPKPKS4_PS7_ ()
#3  0x00007f7f8e4d7c20 in _ZN3JSC19APICallbackFunction4callINS_18JSCallbackFunctionEEElPNS_9ExecStateE () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#4  0x00007f7ee7fff027 in ?? ()
#5  0x00007ffffc19acd0 in ?? ()
#6  0x00007f7f8ec6f761 in llint_op_call () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#7  0x0000000000000000 in ?? ()
Comment 1 Miguel Gomez 2019-08-08 06:20:06 PDT
Reading the description of the changelog, the crash may mean that we are missing some functionality that is not implemented in the subclasses, but JSC is not my field.
Comment 2 Tim Horton 2019-08-08 09:03:03 PDT
(In reply to Miguel Gomez from comment #1)
> Reading the description of the changelog, the crash may mean that we are
> missing some functionality that is not implemented in the subclasses, but
> JSC is not my field.

Yes, 100%. Probably there are a few low effort things to implement that get you 90% and the rest you should just skip. If you have backtraces for all the crashes I can help figure which are which.
Comment 3 Tim Horton 2019-08-08 09:04:12 PDT
“doAsyncTask” is one low effort one for example, and that’s your example BT. See the Mac implementation for example.
Comment 4 Miguel Gomez 2019-10-11 01:43:05 PDT
We have this one crashing on the WPE bot as well

fast/events/focus-anchor-with-tabindex-hang.html
Comment 5 Miguel Gomez 2019-12-11 05:02:43 PST
Another test failing because of the missing doAsyncTask method:
editing/pasteboard/paste-and-sanitize.html [ Crash ]
Comment 6 Miguel Gomez 2019-12-11 05:17:29 PST
Two more

fast/forms/contenteditable-font-optical-size.html [ Crash ]
legacy-animation-engine/compositing/transitions/add-remove-transition.html [ Crash ]
Comment 7 Miguel Gomez 2019-12-11 05:26:31 PST
There are several bugs that handle tests crashing because we lack an implementation for some UIScriptController. This one mentions doAsyncTask, but there are also copyText (bug 204112) and setContinuousSpellCheckingEnabled (bug 205109).

As there are even more methods failing, I'm going to move all the bugs to this one, to keep track of the whole issue:

From bug 204112 we lack copyText, and these tests crash:
editing/async-clipboard/clipboard-change-data-while-getting-type.html
editing/async-clipboard/clipboard-change-data-while-reading.html
editing/async-clipboard/clipboard-get-type-with-old-items.html

from bug 205109 we lack setContinuousSpellCheckingEnabled, and this test crashes:
editing/spelling/toggle-spellchecking.html
Comment 8 Miguel Gomez 2019-12-11 05:37:00 PST
This one fails because we lack activateDataListSuggestion
fast/forms/datalist/datalist-click-crash.html [ Crash ]

This one because we lack simulateAccessibilitySettingsChangeNotification
fast/media/mq-inverted-colors.html [ Crash ]

This one crashes because we lack removeViewFromWindow
media/no-fullscreen-when-hidden.html [ Crash ]
Comment 9 Carlos Garcia Campos 2019-12-12 06:54:48 PST
Making this GTK only for now, because WPE doesn't even have a UIScriptController impl yet. I'll submit a new bug to add UIScriptController for WPE.
Comment 10 Carlos Garcia Campos 2019-12-12 07:04:04 PST
Created attachment 385492 [details]
Patch
Comment 11 Alejandro G. Castro 2019-12-13 02:47:53 PST
Comment on attachment 385492 [details]
Patch

Great stuff! LGTM. Let's add the same to WPE later.
Comment 12 Carlos Garcia Campos 2019-12-13 02:54:41 PST
Committed r253467: <https://trac.webkit.org/changeset/253467>