PandemiaProject / pandemia

An individual-based pandemic simulator
Creative Commons Attribution 4.0 International
0 stars 1 forks source link

Test `test_e2e_hospitalization_and_death_model` fails on Windows but works on Mac/Linux #68

Closed andrewphilipsmith closed 1 year ago

andrewphilipsmith commented 1 year ago

How to reproduce

Execute this command on both Windows and a Mac/Linux:

pytest -m slow -k test_e2e_hospitalization_and_death_model --flake-finder --flake-runs=20

Expected behavior

The test should pass on both Windows and Mac/Linux

Actual behavior

The test passes on Mac/Linux. The test fails on Windows with the following error. (See GH Action for context):

Windows fatal exception: access violation

Thread 0x00001a4c (most recent call first):
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\multiprocessing\pool.py", line 579 in _handle_results
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 953 in run
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 1016 in _bootstrap_inner
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 973 in _bootstrap

Thread 0x00001890 (most recent call first):
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\multiprocessing\pool.py", line 531 in _handle_tasks
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 953 in run
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 1016 in _bootstrap_inner
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 973 in _bootstrap

Thread 0x00000ba4 (most recent call first):
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\multiprocessing\connection.py", line 811 in _exhaustive_wait
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\multiprocessing\connection.py", line 879 in wait
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\multiprocessing\pool.py", line 502 in _wait_for_updates
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\multiprocessing\pool.py", line 522 in _handle_workers
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 953 in run
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 1016 in _bootstrap_inner
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 973 in _bootstrap

Thread 0x00000e00 (most recent call first):
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\multiprocessing\pool.py", line 114 in worker
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 953 in run
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 1016 in _bootstrap_inner
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 973 in _bootstrap

Current thread 0x0000050c (most recent call first):
  File "d:\a\pandemia\pandemia\src\pandemia\components\health_model\default_health_model.py", line 457 in dynamics
  File "d:\a\pandemia\pandemia\src\pandemia\simulator.py", line 192 in simulate_day
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\joblib\parallel.py", line 288 in <listcomp>
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\joblib\parallel.py", line 288 in __call__
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\joblib\_parallel_backends.py", line 620 in __call__
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\multiprocessing\pool.py", line 125 in worker
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 953 in run
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 1016 in _bootstrap_inner
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 973 in _bootstrap

Thread 0x000014f0 (most recent call first):
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 320 in wait
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\threading.py", line 607 in wait
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\multiprocessing\pool.py", line 765 in wait
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\multiprocessing\pool.py", line 768 in get
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\joblib\parallel.py", line 975 in retrieve
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\joblib\parallel.py", line 1098 in __call__
  File "d:\a\pandemia\pandemia\src\pandemia\simulator.py", line 251 in run
  File "d:\a\pandemia\pandemia\src\pandemia\__main__.py", line 84 in main
  File "D:\a\pandemia\pandemia\tests\test_end_to_end_pandemia.py", line 87 in _run_end_to_end_simulation
  File "D:\a\pandemia\pandemia\tests\test_end_to_end_pandemia.py", line 205 in test_e2e_hospitalization_and_death_model
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\python.py", line 195 in pytest_pyfunc_call
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\python.py", line 1789 in runtest
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\runner.py", line 167 in pytest_runtest_call
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\runner.py", line 260 in <lambda>
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\runner.py", line 339 in from_call
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\runner.py", line 259 in call_runtest_hook
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\runner.py", line 220 in call_and_report
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\runner.py", line 131 in runtestprotocol
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\runner.py", line 112 in pytest_runtest_protocol
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\main.py", line 349 in pytest_runtestloop
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\main.py", line 324 in _main
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\main.py", line 270 in wrap_session
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\main.py", line 317 in pytest_cmdline_main
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\config\__init__.py", line 167 in main
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\site-packages\_pytest\config\__init__.py", line 190 in console_main
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\Scripts\pytest.exe\__main__.py", line 7 in <module>
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\runpy.py", line 86 in _run_code
  File "C:\hostedtoolcache\windows\Python\3.10.9\x64\lib\runpy.py", line 196 in _run_module_as_main
James-Thompson-724 commented 1 year ago

This has been fixed: https://github.com/PandemiaProject/pandemia/commit/0e278c95216ff69ef40e199797dc5ece33bc6dfc

James-Thompson-724 commented 1 year ago

Perhaps best to check this on your machines first, before closing the issue

AoifeHughes commented 1 year ago

Closing as works on my machine both for MacOS and Windows11