- Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
I think this is because of ping command on Alpine Linux has different options than e.g. on Debian.
# docker container run -it --rm python:3.13.1-alpine3.21 sh / # ping -c 1 -s 1072 -W 4 -i 1 -M do -4 192.168.1.1 ping: unrecognized option: M BusyBox v1.37.0 (2024-12-13 21:18:49 UTC) multi-call binary. Usage: ping [OPTIONS] HOST Send ICMP ECHO_REQUESTs to HOST -4,-6 Force IP or IPv6 name resolution -c CNT Send only CNT pings -s SIZE Send SIZE data bytes in packets (default 56) -i SECS Interval -A Ping as soon as reply is received -t TTL Set TTL -I IFACE/IP Source interface or IP address -W SEC Seconds to wait for the first response (default 10) (after all -c CNT packets are sent) -w SEC Seconds until ping exits (default:infinite) (can exit earlier with -c CNT) -q Quiet, only display output at start/finish -p HEXBYTE Payload pattern Here is the steps to reproduce the bug:
# docker container run -it --rm python:3.13.1-alpine3.21 sh / # python --version Python 3.13.1 / # pip --version pip 24.3.1 from /usr/local/lib/python3.13/site-packages/pip (python 3.13) / # apk add gcc python3-dev musl-dev linux-headers fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/main/x86_64/APKINDEX.tar.gz fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/community/x86_64/APKINDEX.tar.gz (1/22) Installing libgcc (14.2.0-r4) (2/22) Installing jansson (2.14-r4) (3/22) Installing libstdc++ (14.2.0-r4) (4/22) Installing zstd-libs (1.5.6-r2) (5/22) Installing binutils (2.43.1-r1) (6/22) Installing libgomp (14.2.0-r4) (7/22) Installing libatomic (14.2.0-r4) (8/22) Installing gmp (6.3.0-r2) (9/22) Installing isl26 (0.26-r1) (10/22) Installing mpfr4 (4.2.1-r0) (11/22) Installing mpc1 (1.3.1-r1) (12/22) Installing gcc (14.2.0-r4) (13/22) Installing linux-headers (6.6-r1) (14/22) Installing musl-dev (1.2.5-r8) (15/22) Installing pkgconf (2.3.0-r0) (16/22) Installing libexpat (2.6.4-r0) (17/22) Installing mpdecimal (4.0.0-r0) (18/22) Installing python3 (3.12.8-r1) (19/22) Installing python3-pycache-pyc0 (3.12.8-r1) (20/22) Installing pyc (3.12.8-r1) (21/22) Installing python3-pyc (3.12.8-r1) (22/22) Installing python3-dev (3.12.8-r1) Executing busybox-1.37.0-r9.trigger OK: 305 MiB in 50 packages / # pip install ofunctions.network Collecting ofunctions.network Downloading ofunctions.network-1.6.0-py3-none-any.whl.metadata (18 kB) Collecting requests>=2.22.0 (from ofunctions.network) Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB) Collecting command-runner>=1.3.1 (from ofunctions.network) Downloading command_runner-1.7.0-py3-none-any.whl.metadata (26 kB) Collecting ofunctions.bisection>=0.2.1 (from ofunctions.network) Downloading ofunctions.bisection-1.0.0-py3-none-any.whl.metadata (9.0 kB) Collecting ofunctions.threading>=2.3.0 (from ofunctions.network) Downloading ofunctions.threading-2.3.0-py3-none-any.whl.metadata (17 kB) Collecting ofunctions.misc>=1.5.2 (from ofunctions.network) Downloading ofunctions.misc-1.8.0-py3-none-any.whl.metadata (18 kB) Collecting psutil>=5.3.0 (from ofunctions.network) Downloading psutil-6.1.1.tar.gz (508 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting typing>=3.5.0 (from ofunctions.network) Downloading typing-3.7.4.3.tar.gz (78 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting ipaddress (from ofunctions.network) Downloading ipaddress-1.0.23-py2.py3-none-any.whl.metadata (923 bytes) Collecting charset-normalizer<4,>=2 (from requests>=2.22.0->ofunctions.network) Downloading charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl.metadata (35 kB) Collecting idna<4,>=2.5 (from requests>=2.22.0->ofunctions.network) Downloading idna-3.10-py3-none-any.whl.metadata (10 kB) Collecting urllib3<3,>=1.21.1 (from requests>=2.22.0->ofunctions.network) Downloading urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB) Collecting certifi>=2017.4.17 (from requests>=2.22.0->ofunctions.network) Downloading certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB) Downloading ofunctions.network-1.6.0-py3-none-any.whl (15 kB) Downloading command_runner-1.7.0-py3-none-any.whl (25 kB) Downloading ofunctions.bisection-1.0.0-py3-none-any.whl (8.0 kB) Downloading ofunctions.misc-1.8.0-py3-none-any.whl (13 kB) Downloading ofunctions.threading-2.3.0-py3-none-any.whl (11 kB) Downloading requests-2.32.3-py3-none-any.whl (64 kB) Downloading ipaddress-1.0.23-py2.py3-none-any.whl (18 kB) Downloading certifi-2024.12.14-py3-none-any.whl (164 kB) Downloading charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl (145 kB) Downloading idna-3.10-py3-none-any.whl (70 kB) Downloading urllib3-2.3.0-py3-none-any.whl (128 kB) Building wheels for collected packages: psutil, typing Building wheel for psutil (pyproject.toml) ... done Created wheel for psutil: filename=psutil-6.1.1-cp36-abi3-linux_x86_64.whl size=283373 sha256=d61e3ac7210bd39db4ae1a86bf5ad080b773196ed92a5d8ef003bbcbcaec391d Stored in directory: /root/.cache/pip/wheels/ff/fe/eb/59cac25690b1a9600e50b007a414ddabb88c04e3ca5df008d9 Building wheel for typing (pyproject.toml) ... done Created wheel for typing: filename=typing-3.7.4.3-py3-none-any.whl size=26365 sha256=16cbc3570112ac826109cd4b73dbef1eca6ddde996f868f080f433bf544bbb09 Stored in directory: /root/.cache/pip/wheels/5d/1b/f4/fbdc2bc618f0ba7aec7295d67f62d40e6027a6ce14df9ec3c8 Successfully built psutil typing Installing collected packages: ipaddress, urllib3, typing, psutil, ofunctions.threading, idna, charset-normalizer, certifi, requests, ofunctions.misc, ofunctions.bisection, command-runner, ofunctions.network Successfully installed certifi-2024.12.14 charset-normalizer-3.4.1 command-runner-1.7.0 idna-3.10 ipaddress-1.0.23 ofunctions.bisection-1.0.0 ofunctions.misc-1.8.0 ofunctions.network-1.6.0 ofunctions.threading-2.3.0 psutil-6.1.1 requests-2.32.3 typing-3.7.4.3 urllib3-2.3.0 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning. / # python Python 3.13.1 (main, Jan 8 2025, 18:18:10) [GCC 14.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from ofunctions.network import probe_mtu >>> print(probe_mtu("192.168.1.1")) Traceback (most recent call last): File "/usr/local/lib/python3.13/site-packages/ofunctions/network/__init__.py", line 451, in probe_mtu return bisection.bisect(ping, ping_args, allow_all_expected=True)[1] ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/ofunctions/bisection/__init__.py", line 79, in bisect raise ValueError("Both sides of the argument list are unexpected results") ValueError: Both sides of the argument list are unexpected results During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<python-input-1>", line 1, in <module> print(probe_mtu("192.168.1.1")) ~~~~~~~~~^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/ofunctions/network/__init__.py", line 462, in probe_mtu raise ValueError( "Unable to determine MTU via defined method: {}".format(exc) ) ValueError: Unable to determine MTU via defined method: Both sides of the argument list are unexpected results It should be noted that the same error ("ValueError: Both sides of the argument list are unexpected results") happens if ping command is not installed. This is confusing.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels