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_venv fails in Travis with GCC #80159
Comments
I noticed this while checking bpo-35961. test_venv is always failing on GCC which is marked as optional in Travis. Log : https://travis-ci.org/python/cpython/jobs/492123436#L1909 0:39:35 load avg: 1.00 [390/416] test_venv
test test_venv failed -- Traceback (most recent call last):
File "/home/travis/build/python/cpython/Lib/test/test_venv.py", line 309, in test_multiprocessing
out, err = check_output([envpy, '-c',
File "/home/travis/build/python/cpython/Lib/test/test_venv.py", line 37, in check_output
raise subprocess.CalledProcessError(
subprocess.CalledProcessError: Command '['/tmp/tmpg8ubeyfn/bin/python', '-c', 'from multiprocessing import Pool; print(Pool(1).apply_async("Python".lower).get(3))']' died with <Signals.SIGABRT: 6>. Also GCC test have been timing out for at least past 4 months : https://python.zulipchat.com/#narrow/stream/116742-core.2Fhelp/topic/GCC.20build.20in.20Travis.20always.20times.20out |
Pablo: Can this issue be related bpo-35378? commit 3766f18
|
That looks like a similar example of the problem that bpo-35378 solves. But the PR is merged and the test keeps failing: test test_venv failed -- Traceback (most recent call last):
File "/home/travis/build/python/cpython/Lib/test/test_venv.py", line 309, in test_multiprocessing
out, err = check_output([envpy, '-c',
File "/home/travis/build/python/cpython/Lib/test/test_venv.py", line 37, in check_output
raise subprocess.CalledProcessError(
subprocess.CalledProcessError: Command '['/tmp/tmplplx90pf/bin/python', '-c', 'from multiprocessing import Pool; print(Pool(1).apply_async("Python".lower).get(3))']' died with <Signals.SIGABRT: 6>. https://travis-ci.org/python/cpython/jobs/492305033 Running that command locally on master does not die with SIGABRT: ❯ ./python -c 'from multiprocessing import Pool; print(Pool(1).apply_async("Python".lower).get(3))'; echo $? |
I can reproduce the crash using the same command than the job. Simplified commands to reproduce the bug: ./configure && make |
The Python of the virtual environment created by the test doesn't work: $ /tmp/tmp0vybyos2/bin/python -c pass
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: initfsencoding: failed to get the Python codec of the filesystem encoding
ModuleNotFoundError: No module named 'encodings' Current thread 0x00007f2956ab8740 (most recent call first): |
Hum, test_executable() of test_venv is skipped if run in a venv, but not test_multiprocessing():
def test_multiprocessing(self):
...
self.run_with_capture(venv.create, self.env_dir)
envpy = os.path.join(os.path.realpath(self.env_dir),
self.bindir, self.exe)
... The test has been added by: commit 4e02f8f |
I guess we need a "skipInLinuxVenv", since it works fine on Windows :) |
I'm on this. I'll make a new (or possibly complete replacement) for @skipInVenv that is @requireVenvCreate, since that's the common piece that doesn't work in a venv (except on Windows). |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: