<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>289218</bug_id>
          
          <creation_ts>2025-03-05 20:52:52 -0800</creation_ts>
          <short_desc>REGRESSION: ASSERTION FAILED: !m_needExceptionCheck: ./runtime/VM.cpp(1450) : void JSC::VM::verifyExceptionCheckNeedIsSatisfied(unsigned int, ExceptionEventLocation &amp;)</short_desc>
          <delta_ts>2025-04-02 15:51:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2100867</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-03-05 20:52:52 -0800</bug_when>
    <thetext>Regressions: Unexpected crashes
  js/dom/missing-exception-check-in-convertNumbers.html [ Crash ]

https://build.webkit.org/results/Apple-Sequoia-Debug-WK2-Tests/291650@main%20(990)/js/dom/missing-exception-check-in-convertNumbers-crash-log.txt

stderr:
ERROR: Unchecked JS exception:
    This scope can throw a JS exception: deserialize @ /Volumes/Data/worker/Apple-Sequoia-Debug-Build/build/Source/WebCore/bindings/js/SerializedScriptValue.cpp:5397
        (ExceptionScope::m_recursionDepth was 1)
    But the exception was unchecked as of this scope: performMicrotaskCheckpoint @ ./runtime/MicrotaskQueue.cpp:96
        (ExceptionScope::m_recursionDepth was 1)

Unchecked exception detected at:
    1   0x5e54e208f JSC::VM::verifyExceptionCheckNeedIsSatisfied(unsigned int, JSC::ExceptionEventLocation&amp;)
    2   0x5e4e366fd JSC::CatchScope::CatchScope(JSC::VM&amp;, JSC::ExceptionEventLocation)
    3   0x5e4e364d3 JSC::CatchScope::CatchScope(JSC::VM&amp;, JSC::ExceptionEventLocation)
    4   0x5e532cb00 JSC::MicrotaskQueue::performMicrotaskCheckpoint(JSC::VM&amp;)
    5   0x5e54e1b2c JSC::VM::drainMicrotasks()
    6   0x5e51476e3 JSC::JSLock::willReleaseLock()
    7   0x5e5147630 JSC::JSLock::unlock(long)
    8   0x5e5146d7a JSC::JSLock::unlock()
    9   0x66507fb33 WTF::Locker&lt;JSC::JSLock, void&gt;::unlock()
    10  0x66507faf5 WTF::Locker&lt;JSC::JSLock, void&gt;::~Locker()
    11  0x66507f7c5 WTF::Locker&lt;JSC::JSLock, void&gt;::~Locker()
    12  0x668aa9fe9 WebCore::MessageEvent::create(JSC::JSGlobalObject&amp;, WTF::Ref&lt;WebCore::SerializedScriptValue, WTF::RawPtrTraits&lt;WebCore::SerializedScriptValue&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::SerializedScriptValue&gt;&gt;&amp;&amp;, WTF::String const&amp;, WTF::String const&amp;, std::__1::optional&lt;std::__1::variant&lt;WTF::RefPtr&lt;WebCore::WindowProxy, WTF::RawPtrTraits&lt;WebCore::WindowProxy&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::WindowProxy&gt;&gt;, WTF::RefPtr&lt;WebCore::MessagePort, WTF::RawPtrTraits&lt;WebCore::MessagePort&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::MessagePort&gt;&gt;, WTF::RefPtr&lt;WebCore::ServiceWorker, WTF::RawPtrTraits&lt;WebCore::ServiceWorker&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::ServiceWorker&gt;&gt;&gt;&gt;&amp;&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::MessagePort, WTF::RawPtrTraits&lt;WebCore::MessagePort&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::MessagePort&gt;&gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;&amp;)
    13  0x669a89ca6 WebCore::LocalDOMWindow::processPostMessage(JSC::JSGlobalObject&amp;, WTF::String const&amp;, WebCore::MessageWithMessagePorts const&amp;, WTF::RefPtr&lt;WebCore::WindowProxy, WTF::RawPtrTraits&lt;WebCore::WindowProxy&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::WindowProxy&gt;&gt;&amp;&amp;, WTF::RefPtr&lt;WebCore::SecurityOrigin, WTF::RawPtrTraits&lt;WebCore::SecurityOrigin&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::SecurityOrigin&gt;&gt;&amp;&amp;)::$_0::operator()()
    14  0x669a89699 WTF::Detail::CallableWrapper&lt;WebCore::LocalDOMWindow::processPostMessage(JSC::JSGlobalObject&amp;, WTF::String const&amp;, WebCore::MessageWithMessagePorts const&amp;, WTF::RefPtr&lt;WebCore::WindowProxy, WTF::RawPtrTraits&lt;WebCore::WindowProxy&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::WindowProxy&gt;&gt;&amp;&amp;, WTF::RefPtr&lt;WebCore::SecurityOrigin, WTF::RawPtrTraits&lt;WebCore::SecurityOrigin&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::SecurityOrigin&gt;&gt;&amp;&amp;)::$_0, void&gt;::call()
    15  0x663c4c357 WTF::Function&lt;void ()&gt;::operator()() const
    16  0x668a4ec19 WebCore::EventLoopFunctionDispatchTask::execute()
    17  0x668a4170d WebCore::EventLoop::run(std::__1::optional&lt;WTF::ApproximateTime&gt;)
    18  0x668c18353 WebCore::WindowEventLoop::didReachTimeToRun()
    19  0x668c1b7b6 WebCore::Timer::Timer&lt;WebCore::WindowEventLoop, WebCore::WindowEventLoop&gt;(WebCore::WindowEventLoop&amp;, void (WebCore::WindowEventLoop::*)())::&apos;lambda&apos;()::operator()() const
    20  0x668c1b719 WTF::Detail::CallableWrapper&lt;WebCore::Timer::Timer&lt;WebCore::WindowEventLoop, WebCore::WindowEventLoop&gt;(WebCore::WindowEventLoop&amp;, void (WebCore::WindowEventLoop::*)())::&apos;lambda&apos;(), void&gt;::call()
    21  0x663c4c357 WTF::Function&lt;void ()&gt;::operator()() const
    22  0x663d971a9 WebCore::Timer::fired()
    23  0x669e10228 WebCore::ThreadTimers::sharedTimerFiredInternal()
    24  0x669e19fb1 WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0::operator()() const
    25  0x669e19f69 WTF::Detail::CallableWrapper&lt;WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0, void&gt;::call()
    26  0x663c4c357 WTF::Function&lt;void ()&gt;::operator()() const
    27  0x669dbd576 WebCore::MainThreadSharedTimer::fired()
    28  0x669f253b6 WebCore::timerFired(__CFRunLoopTimer*, void*)
    29  0x7ff81738670e __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
    30  0x7ff8173862bc __CFRunLoopDoTimer
    31  0x7ff817385ee8 __CFRunLoopDoTimers
    32  0x7ff81736cb73 __CFRunLoopRun
    33  0x7ff81736bc6e CFRunLoopRunSpecific
    34  0x7ff8183a46d9 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
    35  0x7ff818424967 -[NSRunLoop(NSRunLoop) run]
    36  0x7ff816f97a1d _xpc_objc_main
    37  0x7ff816fa4b69 _xpc_main
    38  0x7ff816f9762c _xpc_copy_xpcservice_dictionary
    39  0x60d0e5710 WebKit::XPCServiceMain(int, char const**)
    40  0x60fecea4b WKXPCServiceMain
    41  0x108970f72 main
    42  0x7ff816ef82cd start

