<?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>265435</bug_id>
          
          <creation_ts>2023-11-27 22:54:50 -0800</creation_ts>
          <short_desc>REGRESSION(271184@main): [Win] crash under JSC::PolymorphicCallNode::unlinkImpl</short_desc>
          <delta_ts>2023-11-28 18:48:15 -0800</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>DUPLICATE</resolution>
          <dup_id>265475</dup_id>
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=265361</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></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="Nobody">webkit-unassigned</assigned_to>
          <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1995192</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-11-27 22:54:50 -0800</bug_when>
    <thetext>Windows Release becomes crashy.

Buildbot: builder WinCairo-64-bit-Release-Tests build 2839 : 271179@main
https://build.webkit.org/#/builders/728/builds/2839

Regressions: Unexpected crashes (5)
  http/tests/security/mixedContent/insecure-basic-auth-image.https.html [ Crash ]
  webgl/2.0.0/conformance2/glsl3/vector-dynamic-indexing.html [ Crash ]
  webgl/2.0.0/conformance2/textures/misc/tex-new-formats.html [ Crash ]
  webgl/2.0.y/conformance/ogles/GL/operators/operators_009_to_016.html [ Crash ]
  webgl/2.0.y/conformance2/textures/canvas/tex-2d-rgb565-rgb-unsigned_short_5_6_5.html [ Crash ]

https://build.webkit.org/results/WinCairo-64-bit-Release-Tests/271184@main%20(2840)/CrashLog_1f14_2023-11-28_04-26-21-641.txt

