Bug 229062

Summary: [GTK][WPE] fast/forms/caps-lock-indicator-width.html crashes because toggleCapsLock() is not implemented on WTR
Product: WebKit Reporter: Carlos Alberto Lopez Perez <clopez>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: akeerthi, bugs-noreply
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=228970

Description Carlos Alberto Lopez Perez 2021-08-12 17:49:47 PDT
The test fast/forms/caps-lock-indicator-width.html crashes on platforms GTK and WPE since it was added on r280927

The crash log is the following:


Thread 1 (Thread 0x7f6c84d67a00 (LWP 44535)):
#0  WTFCrash() () at ../../Source/WTF/wtf/Assertions.cpp:321
#1  0x000055bd3a3591ce in CRASH_WITH_INFO(...) () at WTF/Headers/wtf/Assertions.h:750
#2  0x000055bd3a3b1ecf in WTR::UIScriptController::notImplemented() const (this=0x7f6c606673d8) at ../../Tools/TestRunnerShared/UIScriptContext/UIScriptController.h:65
#3  0x000055bd3a3b2704 in WTR::UIScriptController::toggleCapsLock(OpaqueJSValue const*) (this=0x7f6c606673d8) at ../../Tools/TestRunnerShared/UIScriptContext/UIScriptController.h:170
#4  0x000055bd3a3dc47e in WTR::JSUIScriptController::toggleCapsLock(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) (context=0x7f6c602ef168, thisObject=0x7f6c246dca88, argumentCount=1, arguments=0x7ffce2a6d5d0, exception=0x7ffce2a6d530) at TestRunnerShared/DerivedSources/JSUIScriptController.cpp:603
#5  0x00007f6c8aa7090f in JSC::APICallbackFunction::callImpl<JSC::JSCallbackFunction>(JSC::JSGlobalObject*, JSC::CallFrame*) (globalObject=0x7f6c602ef168, callFrame=0x7ffce2a6d6a0) at ../../Source/JavaScriptCore/API/APICallbackFunction.h:61
#6  0x00007f6c8aa6c6d5 in JSC::callJSCallbackFunction(JSC::JSGlobalObject*, JSC::CallFrame*) (globalObject=0x7f6c602ef168, callFrame=0x7ffce2a6d6a0) at ../../Source/JavaScriptCore/API/JSCallbackFunction.cpp:42
#7  0x00007f6b97fff027 in  ()
#8  0x00007ffce2a6d720 in  ()
#9  0x00007f6c8a932349 in llint_op_call () at /app/webkit/Source/JavaScriptCore/llint/LowLevelInterpreter.asm:1097
#10 0x0000000000000000 in  ()

STDERR: 
STDERR: warning: the debug information found in "/usr/lib/debug//usr/lib/x86_64-linux-gnu/libicudata.so.67.1.debug" does not match "/usr/lib/x86_64-linux-gnu/libicudata.so.67" (CRC mismatch).
STDERR: 
STDERR: 
STDERR: warning: the debug information found in "/usr/lib/debug//usr/lib/x86_64-linux-gnu/libicudata.so.67.1.debug" does not match "/usr/lib/x86_64-linux-gnu/libicudata.so.67" (CRC mismatch).
STDERR: 
STDERR: 
STDERR: warning: the debug information found in "/usr/lib/debug//usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0.debug" does not match "/usr/lib/x86_64-linux-gnu/libX11-xcb.so.1" (CRC mismatch).
STDERR: 
STDERR: 
STDERR: warning: the debug information found in "/usr/lib/debug//usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0.debug" does not match "/usr/lib/x86_64-linux-gnu/libX11-xcb.so.1" (CRC mismatch).
STDERR: 
STDERR: SHOULD NEVER BE REACHED
STDERR: ../../Tools/TestRunnerShared/UIScriptContext/UIScriptController.h(65) : void WTR::UIScriptController::notImplemented() const
STDERR: 1   0x7f6c8c5006dc WTFCrash
STDERR: 2   0x55bd3a3591ce /app/webkit/WebKitBuild/Debug/bin/WebKitTestRunner(+0xf41ce) [0x55bd3a3591ce]
STDERR: 3   0x55bd3a3b1ecf /app/webkit/WebKitBuild/Debug/bin/WebKitTestRunner(+0x14cecf) [0x55bd3a3b1ecf]
STDERR: 4   0x55bd3a3b2704 /app/webkit/WebKitBuild/Debug/bin/WebKitTestRunner(+0x14d704) [0x55bd3a3b2704]
STDERR: 5   0x55bd3a3dc47e /app/webkit/WebKitBuild/Debug/bin/WebKitTestRunner(+0x17747e) [0x55bd3a3dc47e]
STDERR: 6   0x7f6c8aa7090f /app/webkit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.1.so.0(+0x3e390f) [0x7f6c8aa7090f]
STDERR: 7   0x7f6c8aa6c6d5 /app/webkit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.1.so.0(+0x3df6d5) [0x7f6c8aa6c6d5]
STDERR: 8   0x7f6b97fff027 [0x7f6b97fff027]


The test ends calling toggleCapsLock() on WTR, which is not implemented for GTK and WPE.

So it ends calling notImplemented() on UIScriptController.h which triggers a release assert:

void notImplemented() const { RELEASE_ASSERT_NOT_REACHED(); }
Comment 1 Carlos Alberto Lopez Perez 2021-08-12 18:28:37 PDT
Expectations updated on r281002