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:
The last two builds are not segmentation faults but instead raised the following exception in a single test failure (both on CPython 3.14.0 with free-threading):

```python-traceback
   ================================== FAILURES ===================================
  ____ test_random_seeds_warm_start[int-HistGradientBoostingRegressor-X1-y1] ____
  
  GradientBoosting = <class 'sklearn.ensemble._hist_gradient_boosting.gradient_boosting.HistGradientBoostingRegressor'>
  X = array([[-1.5415874 ,  0.22739278, -1.35338886, ...,  0.86727663,
           0.40520408, -0.06964158],
         [-1.0212540...
         [ 1.83708069, -0.00296475,  1.80144921, ...,  0.11230769,
           0.33109242,  1.51848293]], shape=(100, 100))
  y = array([ 5.89981499e+01, -1.51472301e+02,  3.92774675e+00,  1.30275835e+02,
          2.04728060e+00,  1.01587138e+02, -1...4499e+02,  1.17344962e+02,  5.81688314e+01,
         -7.85896400e+01,  1.59876618e+01, -2.50470392e+02, -2.19074129e+02])
  rng_type = 'int'
  
      @pytest.mark.parametrize(
          "GradientBoosting, X, y",
          [
              (HistGradientBoostingClassifier, X_classification, y_classification),
              (HistGradientBoostingRegressor, X_regression, y_regression),
          ],
      )
      @pytest.mark.parametrize("rng_type", ("none", "int", "instance"))
      def test_random_seeds_warm_start(GradientBoosting, X, y, rng_type):
          # Make sure the seeds for train/val split and small trainset subsampling
          # are correctly set in a warm start context.
          def _get_rng(rng_type):
              # Helper to avoid consuming rngs
              if rng_type == "none":
                  return None
              elif rng_type == "int":
                  return 42
              else:
                  return np.random.RandomState(0)
      
          random_state = _get_rng(rng_type)
          gb_1 = GradientBoosting(early_stopping=True, max_iter=2, random_state=random_state)
          gb_1.set_params(scoring=check_scoring(gb_1))
          gb_1.fit(X, y)
          random_seed_1_1 = gb_1._random_seed
      
  >       gb_1.fit(X, y)
  
  ..\venv-test\Lib\site-packages\sklearn\ensemble\_hist_gradient_boosting\tests\test_warm_start.py:205: 
  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  ..\venv-test\Lib\site-packages\sklearn\base.py:1336: in wrapper
      return fit_method(estimator, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ..\venv-test\Lib\site-packages\sklearn\ensemble\_hist_gradient_boosting\gradient_boosting.py:722: in fit
      X_binned_train = self._bin_data(X_train, is_training_data=True)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ..\venv-test\Lib\site-packages\sklearn\ensemble\_hist_gradient_boosting\gradient_boosting.py:1237: in _bin_data
      X_binned = self._bin_mapper.fit_transform(X)  # F-aligned array
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ..\venv-test\Lib\site-packages\sklearn\utils\_set_output.py:316: in wrapped
      data_to_wrap = f(self, X, *args, **kwargs)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ..\venv-test\Lib\site-packages\sklearn\base.py:907: in fit_transform
      return self.fit(X, **fit_params).transform(X)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  ..\venv-test\Lib\site-packages\sklearn\ensemble\_hist_gradient_boosting\binning.py:240: in fit
      non_cat_thresholds = Parallel(n_jobs=self.n_threads, backend="threading")(
  ..\venv-test\Lib\site-packages\sklearn\utils\parallel.py:91: in __call__
      return super().__call__(iterable_with_config_and_warning_filters)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ..\venv-test\Lib\site-packages\joblib\parallel.py:2072: in __call__
      return output if self.return_generator else list(output)
                                                  ^^^^^^^^^^^^
  ..\venv-test\Lib\site-packages\joblib\parallel.py:1741: in _get_outputs
      self._terminate_and_reset()
  ..\venv-test\Lib\site-packages\joblib\parallel.py:1408: in _terminate_and_reset
      self._backend.terminate()
  ..\venv-test\Lib\site-packages\joblib\_parallel_backends.py:326: in terminate
      self._pool.close()
  ..\..\..\..\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64-freethreaded.3.14.0\tools\Lib\multiprocessing\pool.py:652: in close
      self._change_notifier.put(None)
  ..\..\..\..\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64-freethreaded.3.14.0\tools\Lib\multiprocessing\queues.py:394: in put
      self._writer.send_bytes(obj)
  ..\..\..\..\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64-freethreaded.3.14.0\tools\Lib\multiprocessing\connection.py:206: in send_bytes
      self._send_bytes(m[offset:offset + size])
  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  
  self = <multiprocessing.connection.PipeConnection object at 0x0000056E462DD600>
  buf = <memory at 0x0000056E50130D80>
  
      def _send_bytes(self, buf):
          if self._send_ov is not None:
              # A connection should only be used by a single thread
  >           raise ValueError("concurrent send_bytes() calls "
                               "are not supported")
  E           ValueError: concurrent send_bytes() calls are not supported
  
  ..\..\..\..\pypa\cibuildwheel\Cache\nuget-cpython\pythonarm64-freethreaded.3.14.0\tools\Lib\multiprocessing\connection.py:293: ValueError
```

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