Bug 304548

Summary: [WebDriver][BiDi] script test_exception_details are asserting on the callback result
Product: WebKit Reporter: Lauro Moura <lmoura>
Component: WebDriverAssignee: Lauro Moura <lmoura>
Status: NEW    
Severity: Normal CC: bburg
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 281932    

Lauro Moura
Reported 2025-12-20 07:35:47 PST
imported/w3c/webdriver/tests/bidi/script/evaluate/exception_details_await_promise.py Test cases: test_exception_details_await_promise[undefined-expected0] test_exception_details_await_promise[null-expected1] test_exception_details_await_promise[NaN-expected4] test_exception_details_await_promise[-0-expected5] test_exception_details_await_promise[Infinity-expected6] test_exception_details_await_promise[-Infinity-expected7] test_exception_details_await_promise[3-expected8] test_exception_details_await_promise[1.4-expected9] test_exception_details_await_promise[true-expected10] test_exception_details_await_promise[false-expected11] test_exception_details_await_promise[42n-expected12] test_exception_details_await_promise[(Symbol('foo'))-expected13] Assertion: webkitpy.webdriver_tests.webdriver_w3c_executor: [DEBUG] (WPEWebDriver:971273): ASSERTION FAILED: JSValueIsObject(context, arguments[2]) || JSValueIsString(context, arguments[2]) webkitpy.webdriver_tests.webdriver_w3c_executor: [DEBUG] (WPEWebDriver:971273): ../../../Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp(219) : const OpaqueJSValue* WebKit::evaluateJavaScriptCallback(JSContextRef, JSObjectRef, JSObjectRef, size_t, const OpaqueJSValue* const*, const OpaqueJSValu e**) webkitpy.webdriver_tests.webdriver_w3c_executor: [DEBUG] (WPEWebDriver:971273): 1 0x797ab8788914 WebKit::evaluateJavaScriptCallback(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) webkitpy.webdriver_tests.webdriver_w3c_executor: [DEBUG] (WPEWebDriver:971273): 2 0x797ab8c314b5 long JSC::APICallbackFunction::callImpl<JSC::JSCallbackFunction>(JSC::JSGlobalObject*, JSC::CallFrame*) webkitpy.webdriver_tests.webdriver_w3c_executor: [DEBUG] (WPEWebDriver:971273): 3 0x797a5ec0c327 ??? In this case, the value received from JS is `undefined`. Could not detect yet when this was introduced. Maybe it's related to the serialization algorithm (bug282977).
Attachments
Lauro Moura
Comment 1 2025-12-20 10:28:01 PST
Also affecting script.call_function, for: test_exception_details[undefined-expected0] test_exception_details[null-expected1]" test_exception_details[NaN-expected4] test_exception_details[-0-expected5] test_exception_details[Infinity-expected6] test_exception_details[-Infinity-expected7] test_exception_details[3-expected8] test_exception_details[1.4-expected9] test_exception_details[true-expected10] test_exception_details[false-expected11] test_exception_details[42n-expected12] test_exception_details[(Symbol('foo'))-expected13]
Lauro Moura
Comment 2 2025-12-20 11:02:57 PST
EWS
Comment 3 2025-12-20 11:05:52 PST
Test gardening commit 304823@main (6bf20d103daf): <https://commits.webkit.org/304823@main> Reviewed commits have been landed. Closing PR #55752 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.