Skip to content

Acces violation on Windows when importing some scipy modules #15037

Description

@schtandard

If I create a folder containing the file test_foo.py with the following content

from scipy.special import ellipk
from scipy.optimize import root_scalar

def test_foo():
    assert 1 == 1

and run pytest in that folder twice, I get the following output:

(test) C:\pytest_sandbox>pytest
================================================= test session starts =================================================
platform win32 -- Python 3.14.7, pytest-9.1.1, pluggy-1.6.0
rootdir: C:\pytest_sandbox
collected 1 item

test_foo.py .                                                                                                    [100%]

================================================== 1 passed in 1.08s ==================================================

(test) C:\pytest_sandbox>pytest
================================================= test session starts =================================================
platform win32 -- Python 3.14.7, pytest-9.1.1, pluggy-1.6.0
rootdir: C:\pytest_sandbox
collecting ... Windows fatal exception: access violation

Current thread 0x00000a20 (most recent call first):
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 1053 in create_module
  File "<frozen importlib._bootstrap>", line 816 in module_from_spec
  File "<frozen importlib._bootstrap>", line 924 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1434 in _handle_fromlist
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\fft\_duccfft\basic.py", line 6 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\fft\_duccfft\__init__.py", line 3 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\fft\_helper.py", line 4 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\fft\__init__.py", line 92 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 1061 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\linalg\interpolative.py", line 360 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\optimize\_remove_redundancy.py", line 9 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\optimize\_linprog_util.py", line 9 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\optimize\_linprog_ip.py", line 27 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\optimize\_linprog.py", line 22 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\optimize\__init__.py", line 435 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\pytest_sandbox\test_foo.py", line 2 in <module>
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\_pytest\assertion\rewrite.py", line 188 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked

Current thread's C stack trace (most recent call first):
  <cannot get C stack on this system>
Windows fatal exception: access violation

Current thread 0x00000a20 (most recent call first):
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 1053 in create_module
  File "<frozen importlib._bootstrap>", line 816 in module_from_spec
  File "<frozen importlib._bootstrap>", line 924 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1434 in _handle_fromlist
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\fft\_duccfft\basic.py", line 6 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\fft\_duccfft\__init__.py", line 3 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\fft\_helper.py", line 4 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\fft\__init__.py", line 92 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 1061 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\linalg\interpolative.py", line 360 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\optimize\_remove_redundancy.py", line 9 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\optimize\_linprog_util.py", line 9 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\optimize\_linprog_ip.py", line 27 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\optimize\_linprog.py", line 22 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\scipy\optimize\__init__.py", line 435 in <module>
  File "<frozen importlib._bootstrap>", line 491 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 759 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1342 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1371 in _find_and_load
  File "C:\pytest_sandbox\test_foo.py", line 2 in <module>
  File "C:\Users\wilde02\AppData\Local\miniforge3\envs\test\Lib\site-packages\_pytest\assertion\rewrite.py", line 188 in exec_module
  File "<frozen importlib._bootstrap>", line 938 in _load_unlocked

Current thread's C stack trace (most recent call first):
  <cannot get C stack on this system>
collected 1 item

test_foo.py .                                                                                                    [100%]

================================================== 1 passed in 0.98s ==================================================

That is, the first time it runs without issues, the second time (and all subsequent times) I get an access violation, though the test still passes just fine.

  • If I delete either of the folders .pytest_cache and __pycache__ that are created during the run, the error disappears again (for one run).
  • If I remove either of the two scipy imports, the error disappears immediately.

I have to say that I don't quite understand what's going on here. If you need any more information or debugging done, I'm happy to provide that.

Environment

I am on Windows 11 using a conda environment. pip list reveals the following versions.

(test) C:\pytest_sandbox>pip list
Package           Version
----------------- -------
colorama          0.4.6
exceptiongroup    1.3.1
iniconfig         2.3.0
numpy             2.5.3
packaging         26.3
pip               26.2.1
pluggy            1.6.0
Pygments          2.21.0
pytest            9.1.1
scipy             1.18.1
tomli             2.4.1
typing_extensions 4.16.0
  • a detailed description of the bug or problem you are having
  • output of pip list from the virtual environment you are using
  • pytest and operating system versions
  • minimal example if possible

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions