CI Intermittent segmentation fault in Windows arm64 wheels test (vanilla CPython)

It's been seen so far (October 13) in 2 runs over 13 runs (see [scheduled Wheels runs](https://github.com/scikit-learn/scikit-learn/actions/workflows/wheels.yml?query=event%3Aschedule)):
- Python 3.12 [build log](https://github.com/scikit-learn/scikit-learn/actions/runs/18239153780/job/51938405934)
- Python 3.14 see [build log](https://github.com/scikit-learn/scikit-learn/actions/runs/18423960080/job/52502560141) from https://github.com/scikit-learn/scikit-learn/issues/32393#issuecomment-3396312539

The information is similar in both cases seems to point the finger at
```
sklearn\tree\tests\test_monotonic_tree.py", line 511 in test_nd_tree_nodes_values
```

Relevant part of the build log:
```
  tests\test_random_projection.py ........................................ [ 88%]
  ........................................................................ [ 88%]
  ........................................................................ [ 88%]
  .......................................................                  [ 88%]
  tree\tests\test_export.py ..........sssss                                [ 88%]
  tree\tests\test_monotonic_tree.py ...................................... [ 88%]
  ........................................................................ [ 89%]
  Windows fatal exception: access violation
  
  Thread 0x0000187c (most recent call first):
    File "C:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64.3.14.0-rc3\tools\Lib\threading.py", line 369 in wait
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\joblib\externals\loky\backend\queues.py", line 147 in _feed
    File "C:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64.3.14.0-rc3\tools\Lib\threading.py", line 1023 in run
    File "C:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64.3.14.0-rc3\tools\Lib\threading.py", line 1081 in _bootstrap_inner
    File "C:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64.3.14.0-rc3\tools\Lib\threading.py", line 1043 in _bootstrap
  
  Thread 0x0000067c (most recent call first):
    File "C:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64.3.14.0-rc3\tools\Lib\multiprocessing\connection.py", line 1045 in _exhaustive_wait
    File "C:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64.3.14.0-rc3\tools\Lib\multiprocessing\connection.py", line 1113 in wait
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\joblib\externals\loky\process_executor.py", line 681 in wait_result_broken_or_wakeup
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\joblib\externals\loky\process_executor.py", line 623 in run
    File "C:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64.3.14.0-rc3\tools\Lib\threading.py", line 1081 in _bootstrap_inner
    File "C:\Users\runneradmin\AppData\Local\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64.3.14.0-rc3\tools\Lib\threading.py", line 1043 in _bootstrap
  
  Current thread 0x00000730 (most recent call first):
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\sklearn\tree\_classes.py", line 475 in _fit
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\sklearn\tree\_classes.py", line 1407 in fit
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\sklearn\base.py", line 1336 in wrapper
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\sklearn\tree\tests\test_monotonic_tree.py", line 511 in test_nd_tree_nodes_values
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\python.py", line 157 in pytest_pyfunc_call
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_callers.py", line 121 in _multicall
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_manager.py", line 120 in _hookexec
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_hooks.py", line 512 in __call__
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\python.py", line 1671 in runtest
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\runner.py", line 178 in pytest_runtest_call
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_callers.py", line 121 in _multicall
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_manager.py", line 120 in _hookexec
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_hooks.py", line 512 in __call__
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\runner.py", line 246 in <lambda>
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\runner.py", line 344 in from_call
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\runner.py", line 245 in call_and_report
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\runner.py", line 136 in runtestprotocol
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\runner.py", line 117 in pytest_runtest_protocol
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_callers.py", line 121 in _multicall
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_manager.py", line 120 in _hookexec
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_hooks.py", line 512 in __call__
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\main.py", line 367 in pytest_runtestloop
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_callers.py", line 121 in _multicall
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_manager.py", line 120 in _hookexec
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_hooks.py", line 512 in __call__
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\main.py", line 343 in _main
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\main.py", line 289 in wrap_session
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\main.py", line 336 in pytest_cmdline_main
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_callers.py", line 121 in _multicall
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_manager.py", line 120 in _hookexec
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\pluggy\_hooks.py", line 512 in __call__
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\config\__init__.py", line 175 in main
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Lib\site-packages\_pytest\config\__init__.py", line 201 in console_main
    File "C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk\cp314-win_arm64\venv-test\Scripts\pytest.exe\__main__.py", line 6 in <module>
    File "<frozen runpy>", line 88 in _run_code
    File "<frozen runpy>", line 198 in _run_module_as_main
  
  Current thread's C stack trace (most recent call first):
    <cannot get C stack on this system>
  C:\a\scikit-learn\scikit-learn/build_tools/github/test_windows_wheels.sh: line 38:   833 Segmentation fault      pytest --pyargs sklearn
  Warning: cibuildwheel: Can't delete temporary folder 'C:\Users\runneradmin\AppData\Local\Temp\cibw-run-mc25gkqk'
  
  Error: cibuildwheel: Command bash C:\a\scikit-learn\scikit-learn/build_tools/github/test_windows_wheels.sh 314 C:\a\scikit-learn\scikit-learn win_arm64 failed with code 139. 
  
  ............................::endgroup::Testing wheel...
``` 


cc @khmyznikov and @vask2108 who did the work of adding Windows arm64 wheels: https://github.com/scikit-learn/scikit-learn/pull/31867. Maybe you have seen similar things in other packages and/or you would be willing to help debug this?

COMMENT:
@khmyznikov
I could not reproduce the issue in my machine at all. I saw only once in CI before using the cdb. 
Still running in CI in loop with cdb to see if any luck. If I find anything will post it.


If you are running in your local machine,  please clone  the code from latest main  , simply create a python venv.

----------INSTALL FROM SOURCE--------------------------------------------

I just run following command to build from source:

(sklearn314-venv) c:\User\source\repos\scikit-learn>pip install --upgrade cython meson meson-python ninja wheel numpy scipy
(sklearn314-venv) c:\User\source\repos\scikit-learn>pip install --editable . --no-build-isolation --config-settings editable-verbose=true

And check for "Successfully installed joblib-1.5.2 scikit-learn-1.8.dev0 threadpoolctl-3.6.0"


------ RUN THE TEST IN CDB--------------------------------------------------

You can run the test using CDB.  May be put this into loop or a script.

(sklearn314-venv) c:\User\source\repos\scikit-learn>"C:\Program Files (x86)\Windows Kits\10\Debuggers\arm64\cdb.exe" -o python -m pytest sklearn\tree\tests\test_monotonic_tree.py

Microsoft (R) Windows Debugger Version 10.0.22621.755 ARM64
Copyright (c) Microsoft Corporation. All rights reserved.

CommandLine: python -m pytest sklearn\tree\tests\test_monotonic_tree.py

************* Path validation summary **************
Response                         Time (ms)     Location
Deferred                                       srv*
Symbol search path is: srv*
Executable search path is:
ModLoad: 00007ff6`95880000 00007ff6`958bf000   venvlauncher.exe
ModLoad: 00007ffd`85610000 00007ffd`85a41000   ntdll.dll
ModLoad: 00007ffd`81a20000 00007ffd`81b88000   C:\WINDOWS\System32\KERNEL32.DLL
ModLoad: 00007ffd`81160000 00007ffd`8181d000   C:\WINDOWS\System32\KERNELBASE.dll
(a504.7dd8): Break instruction exception - code 80000003 (first chance)
ntdll!LdrpDoDebuggerBreak+0x34:
00007ffd`8576c414 d43e0000 brk         #0xF000
0:000> ============================================================================================= test session starts ==============================================================================================
platform win32 -- Python 3.14.0, pytest-8.4.2, pluggy-1.6.0
rootdir: c:\Users\User\source\repos\scikit-learn
configfile: pyproject.toml
collected 148 items

sklearn\tree\tests\test_monotonic_tree.py ....................................................................................................................................................            [100%]

======================================================================================== 148 passed, 1 warning in 6.99s ========================================================================================

0:000> qd
quit:


--------------------ALL TESTS------------------------------------------------------
You can also try all test like this 

"C:\Program Files (x86)\Windows Kits\10\Debuggers\arm64\cdb.exe" -o python -m pytest sklearn

NOTE: I am finding cdb is bit flaky to use in my machine. I use qd to quite and try again. It runs in second attempt for me.

Labels: Build / CI, arch:arm, OS:Windows