-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: add PyPy to the test matrix #2927
Conversation
This is the new test: https://github.com/scikit-hep/awkward/actions/runs/7465667246/job/20315354329?pr=2927 |
Aha: this is the same error we saw in Ragged: https://github.com/scikit-hep/awkward/actions/runs/7465667246/job/20315354329?pr=2927 2024-01-09T19:05:10.7867737Z ============================= test session starts ============================== 2024-01-09T19:05:10.7870057Z platform linux -- Python 3.9.18[pypy-7.3.13-final], pytest-7.4.4, pluggy-1.3.0 -- /opt/hostedtoolcache/PyPy/3.9.18/x64/bin/python 2024-01-09T19:05:10.7871351Z cachedir: .pytest_cache 2024-01-09T19:05:10.7872009Z rootdir: /home/runner/work/awkward/awkward 2024-01-09T19:05:10.7872651Z configfile: pyproject.toml 2024-01-09T19:05:10.7873590Z plugins: xdist-3.5.0, github-actions-annotate-failures-0.2.0, cov-4.1.0 2024-01-09T19:06:09.2910770Z Fatal Python error: Segmentation fault 2024-01-09T19:06:09.2912440Z 2024-01-09T19:06:09.2913251Z Stack (most recent call first, approximate line numbers): 2024-01-09T19:06:09.2915294Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/assertion/rewrite.py", line 354 in _rewrite_test 2024-01-09T19:06:09.2917300Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/assertion/rewrite.py", line 146 in exec_module 2024-01-09T19:06:09.2941200Z File "", line 659 in _load_unlocked 2024-01-09T19:06:09.2942356Z File "", line 967 in _find_and_load_unlocked 2024-01-09T19:06:09.2943422Z File "", line 1002 in _find_and_load 2024-01-09T19:06:09.2944432Z File "", line 1018 in _gcd_import 2024-01-09T19:06:09.2945805Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/importlib/__init__.py", line 109 in import_module 2024-01-09T19:06:09.2947808Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/pathlib.py", line 486 in import_path 2024-01-09T19:06:09.2950056Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/python.py", line 613 in _importtestmodule 2024-01-09T19:06:09.2952064Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/python.py", line 527 in _getobj 2024-01-09T19:06:09.2959416Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/python.py", line 305 in obj 2024-01-09T19:06:09.2960653Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/python.py", line 536 in _inject_setup_module_fixture 2024-01-09T19:06:09.2961812Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/python.py", line 530 in collect 2024-01-09T19:06:09.2962871Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/runner.py", line 372 in 2024-01-09T19:06:09.2963924Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/runner.py", line 318 in from_call 2024-01-09T19:06:09.2965071Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/runner.py", line 371 in pytest_make_collect_report 2024-01-09T19:06:09.2966221Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/pluggy/_callers.py", line 27 in _multicall 2024-01-09T19:06:09.2967603Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/pluggy/_manager.py", line 106 in _hookexec 2024-01-09T19:06:09.2968744Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/pluggy/_hooks.py", line 479 in __call__ 2024-01-09T19:06:09.2969868Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/runner.py", line 544 in collect_one_node 2024-01-09T19:06:09.2970966Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/main.py", line 833 in genitems 2024-01-09T19:06:09.2971995Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/main.py", line 833 in genitems 2024-01-09T19:06:09.2973080Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/main.py", line 616 in perform_collect 2024-01-09T19:06:09.2974313Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/main.py", line 334 in pytest_collection 2024-01-09T19:06:09.2975415Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/pluggy/_callers.py", line 27 in _multicall 2024-01-09T19:06:09.2976588Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/pluggy/_manager.py", line 106 in _hookexec 2024-01-09T19:06:09.2977634Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/pluggy/_hooks.py", line 479 in __call__ 2024-01-09T19:06:09.2978643Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/main.py", line 321 in _main 2024-01-09T19:06:09.2979679Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/main.py", line 258 in wrap_session 2024-01-09T19:06:09.2980775Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/main.py", line 317 in pytest_cmdline_main 2024-01-09T19:06:09.2981873Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/pluggy/_callers.py", line 27 in _multicall 2024-01-09T19:06:09.2982924Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/pluggy/_manager.py", line 106 in _hookexec 2024-01-09T19:06:09.2983974Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/pluggy/_hooks.py", line 479 in __call__ 2024-01-09T19:06:09.2985036Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/config/__init__.py", line 135 in main 2024-01-09T19:06:09.2986161Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/_pytest/config/__init__.py", line 185 in console_main 2024-01-09T19:06:09.2987441Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/site-packages/pytest/__main__.py", line 1 in 2024-01-09T19:06:09.2988393Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/runpy.py", line 64 in _run_code 2024-01-09T19:06:09.2989402Z File "/opt/hostedtoolcache/PyPy/3.9.18/x64/lib/pypy3.9/runpy.py", line 175 in _run_module_as_main 2024-01-09T19:06:09.2990075Z File "/app_main.py", line 131 in run_toplevel 2024-01-09T19:06:09.2990556Z File "/app_main.py", line 737 in run_command_line 2024-01-09T19:06:09.2991057Z File "/app_main.py", line 1131 in entry_point 2024-01-09T19:06:18.9937348Z /home/runner/work/_temp/511913bb-7b58-4bb0-b6ee-aa2e6c7d8e0f.sh: line 1: 3053 Segmentation fault (core dumped) python -m pytest -vv -rs tests --cov=awkward --cov-report=term --cov-report=xml 2024-01-09T19:06:18.9939495Z collecting ... 2024-01-09T19:06:18.9954269Z ##[error]Process completed with exit code 139. 2024-01-09T19:06:19.0046256Z Post job cleanup. 2024-01-09T19:06:19.0489988Z deleted paths-output-file: /tmp/e0bb7c1b-c599-4edb-aff1-7dd9a7b276bc.txt 2024-01-09T19:06:19.0603714Z Post job cleanup. 2024-01-09T19:06:19.1337508Z [command]/usr/bin/git version 2024-01-09T19:06:19.1377219Z git version 2.43.0 2024-01-09T19:06:19.1419408Z Temporarily overriding HOME='/home/runner/work/_temp/bb14edac-8d7f-4f16-bbf3-c5e68ac72955' before making global git config changes 2024-01-09T19:06:19.1421189Z Adding repository directory to the temporary git global config as a safe directory 2024-01-09T19:06:19.1425047Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/awkward/awkward 2024-01-09T19:06:19.1458619Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2024-01-09T19:06:19.1490283Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2024-01-09T19:06:19.1717795Z Entering 'awkward-cpp/rapidjson' 2024-01-09T19:06:19.1776714Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2024-01-09T19:06:19.1798031Z http.https://github.com/.extraheader 2024-01-09T19:06:19.1809134Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader 2024-01-09T19:06:19.1839881Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" 2024-01-09T19:06:19.2056571Z Entering 'awkward-cpp/rapidjson' 2024-01-09T19:06:19.2081960Z http.https://github.com/.extraheader 2024-01-09T19:06:19.2364058Z Cleaning up orphan processes And just like the failure in Ragged, it will probably go away if I run it again. It's probably intermittent. |
Right: different error this time. Now it's
which is because of #2920. I'll get to that later. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jpivarski - I think, this PR good to be merged! There is no indication that the error is due to adding pypy
. In fact, I observe the same error in #2896:
=================================== FAILURES ===================================
____________________________ test_dtype_deprecated _____________________________
def test_dtype_deprecated():
form = ak.forms.EmptyForm()
> with pytest.warns(
DeprecationWarning,
match=r"the `dtype` parameter in EmptyForm\.to_NumpyForm is deprecated",
):
E DeprecationWarning: In version 2.4.0, this will be an error.
E To raise these warnings as errors (and get stack traces to find out where they're called), run
E import warnings
E warnings.filterwarnings("error", module="awkward.*")
E after the first `import awkward` or use `@pytest.mark.filterwarnings("error:::awkward.*")` in pytest.
E Issue: from_dtype conversion of temporal units to generic `datetime64` and `timedelta64` types is deprecated, pass `time_units_as_parameter=False` to disable this warning..
form = EmptyForm()
next_form = NumpyForm('int64')
/project/tests/test_2503_deprecate_to_numpyform.py:13: DeprecationWarning
Okay, thanks! However, I want to fix the test failure before merging, which means that this and at least one other PR are blocked by it. I have some meetings today, but I'll look after they're done. |
I saw a segfault in Ragged with PyPy (https://github.com/jpivarski/ragged/actions/runs/7465258504/job/20314035307) and although there were no indications that the segfault was due to Awkward, we should probably be testing Awkward with PyPy just to be aware of how often, if ever, this happens.
Since GitHub deletes these after some time, here's a copy of the segfault output from that test: