CQCL / tket

Source code for the TKET quantum compiler, Python bindings and utilities
https://tket.quantinuum.com/
Apache License 2.0
247 stars 48 forks source link

Occasional pytest abort on M1 on CI #665

Closed cqc-alec closed 1 year ago

cqc-alec commented 1 year ago

Occasionally the CI tests fail with this error on the M1 Mac:

============================= test session starts ==============================
platform darwin -- Python 3.8.11, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
benchmark: 3.4.1 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /Users/alec/actions-runner2/_work/tket/tket/pytket
plugins: hypothesis-6.14.3, benchmark-3.4.1, cov-3.0.0
collected 382 items

add_circuit_test.py ....                                                 [  1%]
ansatz_sequence_test.py ..                                               [  1%]
architecture_aware_synthesis_test.py .................                   [  6%]
architecture_test.py .....                                               [  7%]
assertion_test.py ..                                                     [  7%]
backend_test.py .....................                                    [ 13%]
backendinfo_test.py ...........                                          [ 16%]
characterisation_test.py .....                                           [ 17%]
circuit_test.py .............................................            [ 29%]
classical_test.py ..................................                     [ 38%]
compilation_test.py .                                                    [ 38%]
distribution_test.py ......                                              [ 40%]
mapping_test.py ...........                                              [ 42%]
measurement_setup_test.py .....                                          [ 44%]
mitigation_test.py ..                                                    [ 44%]
passes_script_test.py ..................                                 [ 49%]
passes_serialisation_test.py ......                                      [ 51%]
placement_test.py .......                                                [ 52%]
predicates_test.py ................................                      [ 61%]
pytket_config_test.py ..                                                 [ 61%]
qasm_test.py ....................................                        [ 71%]
qubitpaulioperator_test.py ............                                  [ 74%]
quipper_test.py .....                                                    [ 75%]
tableau_test.py ..                                                       [ 76%]
tket_sim_test.py ....                                                    [ 77%]
transform_test.py ..................................................     [ 90%]
utils_test.py ..........................                                 [ 97%]
Fatal Python error: Aborted

Current thread 0x00000001054a7d40 (most recent call first):
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/llvmlite/binding/ffi.py", line 151 in __call__
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/llvmlite/binding/executionengine.py", line 92 in finalize_object
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/numba/core/codegen.py", line 1061 in wrapper
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/numba/core/codegen.py", line 1000 in _finalize_specific
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/numba/core/codegen.py", line 798 in _finalize_final_module
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/numba/core/codegen.py", line 941 in _unserialize
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/numba/core/codegen.py", line 1159 in unserialize_library
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/numba/core/compiler.py", line 219 in _rebuild
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/numba/core/caching.py", line 408 in rebuild
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/numba/core/caching.py", line 656 in _load_overload
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/numba/core/caching.py", line 647 in load_overload
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/numba/core/dispatcher.py", line 946 in compile
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/numba/core/dispatcher.py", line 420 in _compile_for_args
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/quimb/tensor/array_ops.py", line 312 in find_antidiag_axes
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/quimb/tensor/tensor_core.py", line 3505 in antidiag_gauge
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/quimb/tensor/tensor_core.py", line 3644 in full_simplify
  File "/Users/alec/actions-runner2/_work/tket/tket/pytket/tests/zx_tensor/tensor_eval.py", line 114 in _tensor_from_basic_diagram
  File "/Users/alec/actions-runner2/_work/tket/tket/pytket/tests/zx_tensor/tensor_eval.py", line 141 in tensor_from_quantum_diagram
  File "/Users/alec/actions-runner2/_work/tket/tket/pytket/tests/zx_tensor/tensor_eval.py", line 166 in unitary_from_quantum_diagram
  File "/Users/alec/actions-runner2/_work/tket/tket/pytket/tests/zx_diagram_test.py", line 195 in test_known_tensors
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/python.py", line 183 in pytest_pyfunc_call
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/python.py", line 1641 in runtest
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/runner.py", line 162 in pytest_runtest_call
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/runner.py", line 255 in <lambda>
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/runner.py", line 311 in from_call
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/runner.py", line 254 in call_runtest_hook
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/runner.py", line 215 in call_and_report
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/runner.py", line 126 in runtestprotocol
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/runner.py", line 109 in pytest_runtest_protocol
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/main.py", line 323 in _main
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/config/__init__.py", line 162 in main
  File "/Users/alec/.pyenv/versions/3.8.11/envs/tket-3.8/lib/python3.8/site-packages/_pytest/config/__init__.py", line 185 in console_main
  File "/Users/alec/.pyenv/versions/tket-3.8/bin/pytest", line 8 in <module>
/Users/alec/actions-runner2/_work/_temp/7537e9a1-1d91-4f12-8909-13d8e9194b5f.sh: line 5: 71786 Abort trap: 6           pytest --ignore=simulator/
zx_diagram_test.py ..
Error: Process completed with exit code 134.
cqc-alec commented 1 year ago

As this hasn't been seen for over a week (since upgrading xcode on the M1 machine), I'm going to optimistically close it. We can always reopen it if it happens again.