I'm getting resolves working with our codebase and...
# general
e
I'm getting resolves working with our codebase and running into an issue I can't understand. Linting the entire repo works locally (linux), but fails in CI with an error parsing the
markdown
package. Details in 🧵
Copy code
06:35:16.58 [ERROR] 1 Exception encountered:


Engine traceback:

in select

in pants.core.goals.lint.lint

in pants.backend.python.lint.pylint.rules.pylint_lint (pylint)

in pants.backend.python.lint.pylint.rules.pylint_lint_partition

in pants.backend.python.util_rules.pex.create_pex

in pants.backend.python.util_rules.pex.build_pex (requirements.pex)

in pants.engine.process.fallible_to_exec_result_or_raise

Traceback (most recent call last):

File "/github/home/.cache/pants/setup/bootstrap-Linux-x86_64/2.11.0+git88b73ee0_py38/lib/python3.8/site-packages/pants/engine/process.py", line 272, in fallible_to_exec_result_or_raise

raise ProcessExecutionFailure(

pants.engine.process.ProcessExecutionFailure: Process 'Building 106 requirements for requirements.pex from the 3rdparty/lockfiles/resolves/monolith.txt resolve: biopython==1.76, bioutils==0.5.5, bleach==4.1.0, boto3==1.20.52, botocore==1.23.52, braintree==3.37.2, business-rules==1.0.1, cachetools==4.2.4, celery[sqs]==4.4.7, cigar==0.1.3, click==7.1.2, clrenv@ git+<https://github.com/color/clrenv.git@v0.2.2#c2be7e7c9a23d0d203daa0515d5c2df0ad270786>, clrriskmodels@ git+<https://github.com/color/risk-models.git@v1.1.1#f2bbe428da49f9d141795bee47469de83e6c28e7>, clrypt@ git+<https://github.com/color/clrypt.git@v0.2.3#861efad297750138e25d18c4867009419fe39459>, cnvkit==0.9.9, colorlog==6.6.0, cryptography==36.0.2, dataclasses==0.6, ddtrace==0.48.0, deepdiff==2.5.1, django-countries==7.2.1, django-filter==2.4.0, django-fsm==2.8.0, django-simple-history==3.0.0, django-timezone-field==4.2.1, django-waffle==2.2.1, django[bcrypt]==3.2.13, djangorestframework-api-key==2.0.0, djangorestframework-queryfields==1.0.0, djangorestframework==3.13.1, docker==5.0.0, drf-spectacular==0.22.0, easypost==5.1.3, elasticsearch==6.8.2, fabric3==1.13.1.post1, factory-boy==3.2.1, filetype==1.0.8, freezegun==1.1.0, google-api-python-client==1.6.4, google-auth-httplib2==0.0.4, google-auth==1.35.0, google-cloud-storage==2.0.0, gtfparse==1.2.0, hgvs==1.5.2, hl7apy==1.3.4, honeycomb-beeline==3.1.0, html2text==2020.1.16, intervaltree==3.0.2, jinja2==2.11.3, jira==3.1.1, joblib==0.17.0, jsonfield==2.1.1, jsonschema==3.0.2, markdown==2.5.1, matplotlib==3.2.2, memoize@ git+<https://github.com/color/memoize.git@5c2712b301b07aee9fc7dc5a6548459488a5ad44>, moto[ec2,s3,sqs,ssm]==2.3.1, munch==2.2.0, numpy==1.19.5, openpyxl==3.0.9, pandas==1.1.5, paramiko==2.8.0, parsley==1.3, pgpy==0.5.4, phonenumberslite==8.12.44, pillow==8.3.2, premailer==3.10.0, protobuf==3.19.1, psutil==5.9.0, pybedtools==0.9.0, pycryptodome==3.6.6, pygments==2.10.0, pyhgvs@ git+<https://github.com/counsyl/hgvs.git@ab9b95f21466fbb3265b5bd818ccab0c926ca59f>, pyjwt==2.3.0, pylibdmtx==0.1.9, pyliftover==0.3, pypdf2==1.25.1, pysam==0.15.4, pytest==6.2.4, python-dateutil==2.8.2, python-intervals==1.10.0, python-json-logger==2.0.2, pytz==2021.3, pyvcf==0.6.8, pyyaml==5.4, raven==6.10.0, redis==3.5.3, requests==2.27.1, ruamel.yaml==0.16.5, sagemaker==2.7.0, scikit-learn==0.24.2, scipy==1.5.4, setuptools==45.3.0, six==1.16.0, slack-sdk==3.12.0, sparkpost==1.2.0, stripe==2.60.0, text-unidecode==1.3, twilio==7.0.0, urllib3==1.26.8, us==2.0.2, uszipcode==0.2.6, weasyprint==52.5, xmltodict==0.12.0, yaspin==2.1.0, zeep==4.1.0' failed with exit code 1.

stdout:


stderr:

WARNING: Built wheel for Markdown is invalid: markdown has an invalid wheel, could not read 'Markdown-2.5.1.dist-info/LICENSE.md' file: BadZipFile('Truncated file header')

ERROR: Failed to build one or more wheels

Traceback (most recent call last):

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 512, in execute_parallel

yield spawn_result.spawned_job.await_result()

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 216, in await_result

job.wait()

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 75, in wait

self._check_returncode(stderr)

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 144, in _check_returncode

raise self.create_error(msg, stderr=stderr)

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 125, in create_error

raise self.Error(

pex.jobs.Error: Executing /github/home/.cache/pants/named_caches/pex_root/venvs/7bbcd6f261771e5523bda29675060150642cf629/f679563b742633f5edaba61ca7d405616ffc49b3/pex --disable-pip-version-check --no-python-version-warning --exists-action a --use-deprecated legacy-resolver --isolated -q --cache-dir /github/home/.cache/pants/named_caches/pex_root wheel --no-deps --wheel-dir /github/home/.cache/pants/named_caches/pex_root/built_wheels/sdists/Markdown-2.5.1.tar.gz/8f81ed12c18608a502828acb7d318f362c42f4eca97d01e93cadfc52c1e40b73/cp38-cp38.216e08dd42b34bbba9528c7bce9002a4 /github/home/.cache/pants/named_caches/pex_root/downloads/8f81ed12c18608a502828acb7d318f362c42f4eca97d01e93cadfc52c1e40b73/Markdown-2.5.1.tar.gz --index-url <https://pypi.org/simple> --retries 5 --timeout 15 failed with 1


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 504, in execute

exit_value = self._wrap_coverage(self._wrap_profiling, self._execute)

File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 409, in _wrap_coverage

return runner(*args)

File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 440, in _wrap_profiling

return runner(*args)

File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 560, in _execute

return self.execute_entry(self._pex_info.entry_point)

File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 696, in execute_entry

return self.execute_pkg_resources(entry_point)

File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 728, in execute_pkg_resources

return runner()

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/bin/pex.py", line 760, in main

do_main(

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/bin/pex.py", line 781, in do_main

pex_builder = build_pex(

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/bin/pex.py", line 630, in build_pex

resolve_from_lock(

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/resolve/lock_resolver.py", line 390, in resolve_from_lock

installed_distributions = build_and_install_request.install_distributions(

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/resolver.py", line 708, in install_distributions

build_results = self._wheel_builder.build_wheels(

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/resolver.py", line 602, in build_wheels

for build_result in execute_parallel(

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 493, in execute_parallel

raise error

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 515, in execute_parallel

result = error_handler.handle_job_error(spawn_result.item, e)

File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 399, in handle_job_error

raise self._raise_type(self.job_error_message(item, job_error))

pex.resolve.resolvers.Untranslatable: pid 7343 -> /github/home/.cache/pants/named_caches/pex_root/venvs/7bbcd6f261771e5523bda29675060150642cf629/f679563b742633f5edaba61ca7d405616ffc49b3/pex --disable-pip-version-check --no-python-version-warning --exists-action a --use-deprecated legacy-resolver --isolated -q --cache-dir /github/home/.cache/pants/named_caches/pex_root wheel --no-deps --wheel-dir /github/home/.cache/pants/named_caches/pex_root/built_wheels/sdists/Markdown-2.5.1.tar.gz/8f81ed12c18608a502828acb7d318f362c42f4eca97d01e93cadfc52c1e40b73/cp38-cp38.216e08dd42b34bbba9528c7bce9002a4 /github/home/.cache/pants/named_caches/pex_root/downloads/8f81ed12c18608a502828acb7d318f362c42f4eca97d01e93cadfc52c1e40b73/Markdown-2.5.1.tar.gz --index-url <https://pypi.org/simple> --retries 5 --timeout 15 exited with 1 and STDERR:

None
At first I thought it was just a transient issue (truncated download?), but it fails dependably in that environment. Works dependably locally. Without a resolve/lockfile, but with
markdown==2.5.1
python requirement, it works in ci.
Is
WARNING: Built wheel for Markdown is invalid: markdown has an invalid wheel, could not read 'Markdown-2.5.1.dist-info/LICENSE.md' file: BadZipFile('Truncated file header')
the issue or a misnomer?
I thought it was maybe a issue with platforms not matching, but I regenerated the lock file in a docker container matching the ci environment and there was no diff.
In this
lint ::
run there are many other partitions built with
markdown
that succeed, but this one consistently fails.
After some pr iteration and ci reruns I am now getting this different, but related error:
Copy code
File "/github/home/.cache/pants/setup/bootstrap-Linux-x86_64/2.11.0+git88b73ee0_py38/lib/python3.8/site-packages/pants/engine/process.py", line 272, in fallible_to_exec_result_or_raise
    raise ProcessExecutionFailure(
pants.engine.process.ProcessExecutionFailure: Process 'Building 131 requirements for requirements.pex from the 3rdparty/lockfiles/resolves/monolith.txt resolve: agefromname==0.0.6, authlib==1.0.0, beautifulsoup4==4.10.0, biopython==1.76, bioutils==0.5.5, bleach==4.1.0, boto3==1.20.52, botocore==1.23.52, braintree==3.37.2, business-rules==1.0.1, cachetools==4.2.4, celery[sqs]==4.4.7, censusdata==1.3, click==7.1.2, clr@ git+<https://github.com/color/clr.git@v0.3.19#a444a0612374a19f22e511b5e3514a60561e6160>, clrenv@ git+<https://github.com/color/clrenv.git@v0.2.2#c2be7e7c9a23d0d203daa0515d5c2df0ad270786>, clrriskmodels@ git+<https://github.com/color/risk-models.git@v1.1.1#f2bbe428da49f9d141795bee47469de83e6c28e7>, clrsvsim@ git+<https://github.com/color/clrsvsim.git@5f329119be6a2bf80c924bc03da750f20e640f90>, clrypt@ git+<https://github.com/color/clrypt.git@v0.2.3#861efad297750138e25d18c4867009419fe39459>, cnvkit==0.9.9, colorlog==6.6.0, cryptography==36.0.2, cssutils==2.3.0, dataclasses==0.6, ddtrace==0.48.0, deepdiff==2.5.1, django-cache-memoize==0.1.7, django-cors-headers==3.7.0, django-countries==7.2.1, django-filter==2.4.0, django-fsm-admin==1.2.4, django-fsm==2.8.0, django-impersonate==1.7.3, django-modeltranslation==0.17.3, django-object-actions==3.0.2, django-redis==5.0.0, django-simple-history==3.0.0, django-storages==1.12.3, django-timezone-field==4.2.1, django-waffle==2.2.1, django[bcrypt]==3.2.13, djangoql==0.16.0, djangorestframework-api-key==2.0.0, djangorestframework-queryfields==1.0.0, djangorestframework==3.13.1, docker==5.0.0, drf-spectacular==0.22.0, drf-yasg==1.20.0, easypost==5.1.3, elasticsearch==6.8.2, fabric3==1.13.1.post1, factory-boy==3.2.1, faker==11.3.0, filetype==1.0.8, freezegun==1.1.0, google-api-python-client==1.6.4, google-auth-httplib2==0.0.4, google-auth==1.35.0, google-cloud-bigquery==2.6.1, google-cloud-storage==2.0.0, googlemaps==2.5.1, gtfparse==1.2.0, hgvs==1.5.2, hl7apy==1.3.4, honeycomb-beeline==3.1.0, html2text==2020.1.16, intervaltree==3.0.2, ipython==7.16.3, jinja2==2.11.3, jira==3.1.1, jsonfield==2.1.1, jsonschema==3.0.2, libhoney==1.11.1, markdown==2.5.1, matplotlib==3.2.2, memoize@ git+<https://github.com/color/memoize.git@5c2712b301b07aee9fc7dc5a6548459488a5ad44>, moto[ec2,s3,sqs,ssm]==2.3.1, munch==2.2.0, numpy==1.19.5, openpyxl==3.0.9, pandas-plink==1.0.0, pandas==1.1.5, paramiko==2.8.0, parsley==1.3, pgpy==0.5.4, phonenumberslite==8.12.44, pillow==8.3.2, premailer==3.10.0, protobuf==3.19.1, psutil==5.9.0, psycopg2==2.9.2, pybedtools==0.9.0, pycryptodome==3.6.6, pygments==2.10.0, pyhgvs@ git+<https://github.com/counsyl/hgvs.git@ab9b95f21466fbb3265b5bd818ccab0c926ca59f>, pyjwt==2.3.0, pylibdmtx==0.1.9, pyliftover==0.3, pypdf2==1.25.1, pypugjs==5.8.1, pysam==0.15.4, pytest-django==4.4.0, pytest==6.2.4, python-dateutil==2.8.2, python-intervals==1.10.0, python-json-logger==2.0.2, python-lokalise-api==1.3.0, pytz==2021.3, pyvcf==0.6.8, pyyaml==5.4, qrcode[pil]==7.3, raven==6.10.0, redis==3.5.3, requests==2.27.1, ruamel.yaml==0.16.5, scipy==1.5.4, sentry-sdk==1.5.4, setuptools==45.3.0, six==1.16.0, slack-sdk==3.12.0, sparkpost==1.2.0, stripe==2.60.0, text-unidecode==1.3, twilio==7.0.0, urllib3==1.26.8, us==2.0.2, uszipcode==0.2.6, weasyprint==52.5, xmltodict==0.12.0, yaspin==2.1.0, zeep==4.1.0' failed with exit code 1.
stdout:

stderr:
ERROR: Exception:
Traceback (most recent call last):
  File "/github/home/.cache/pants/named_caches/pex_root/venvs/s/037c1085/venv/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 223, in _main
    status = self.run(options, args)
  File "/github/home/.cache/pants/named_caches/pex_root/venvs/s/037c1085/venv/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 180, in wrapper
    return func(self, options, args)
  File "/github/home/.cache/pants/named_caches/pex_root/venvs/s/037c1085/venv/lib/python3.8/site-packages/pip/_internal/commands/wheel.py", line 174, in run
    build_successes, build_failures = build(
  File "/github/home/.cache/pants/named_caches/pex_root/venvs/s/037c1085/venv/lib/python3.8/site-packages/pip/_internal/wheel_builder.py", line 338, in build
    wheel_file = _build_one(
  File "/github/home/.cache/pants/named_caches/pex_root/venvs/s/037c1085/venv/lib/python3.8/site-packages/pip/_internal/wheel_builder.py", line 238, in _build_one
    _verify_one(req, wheel_path)
  File "/github/home/.cache/pants/named_caches/pex_root/venvs/s/037c1085/venv/lib/python3.8/site-packages/pip/_internal/wheel_builder.py", line 193, in _verify_one
    with zipfile.ZipFile(wheel_path, allowZip64=True) as zf:
  File "/opt/python/3.8.12/lib/python3.8/zipfile.py", line 1269, in __init__
    self._RealGetContents()
  File "/opt/python/3.8.12/lib/python3.8/zipfile.py", line 1336, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file
Traceback (most recent call last):
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 512, in execute_parallel
    yield spawn_result.spawned_job.await_result()
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 216, in await_result
    job.wait()
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 75, in wait
    self._check_returncode(stderr)
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 144, in _check_returncode
    raise self.create_error(msg, stderr=stderr)
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 125, in create_error
    raise self.Error(
pex.jobs.Error: Executing /github/home/.cache/pants/named_caches/pex_root/venvs/7bbcd6f261771e5523bda29675060150642cf629/f679563b742633f5edaba61ca7d405616ffc49b3/pex --disable-pip-version-check --no-python-version-warning --exists-action a --use-deprecated legacy-resolver --isolated -q --cache-dir /github/home/.cache/pants/named_caches/pex_root wheel --no-deps --wheel-dir /github/home/.cache/pants/named_caches/pex_root/built_wheels/sdists/business-rules-1.0.1.tar.gz/e0f58104df937378856e8199a49af4f5b4dbe5ac21b863a080810dedc3326d1d/cp38-cp38.29c3204bb267435ba0fc08fbfdce0038 /github/home/.cache/pants/named_caches/pex_root/downloads/e0f58104df937378856e8199a49af4f5b4dbe5ac21b863a080810dedc3326d1d/business-rules-1.0.1.tar.gz --index-url <https://pypi.org/simple> --retries 5 --timeout 15 failed with 2

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 504, in execute
    exit_value = self._wrap_coverage(self._wrap_profiling, self._execute)
  File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 409, in _wrap_coverage
    return runner(*args)
  File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 440, in _wrap_profiling
    return runner(*args)
  File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 560, in _execute
    return self.execute_entry(self._pex_info.entry_point)
  File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 696, in execute_entry
    return self.execute_pkg_resources(entry_point)
  File "/github/home/.cache/pants/named_caches/pex_root/unzipped_pexes/479026d892c9306a8907938e1e49f73e1514eabe/.bootstrap/pex/pex.py", line 728, in execute_pkg_resources
    return runner()
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/bin/pex.py", line 760, in main
    do_main(
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/bin/pex.py", line 781, in do_main
    pex_builder = build_pex(
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/bin/pex.py", line 630, in build_pex
    resolve_from_lock(
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/resolve/lock_resolver.py", line 390, in resolve_from_lock
    installed_distributions = build_and_install_request.install_distributions(
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/resolver.py", line 708, in install_distributions
    build_results = self._wheel_builder.build_wheels(
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/resolver.py", line 602, in build_wheels
    for build_result in execute_parallel(
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 493, in execute_parallel
    raise error
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 515, in execute_parallel
    result = error_handler.handle_job_error(spawn_result.item, e)
  File "/github/home/.cache/pants/named_caches/pex_root/installed_wheels/6a5463833452712ecf58a573b1b489c81d14aaed599e955c2af85cf793217a42/pex-2.1.84-py2.py3-none-any.whl/pex/jobs.py", line 399, in handle_job_error
    raise self._raise_type(self.job_error_message(item, job_error))
pex.resolve.resolvers.Untranslatable: pid 3216 -> /github/home/.cache/pants/named_caches/pex_root/venvs/7bbcd6f261771e5523bda29675060150642cf629/f679563b742633f5edaba61ca7d405616ffc49b3/pex --disable-pip-version-check --no-python-version-warning --exists-action a --use-deprecated legacy-resolver --isolated -q --cache-dir /github/home/.cache/pants/named_caches/pex_root wheel --no-deps --wheel-dir /github/home/.cache/pants/named_caches/pex_root/built_wheels/sdists/business-rules-1.0.1.tar.gz/e0f58104df937378856e8199a49af4f5b4dbe5ac21b863a080810dedc3326d1d/cp38-cp38.29c3204bb267435ba0fc08fbfdce0038 /github/home/.cache/pants/named_caches/pex_root/downloads/e0f58104df937378856e8199a49af4f5b4dbe5ac21b863a080810dedc3326d1d/business-rules-1.0.1.tar.gz --index-url <https://pypi.org/simple> --retries 5 --timeout 15 exited with 2 and STDERR:
None
Once again it looks like it's complaining about a malformed wheel (totally possible, this is python land), but once again- why can't I replicate this locally?
h
I vaguely remember seeing these malformed wheels in the past
Which Pants version is this?
e
We are running 2.11.0@88b73ee0712928d1a63796907ab2924fe721bff6 (due to https://github.com/pantsbuild/pants/issues/15544)
Maybe a transient pip thing? Seems to have gone away....
h
huh
possible, but we should handle network failures properly