ASSERTION FAILED: !m_needExceptionCheck
./runtime/VM.cpp(1450) : void JSC::VM::verifyExceptionCheckNeedIsSatisfied(unsigned int, ExceptionEventLocation &amp;)
1   0x5e54e21a5 JSC::VM::verifyExceptionCheckNeedIsSatisfied(unsigned int, JSC::ExceptionEventLocation&amp;)
2   0x5e4e366fd JSC::CatchScope::CatchScope(JSC::VM&amp;, JSC::ExceptionEventLocation)
3   0x5e4e364d3 JSC::CatchScope::CatchScope(JSC::VM&amp;, JSC::ExceptionEventLocation)
4   0x5e532cb00 JSC::MicrotaskQueue::performMicrotaskCheckpoint(JSC::VM&amp;)
5   0x5e54e1b2c JSC::VM::drainMicrotasks()
6   0x5e51476e3 JSC::JSLock::willReleaseLock()
7   0x5e5147630 JSC::JSLock::unlock(long)
8   0x5e5146d7a JSC::JSLock::unlock()
9   0x66507fb33 WTF::Locker&lt;JSC::JSLock, void&gt;::unlock()
10  0x66507faf5 WTF::Locker&lt;JSC::JSLock, void&gt;::~Locker()
11  0x66507f7c5 WTF::Locker&lt;JSC::JSLock, void&gt;::~Locker()
12  0x668aa9fe9 WebCore::MessageEvent::create(JSC::JSGlobalObject&amp;, WTF::Ref&lt;WebCore::SerializedScriptValue, WTF::RawPtrTraits&lt;WebCore::SerializedScriptValue&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::SerializedScriptValue&gt;&gt;&amp;&amp;, WTF::String const&amp;, WTF::String const&amp;, std::__1::optional&lt;std::__1::variant&lt;WTF::RefPtr&lt;WebCore::WindowProxy, WTF::RawPtrTraits&lt;WebCore::WindowProxy&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::WindowProxy&gt;&gt;, WTF::RefPtr&lt;WebCore::MessagePort, WTF::RawPtrTraits&lt;WebCore::MessagePort&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::MessagePort&gt;&gt;, WTF::RefPtr&lt;WebCore::ServiceWorker, WTF::RawPtrTraits&lt;WebCore::ServiceWorker&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::ServiceWorker&gt;&gt;&gt;&gt;&amp;&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::MessagePort, WTF::RawPtrTraits&lt;WebCore::MessagePort&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::MessagePort&gt;&gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;&amp;)
13  0x669a89ca6 WebCore::LocalDOMWindow::processPostMessage(JSC::JSGlobalObject&amp;, WTF::String const&amp;, WebCore::MessageWithMessagePorts const&amp;, WTF::RefPtr&lt;WebCore::WindowProxy, WTF::RawPtrTraits&lt;WebCore::WindowProxy&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::WindowProxy&gt;&gt;&amp;&amp;, WTF::RefPtr&lt;WebCore::SecurityOrigin, WTF::RawPtrTraits&lt;WebCore::SecurityOrigin&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::SecurityOrigin&gt;&gt;&amp;&amp;)::$_0::operator()()
14  0x669a89699 WTF::Detail::CallableWrapper&lt;WebCore::LocalDOMWindow::processPostMessage(JSC::JSGlobalObject&amp;, WTF::String const&amp;, WebCore::MessageWithMessagePorts const&amp;, WTF::RefPtr&lt;WebCore::WindowProxy, WTF::RawPtrTraits&lt;WebCore::WindowProxy&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::WindowProxy&gt;&gt;&amp;&amp;, WTF::RefPtr&lt;WebCore::SecurityOrigin, WTF::RawPtrTraits&lt;WebCore::SecurityOrigin&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::SecurityOrigin&gt;&gt;&amp;&amp;)::$_0, void&gt;::call()
15  0x663c4c357 WTF::Function&lt;void ()&gt;::operator()() const
16  0x668a4ec19 WebCore::EventLoopFunctionDispatchTask::execute()
17  0x668a4170d WebCore::EventLoop::run(std::__1::optional&lt;WTF::ApproximateTime&gt;)
18  0x668c18353 WebCore::WindowEventLoop::didReachTimeToRun()
19  0x668c1b7b6 WebCore::Timer::Timer&lt;WebCore::WindowEventLoop, WebCore::WindowEventLoop&gt;(WebCore::WindowEventLoop&amp;, void (WebCore::WindowEventLoop::*)())::&apos;lambda&apos;()::operator()() const
20  0x668c1b719 WTF::Detail::CallableWrapper&lt;WebCore::Timer::Timer&lt;WebCore::WindowEventLoop, WebCore::WindowEventLoop&gt;(WebCore::WindowEventLoop&amp;, void (WebCore::WindowEventLoop::*)())::&apos;lambda&apos;(), void&gt;::call()
21  0x663c4c357 WTF::Function&lt;void ()&gt;::operator()() const
22  0x663d971a9 WebCore::Timer::fired()
23  0x669e10228 WebCore::ThreadTimers::sharedTimerFiredInternal()
24  0x669e19fb1 WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0::operator()() const
25  0x669e19f69 WTF::Detail::CallableWrapper&lt;WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0, void&gt;::call()
26  0x663c4c357 WTF::Function&lt;void ()&gt;::operator()() const
27  0x669dbd576 WebCore::MainThreadSharedTimer::fired()
28  0x669f253b6 WebCore::timerFired(__CFRunLoopTimer*, void*)
29  0x7ff81738670e __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
30  0x7ff8173862bc __CFRunLoopDoTimer
31  0x7ff817385ee8 __CFRunLoopDoTimers
com.apple.WebKit.WebContent.Development terminated (pid 39137) for reason: crash
LEAK: 1 WebPageProxy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100868</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-03-05 20:53:42 -0800</bug_when>
    <thetext>This is reproducible with Windows Debug build.
&gt; python ./Tools/Scripts/run-webkit-tests --debug --iter=2 js/dom/missing-exception-check-in-clone-serializer-serialize.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100869</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-03-05 20:55:47 -0800</bug_when>
    <thetext>History:
  https://results.webkit.org/?suite=layout-tests&amp;test=js%2Fdom%2Fmissing-exception-check-in-convertNumbers.html&amp;style=debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100899</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-03-05 23:48:50 -0800</bug_when>
    <thetext>&lt;rdar://problem/146364641&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100900</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2025-03-05 23:49:41 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/41987</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2100912</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-03-06 02:08:53 -0800</bug_when>
    <thetext>Committed 291689@main (151ef788a55c): &lt;https://commits.webkit.org/291689@main&gt;

Reviewed commits have been landed. Closing PR #41987 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2108246</commentid>
    <comment_count>6</comment_count>
    <who name="Robert Jenner">jenner</who>
    <bug_when>2025-04-02 11:26:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/148446813&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2108333</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-04-02 15:51:20 -0700</bug_when>
    <thetext>Committed 289651.394@safari-7621-branch (17307e3a0d8a): &lt;https://commits.webkit.org/289651.394@safari-7621-branch&gt;

Reviewed commits have been landed. Closing PR #2944 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>