.  0  Id: 2de4.41ec Suspend: 1 Teb: 000000c8`251e1000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 (Inline Function) --------`-------- JavaScriptCore!WTF::BasicRawSentinelNode&lt;JSC::CallLinkInfoBase,WTF::PackedPtrTraits&lt;JSC::CallLinkInfoBase&gt; &gt;::setNext [C:\BW\WinCairo-64-bit-Release-Build\build\WebKitBuild\Release\WTF\Headers\wtf\SentinelLinkedList.h @ 61]
01 (Inline Function) --------`-------- JavaScriptCore!WTF::SentinelLinkedList&lt;JSC::CallLinkInfoBase,WTF::BasicRawSentinelNode&lt;JSC::CallLinkInfoBase,WTF::PackedPtrTraits&lt;JSC::CallLinkInfoBase&gt; &gt; &gt;::remove+0x6 [C:\BW\WinCairo-64-bit-Release-Build\build\WebKitBuild\Release\WTF\Headers\wtf\SentinelLinkedList.h @ 240]
02 (Inline Function) --------`-------- JavaScriptCore!WTF::BasicRawSentinelNode&lt;JSC::CallLinkInfoBase,WTF::PackedPtrTraits&lt;JSC::CallLinkInfoBase&gt; &gt;::remove+0x6 [C:\BW\WinCairo-64-bit-Release-Build\build\WebKitBuild\Release\WTF\Headers\wtf\SentinelLinkedList.h @ 164]
03 000000c8`24ffdf50 00007ff8`e857af05 JavaScriptCore!JSC::PolymorphicCallNode::unlinkImpl(class JSC::VM * vm = &lt;Value unavailable error&gt;)+0x1c2 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\jit\PolymorphicCallStubRoutine.cpp @ 49]
04 (Inline Function) --------`-------- JavaScriptCore!JSC::CallLinkInfoBase::unlink+0x5 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\bytecode\CallLinkInfoBase.cpp @ 43]
05 (Inline Function) --------`-------- JavaScriptCore!JSC::CodeBlock::unlinkIncomingCalls+0x14 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\bytecode\CodeBlock.cpp @ 2106]
06 000000c8`24ffdfc0 00007ff8`e8a118d3 JavaScriptCore!JSC::CodeBlock::~CodeBlock(void)+0x115 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\bytecode\CodeBlock.cpp @ 866]
07 (Inline Function) --------`-------- JavaScriptCore!JSC::DefaultDestroyFunc::operator()+0x18 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\HeapCellType.cpp @ 46]
08 (Inline Function) --------`-------- JavaScriptCore!JSC::MarkedBlock::Handle::specializedSweep&lt;1,1,0,1,0,1,1,JSC::DefaultDestroyFunc&gt;::&lt;lambda_1&gt;::operator()+0x20 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\MarkedBlockInlines.h @ 282]
09 (Inline Function) --------`-------- JavaScriptCore!JSC::MarkedBlock::Handle::specializedSweep&lt;1,1,0,1,0,1,1,JSC::DefaultDestroyFunc&gt;::&lt;lambda_3&gt;::operator()+0x24 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\MarkedBlockInlines.h @ 352]
0a 000000c8`24ffe020 00007ff8`e8a0fd1e JavaScriptCore!JSC::MarkedBlock::Handle::specializedSweep&lt;1,1,0,1,0,1,1,JSC::DefaultDestroyFunc&gt;(class JSC::FreeList * freeList = &lt;Value unavailable error&gt;, JSC::MarkedBlock::Handle::EmptyMode emptyMode = &lt;Value unavailable error&gt;, JSC::MarkedBlock::Handle::SweepMode sweepMode = &lt;Value unavailable error&gt;, JSC::MarkedBlock::Handle::SweepDestructionMode destructionMode = &lt;Value unavailable error&gt;, JSC::MarkedBlock::Handle::ScribbleMode scribbleMode = &lt;Value unavailable error&gt;, JSC::MarkedBlock::Handle::NewlyAllocatedMode newlyAllocatedMode = &lt;Value unavailable error&gt;, JSC::MarkedBlock::Handle::MarksMode marksMode = &lt;Value unavailable error&gt;, struct JSC::DefaultDestroyFunc * destroyFunc = 0x000000c8`24ffe1b8)+0x133 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\MarkedBlockInlines.h @ 401]
0b 000000c8`24ffe070 00007ff8`e8a085c9 JavaScriptCore!JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType&lt;JSC::DefaultDestroyFunc&gt;::&lt;lambda_1&gt;::operator()(void)+0x11e [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\MarkedBlockInlines.h @ 476]
0c 000000c8`24ffe0c0 00007ff8`e8a08426 JavaScriptCore!JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType&lt;JSC::DefaultDestroyFunc&gt;(class JSC::FreeList * freeList = &lt;Value unavailable error&gt;, struct JSC::DefaultDestroyFunc * destroyFunc = 0x000000c8`24ffe1b8)+0x189 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\MarkedBlockInlines.h @ 498]
0d 000000c8`24ffe190 00007ff8`e8a1c8b5 JavaScriptCore!JSC::HeapCellType::finishSweep(class JSC::MarkedBlock::Handle * block = &lt;Value unavailable error&gt;, class JSC::FreeList * freeList = &lt;Value unavailable error&gt;)+0x26 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\HeapCellType.cpp @ 61]
0e 000000c8`24ffe1d0 00007ff8`e89d692a JavaScriptCore!JSC::MarkedBlock::Handle::sweep(class JSC::FreeList * freeList = &lt;Value unavailable error&gt;)+0x135 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\MarkedBlock.cpp @ 480]
0f (Inline Function) --------`-------- JavaScriptCore!JSC::BlockDirectory::sweep::&lt;lambda_7&gt;::operator()+0x16 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\BlockDirectory.cpp @ 299]
10 (Inline Function) --------`-------- JavaScriptCore!WTF::FastBitVectorImpl&lt;JSC::BlockDirectoryBits::BlockDirectoryBitVectorWordView&lt;6&gt; &gt;::forEachSetBit+0x68 [C:\BW\WinCairo-64-bit-Release-Build\build\WebKitBuild\Release\WTF\Headers\wtf\FastBitVector.h @ 348]
11 000000c8`24ffe2c0 00007ff8`e8a1e968 JavaScriptCore!JSC::BlockDirectory::sweep(void)+0x7a [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\BlockDirectory.cpp @ 296]
12 (Inline Function) --------`-------- JavaScriptCore!JSC::MarkedSpace::sweepBlocks::&lt;lambda_10&gt;::operator()+0x8 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\MarkedSpace.cpp @ 223]
13 (Inline Function) --------`-------- JavaScriptCore!JSC::MarkedSpace::forEachDirectory+0x1c [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\MarkedSpace.h @ 245]
14 000000c8`24ffe320 00007ff8`e89e161b JavaScriptCore!JSC::MarkedSpace::sweepBlocks(void)+0x38 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\MarkedSpace.cpp @ 221]
15 000000c8`24ffe350 00007ff8`e89e1d89 JavaScriptCore!JSC::Heap::sweepSynchronously(void)+0xdb [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\Heap.cpp @ 1185]
16 000000c8`24ffe3e0 00007ff8`d6249a32 JavaScriptCore!JSC::Heap::collectNow(JSC::Synchronousness synchronousness = &lt;Value unavailable error&gt;, struct JSC::GCRequest * request = 0x00000000`00000101)+0x1d9 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\JavaScriptCore\heap\Heap.cpp @ 1235]
17 000000c8`24ffe450 00007ff8`d62f2b88 WebCore!WebCore::GCController::garbageCollectNow(void)+0x92 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\WebCore\bindings\js\GCController.cpp @ 97]
18 (Inline Function) --------`-------- WebCore!WebCore::collectGarbageAfterWindowProxyDestruction+0x4e [C:\BW\WinCairo-64-bit-Release-Build\build\Source\WebCore\bindings\js\WindowProxy.cpp @ 52]
19 000000c8`24ffe4a0 00007ff8`d6b2f67f WebCore!WebCore::WindowProxy::detachFromFrame(void)+0x148 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\WebCore\bindings\js\WindowProxy.cpp @ 87]
1a 000000c8`24ffe500 00007ff8`d6b49d15 WebCore!WebCore::Frame::~Frame(void)+0x1f [C:\BW\WinCairo-64-bit-Release-Build\build\Source\WebCore\page\Frame.cpp @ 58]
1b 000000c8`24ffe540 00007ff8`d6b6b000 WebCore!WebCore::LocalFrame::~LocalFrame(void)+0x275 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\WebCore\page\LocalFrame.cpp @ 221]
1c 000000c8`24ffe5c0 00007ff8`d6b5117e WebCore!WebCore::LocalFrame::~LocalFrame(int should_call_delete = 0n1)+0x10 [C:\BW\WinCairo-64-bit-Release-Build\build\Source\WebCore\page\LocalFrame.cpp @ 197]
1d (Inline Function) --------`-------- WebCore!WTF::ThreadSafeRefCounted&lt;WebCore::Frame,1&gt;::deref+0x3a [C:\BW\WinCairo-64-bit-Release-Build\build\WebKitBuild\Release\WTF\Headers\wtf\ThreadSafeRefCounted.h @ 121]
1e (Inline Function) --------`-------- WebCore!WTF::Ref&lt;WebCore::LocalFrame,WTF::RawPtrTraits&lt;WebCore::LocalFrame&gt; &gt;::~Ref+0x51 [C:\BW\WinCairo-64-bit-Release-Build\build\WebKitBuild\Release\WTF\Headers\wtf\Ref.h @ 61]
1f 000000c8`24ffe600 00007ff8`d6b6b030 WebCore!WebCore::LocalFrameView::~LocalFrameView(void)+0x72e [C:\BW\WinCairo-64-bit-Release-Build\build\Source\WebCore\page\LocalFrameView.cpp @ 257]
(..)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1995193</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-11-27 23:02:30 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #0)
&gt; Windows Release becomes crashy.
&gt; 
&gt; Buildbot: builder WinCairo-64-bit-Release-Tests build 2839 : 271179@main
&gt; https://build.webkit.org/#/builders/728/builds/2839

Wrong url and regision. 271179@main is green.

Buildbot: builder WinCairo-64-bit-Release-Tests build 2840 : 271184@main
https://build.webkit.org/#/builders/728/builds/2840</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1995205</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-11-28 00:28:35 -0800</bug_when>
    <thetext>No reliable way to reproduce the crash. But, the following command is likely reproducing the crash.

&gt; python .\Tools\Scripts\run-webkit-tests --release --child=1 --no-retry --exit-after-n-crash=1 --iter=10 webgl/2.0.y/conformance2/textures/canvas</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1995206</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-11-28 00:31:12 -0800</bug_when>
    <thetext>Not only Windows Release build, but also Debug builds are crashy.

Buildbot: builder WinCairo-64-bit-Debug-Tests build 21395 : 271184@main
https://build.webkit.org/#/builders/727/builds/21395

Regressions: Unexpected crashes (4)
  webgl/2.0.0/conformance2/textures/image_bitmap_from_blob/tex-3d-rg16f-rg-half_float.html [ Crash ]
  webgl/2.0.0/conformance2/textures/image_bitmap_from_image_data/tex-3d-rgb565-rgb-unsigned_byte.html [ Crash ]
  webgl/2.0.y/conformance/ogles/GL/operators/operators_017_to_024.html [ Crash ]
  webgl/2.0.y/conformance2/textures/canvas/tex-3d-rg8-rg-unsigned_byte.html [ Crash ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1995207</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-11-28 00:33:25 -0800</bug_when>
    <thetext>As far as I tryed bisection, 271184@main seems to be the culprit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1995243</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2023-11-28 03:01:35 -0800</bug_when>
    <thetext>I kind of doubt integrity of the builds on WinCairo buildbots. No other ports are reporting this crash. And from the code, I cannot find the path causing this condition. CallLinkInfoBase&apos;s destructor is always unregistering itself. So there is no way to have dangling CallLinkInfo in this linked-list.

Ross, me, and Fujihiro are looking into it. This requires Windows port&apos;s debugging since there is no problems on the other ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1995502</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-11-28 18:48:15 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 265475 ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>