pydistcheck
pydistcheck copied to clipboard
[bug] 'compiled-objects-have-debug-symbols' check fails with a decoding error on numpy windows amd64 wheel
What did you expect to happen?
For pydistcheck to only print output it controls, not a Python stacktrace.
What actually happened?
Ran the following on my mac (macOS 12.2.1, intel chip)
curl -O https://files.pythonhosted.org/packages/be/b0/611101990ddac767e54e2d27d1f4576ae1662cca64e2d55ef0e62558ec26/numpy-1.26.3-cp310-cp310-win_amd64.whl
pydistcheck ./numpy-1.26.3-cp310-cp310-win_amd64.whl
yields the following:
==================== running pydistcheck ====================
checking './numpy-1.26.3-cp310-cp310-win_amd64.whl'
------------ check results -----------
Traceback (most recent call last):
File "/Users/jlamb/mambaforge/envs/pydistcheck-dev/bin/pydistcheck", line 8, in <module>
sys.exit(check())
^^^^^^^
File "/Users/jlamb/mambaforge/envs/pydistcheck-dev/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/mambaforge/envs/pydistcheck-dev/lib/python3.11/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/Users/jlamb/mambaforge/envs/pydistcheck-dev/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/mambaforge/envs/pydistcheck-dev/lib/python3.11/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/mambaforge/envs/pydistcheck-dev/lib/python3.11/site-packages/pydistcheck/cli.py", line 214, in check
errors += this_check(distro_summary=summary)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/mambaforge/envs/pydistcheck-dev/lib/python3.11/site-packages/pydistcheck/checks.py", line 43, in __call__
has_debug_symbols, cmd_str = _archive_member_has_debug_symbols(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/mambaforge/envs/pydistcheck-dev/lib/python3.11/site-packages/pydistcheck/shared_lib_utils.py", line 79, in _archive_member_has_debug_symbols
has_debug_symbols, cmd_str = _look_for_debug_symbols(lib_file=full_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/mambaforge/envs/pydistcheck-dev/lib/python3.11/site-packages/pydistcheck/shared_lib_utils.py", line 53, in _look_for_debug_symbols
stdout = _run_command(args=[*cmd_args, lib_file])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/mambaforge/envs/pydistcheck-dev/lib/python3.11/site-packages/pydistcheck/shared_lib_utils.py", line 22, in _run_command
return stdout.decode("utf-8")
^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd7 in position 1749588: invalid continuation byte
How can someone else reproduce this problem?
see above
What version of pydistcheck are you using?
0.5.1
Notes
output of 'conda info' (click me)
active environment : pydistcheck-dev
active env location : /Users/jlamb/mambaforge/envs/pydistcheck-dev
shell level : 1
user config file : /Users/jlamb/.condarc
populated config files : /Users/jlamb/mambaforge/.condarc
/Users/jlamb/.condarc
conda version : 23.11.0
conda-build version : 3.27.0
python version : 3.9.9.final.0
solver : libmamba (default)
virtual packages : __archspec=1=skylake
__conda=23.11.0=0
__osx=12.2.1=0
__unix=0=0
base environment : /Users/jlamb/mambaforge (writable)
conda av data dir : /Users/jlamb/mambaforge/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/osx-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/osx-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/osx-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /Users/jlamb/mambaforge/pkgs
/Users/jlamb/.conda/pkgs
envs directories : /Users/jlamb/mambaforge/envs
/Users/jlamb/.conda/envs
platform : osx-64
user-agent : conda/23.11.0 requests/2.31.0 CPython/3.9.9 Darwin/21.3.0 OSX/12.2.1 solver/libmamba conda-libmamba-solver/23.12.0 libmambapy/1.5.4
UID:GID : 501:20
netrc file : None
offline mode : False
output of 'conda env export'
name: pydistcheck-dev
channels:
- conda-forge
- defaults
dependencies:
- black=23.7.0=py311h6eed73b_1
- brotli-python=1.1.0=py311hdf8f085_1
- bzip2=1.0.8=h0d85af4_4
- ca-certificates=2023.11.17=h8857fd0_0
- certifi=2023.11.17=pyhd8ed1ab_0
- charset-normalizer=3.3.2=pyhd8ed1ab_0
- click=8.1.7=unix_pyh707e725_0
- cmakelint=1.4.2=pyhd8ed1ab_0
- colorama=0.4.6=pyhd8ed1ab_0
- coverage=7.3.0=py311h2725bcf_0
- exceptiongroup=1.1.3=pyhd8ed1ab_0
- idna=3.6=pyhd8ed1ab_0
- iniconfig=2.0.0=pyhd8ed1ab_0
- isort=5.12.0=pyhd8ed1ab_1
- libcxx=16.0.6=hd57cbcb_0
- libexpat=2.5.0=hf0c8a7f_1
- libffi=3.4.2=h0d85af4_5
- libsqlite=3.43.0=h58db7d2_0
- libzlib=1.2.13=h8a1eda9_5
- mypy=1.5.1=py311h2725bcf_0
- mypy_extensions=1.0.0=pyha770c72_0
- ncurses=6.4=hf0c8a7f_0
- openssl=3.2.0=hd75f5a5_1
- packaging=23.1=pyhd8ed1ab_0
- pathspec=0.11.2=pyhd8ed1ab_0
- pip=23.2.1=pyhd8ed1ab_0
- platformdirs=3.10.0=pyhd8ed1ab_0
- pluggy=1.3.0=pyhd8ed1ab_0
- psutil=5.9.5=py311h5547dcb_0
- pysocks=1.7.1=pyha2e5f31_6
- pytest=7.4.1=pyhd8ed1ab_0
- pytest-cov=4.1.0=pyhd8ed1ab_0
- python=3.11.5=h30d4d87_0_cpython
- python_abi=3.11=3_cp311
- pyyaml=6.0.1=py311h2725bcf_1
- readline=8.2=h9e318b2_1
- requests=2.31.0=pyhd8ed1ab_0
- ruff=0.1.3=py311hec6fdf1_0
- setuptools=68.1.2=pyhd8ed1ab_0
- tk=8.6.12=h5dbffcc_0
- toml=0.10.2=pyhd8ed1ab_0
- tomli=2.0.1=pyhd8ed1ab_0
- typing-extensions=4.7.1=hd8ed1ab_0
- typing_extensions=4.7.1=pyha770c72_0
- tzdata=2023c=h71feb2d_0
- urllib3=2.1.0=pyhd8ed1ab_0
- wheel=0.41.2=pyhd8ed1ab_0
- xz=5.2.6=h775f41a_0
- yaml=0.2.5=h0d85af4_2
- yamllint=1.32.0=pyhd8ed1ab_0
- pip:
- pydistcheck==0.5.1
- types-requests==2.31.0.2
- types-urllib3==1.26.25.14
prefix: /Users/jlamb/mambaforge/envs/pydistcheck-dev