PPC64 JIT: pip crashes with stack overflow
Haven't got to the bottom of it, yet. Bit of a heisenbug, haven't been able to find out what the regex is that triggers this, yet, without avoiding the crash entirely, but: https://autopkgtest.ubuntu.com/results/autopkgtest-impish/impish/ppc64el/p/python-virtualenv/20210513_024321_10d44@/log.gz
7.3.3 py 3.6 doesn't exhibit this behaviour 7.3.4 py 3.7 does exhibit it.
--jit off
seems to work correctly. But given how heisenbug it is, that may be a red herring.
+ /home/stefanor/tmp/ve/bin/python -m pip
Traceback (most recent call last):
File "/usr/lib/pypy/lib-python/2.7/runpy.py", line 179, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/pypy/lib-python/2.7/runpy.py", line 73, in _run_code
exec code in run_globals
File "/home/stefanor/tmp/ve/site-packages/pip/__main__.py", line 23, in <module>
from pip._internal.cli.main import main as _main # isort:skip # noqa
File "/home/stefanor/tmp/ve/site-packages/pip/_internal/cli/main.py", line 10, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/home/stefanor/tmp/ve/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <
module>
from pip._internal.cli.main_parser import create_main_parser
File "/home/stefanor/tmp/ve/site-packages/pip/_internal/cli/main_parser.py", line 7, in <mod
ule>
from pip._internal.cli import cmdoptions
File "/home/stefanor/tmp/ve/site-packages/pip/_internal/cli/cmdoptions.py", line 23, in <mod
ule>
from pip._vendor.packaging.utils import canonicalize_name
File "/home/stefanor/tmp/ve/site-packages/pip/_vendor/__init__.py", line 67, in <module>
vendored("cachecontrol")
File "/home/stefanor/tmp/ve/site-packages/pip/_vendor/__init__.py", line 36, in vendored
__import__(modulename, globals(), locals(), level=0)
File "/usr/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl/cachecontrol/__init_
_.py", line 9, in <module>
from .wrapper import CacheControl
File "/usr/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl/cachecontrol/wrapper
.py", line 1, in <module>
from .adapter import CacheControlAdapter
File "/usr/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl/cachecontrol/adapter
.py", line 5, in <module>
from requests.adapters import HTTPAdapter
File "/usr/share/python-wheels/requests-2.25.1-py2.py3-none-any.whl/requests/__init__.py", l
ine 43, in <module>
import urllib3
File "/usr/share/python-wheels/urllib3-1.26.4-py2.py3-none-any.whl/urllib3/__init__.py", lin
e 13, in <module>
from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
File "/usr/share/python-wheels/urllib3-1.26.4-py2.py3-none-any.whl/urllib3/connectionpool.py
", line 11, in <module>
from .connection import (
File "/usr/share/python-wheels/urllib3-1.26.4-py2.py3-none-any.whl/urllib3/connection.py", line 15, in <module>
from .util.proxy import create_proxy_ssl_context
File "/usr/share/python-wheels/urllib3-1.26.4-py2.py3-none-any.whl/urllib3/util/__init__.py", line 8, in <module>
from .ssl_ import (
File "/usr/share/python-wheels/urllib3-1.26.4-py2.py3-none-any.whl/urllib3/util/ssl_.py", line 17, in <module>
from .url import BRACELESS_IPV6_ADDRZ_RE, IPV4_RE
File "/usr/share/python-wheels/urllib3-1.26.4-py2.py3-none-any.whl/urllib3/util/url.py", line 63, in <module>
BRACELESS_IPV6_ADDRZ_RE = re.compile("^" + IPV6_ADDRZ_PAT[2:-2] + "$")
File "/usr/lib/pypy/lib-python/2.7/re.py", line 194, in compile
return _compile(pattern, flags)
File "/usr/lib/pypy/lib-python/2.7/re.py", line 249, in _compile
p = sre_compile.compile(pattern, flags)
File "/usr/lib/pypy/lib-python/2.7/sre_compile.py", line 572, in compile
p = sre_parse.parse(p, flags)
File "/usr/lib/pypy/lib-python/2.7/sre_parse.py", line 741, in parse
p = _parse_sub(source, pattern, 0)
File "/usr/lib/pypy/lib-python/2.7/sre_parse.py", line 349, in _parse_sub
itemsappend(_parse(source, state, nested + 1))
File "/usr/lib/pypy/lib-python/2.7/sre_parse.py", line 701, in _parse
p = _parse_sub(source, state, nested + 1)
File "/usr/lib/pypy/lib-python/2.7/sre_parse.py", line 349, in _parse_sub
itemsappend(_parse(source, state, nested + 1))
File "/usr/lib/pypy/lib-python/2.7/sre_parse.py", line 701, in _parse
p = _parse_sub(source, state, nested + 1)
etc.