Skip to content
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

[CI][Python] test_plasma crashes #31948

Closed
asfimport opened this issue May 17, 2022 · 7 comments
Closed

[CI][Python] test_plasma crashes #31948

asfimport opened this issue May 17, 2022 · 7 comments

Comments

@asfimport
Copy link

test_plasma has started crashing on various CI configurations recently: Debian Python, Ubuntu Python but also macOS Python.

Example test log: https://dev.azure.com/ursacomputing/crossbow/_build/results?buildId=25782&view=logs&j=0da5d1d9-276d-5173-c4c4-9d4d4ed14fdb&t=d9b15392-e4ce-5e4c-0c8c-b69645229181&l=9148

Reporter: Antoine Pitrou / @pitrou

Note: This issue was originally created as ARROW-16593. Please see the migration documentation for further details.

@asfimport
Copy link
Author

Antoine Pitrou / @pitrou:
Here is the test log once pytest buffering is disabled:

/arrow/cpp/src/plasma/store.cc:1297: Starting object store with directory /dev/shm and huge page support disabled
/arrow/cpp/src/plasma/io.cc:177: Connection to IPC socket failed for pathname unknown-store-name, retrying 1 more times
Fatal Python error: Python memory allocator called without holding the GIL
Python runtime state: initialized

Current thread 0x00007fac00edb740 (most recent call first):
  File "/usr/local/lib/python3.8/dist-packages/pyarrow/tests/test_plasma.py", line 119 in test_connection_failure_raises_exception
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 192 in pytest_pyfunc_call
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 1761 in runtest
  File "/usr/local/lib/python3.8/dist-packages/_pytest/runner.py", line 166 in pytest_runtest_call
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/local/lib/python3.8/dist-packages/_pytest/runner.py", line 259 in <lambda>
  File "/usr/local/lib/python3.8/dist-packages/_pytest/runner.py", line 338 in from_call
  File "/usr/local/lib/python3.8/dist-packages/_pytest/runner.py", line 258 in call_runtest_hook
  File "/usr/local/lib/python3.8/dist-packages/_pytest/runner.py", line 219 in call_and_report
  File "/usr/local/lib/python3.8/dist-packages/_pytest/runner.py", line 130 in runtestprotocol
  File "/usr/local/lib/python3.8/dist-packages/_pytest/runner.py", line 111 in pytest_runtest_protocol
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/local/lib/python3.8/dist-packages/_pytest/main.py", line 347 in pytest_runtestloop
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/local/lib/python3.8/dist-packages/_pytest/main.py", line 322 in _main
  File "/usr/local/lib/python3.8/dist-packages/_pytest/main.py", line 268 in wrap_session
  File "/usr/local/lib/python3.8/dist-packages/_pytest/main.py", line 315 in pytest_cmdline_main
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 39 in _multicall
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_hooks.py", line 265 in __call__
  File "/usr/local/lib/python3.8/dist-packages/_pytest/config/__init__.py", line 164 in main
  File "/usr/local/lib/python3.8/dist-packages/_pytest/config/__init__.py", line 187 in console_main
  File "/usr/local/bin/pytest", line 8 in <module>
/arrow/cpp/src/plasma/store.cc:754: Disconnecting client on fd 7
/arrow/cpp/src/plasma/store.cc:754: Disconnecting client on fd 6
/arrow/ci/scripts/python_test.sh: line 55: 15097 Aborted                 (core dumped) pytest -r s -vs ${PYTEST_ARGS} --pyargs pyarrow.tests.test_plasma

@asfimport
Copy link
Author

Antoine Pitrou / @pitrou:
Looks like a Cython bug appeared in 0.29.29 (0.29.28 is fine).

@asfimport
Copy link
Author

Antoine Pitrou / @pitrou:
Filed cython/cython#4796

@asfimport
Copy link
Author

Antoine Pitrou / @pitrou:
We may or may not want to pin Cython in the meantime. @raulcd @kou

(my experience is that the Cython developers are quite reactive)

@asfimport
Copy link
Author

Raúl Cumplido / @raulcd:
I was able to reproduce locally and had a branch pinning the version ready but I saw it was being dealt with on the Cython repo already. I have tested now that the new Cython version with the fix 0.29.30 has been published:

#11 1.250 Collecting cython>=0.29
#11 1.351   Downloading Cython-0.29.30-py2.py3-none-any.whl (985 kB)

All tests are passing now, the issue is solved. I am not sure if I should manually Resolve or Close the issue on this case so I'll let someone else do it.

@asfimport
Copy link
Author

Kouhei Sutou / @kou:
I don't think that we need to pin Cython.
I think that we should report a problem to Cython instead of pinning Cython like this case.

@asfimport
Copy link
Author

Antoine Pitrou / @pitrou:

I have tested now that the new Cython version with the fix 0.29.30 has been published:
Wow, that was quick.

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

No branches or pull requests

1 participant