traviscross / mtr

Official repository for mtr, a network diagnostic tool
http://www.bitwizard.nl/mtr/
GNU General Public License v2.0
2.64k stars 337 forks source link

Assistance request: failed to communicate with subprocess mtr-packet #437

Open garyjkuehn opened 2 years ago

garyjkuehn commented 2 years ago

Any additional triage guidance would be appreciated. mtr was installed via homebrew on my Mac (Monterey 12.4). I've confirmed the /opt/homebrew/sbin in my path contains alias for mtr and mtr-packet in stalled in their versioned target directory /opt/homebrew/Cellar/mtr/0.95/sbin/.

I've verified the pathing. I've tried copying the executables directly the sbin directory specified within the path which all result in the same error attached.

mtr-packet: Failure to open IPv4 sockets mtr-packet: Failure to open IPv6 sockets Traceback (most recent call last): File "/Users/gary/Projects/probe/probe.py", line 39, in asyncio.run(main()) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ asyncio/base_events.py", line 641, in run_until_complete return future.result() File "/Users/gary/Projects/probe/probe.py", line 26, in main await asyncio.gather(probe()) File "/Users/gary/Projects/probe/probe.py", line 14, in probe async with mtrpacket.MtrPacket() as mtr: File "/Users/gary/Projects/probe/.venv/lib/python3.10/site-packages/mtrpacket/ init.py", line 138, in aenter await self.open() File "/Users/gary/Projects/probe/.venv/lib/python3.10/site-packages/mtrpacket/ init.py", line 313, in open if not await self.check_support('send-probe'): File "/Users/gary/Projects/probe/.venv/lib/python3.10/site-packages/mtrpacket/ init.py", line 367, in checksupport (, args) = await self._command('check-support', check_args) File "/Users/gary/Projects/probe/.venv/lib/python3.10/site-packages/mtrpacket/ init.py", line 275, in _command return await future mtrpacket.ProcessError: failure to communicate with subprocess "mtr-packet" (is it installed and in the PATH?)

Any suggestions are appreciated

rewolff commented 2 years ago

Ehh. That's error messages implying a "probe.py" python program is having trouble....

The thing is... I'm not aware of any python code inside MTR....

garyjkuehn commented 2 years ago

Thank you. I'll review the installation of mtr-packet from pypi once again. Pip show indicates mtrpacket is 1.0.0 with no dependencies. my function for instantiating mtr-packet is:

async def probe(): async with mtrpacket.MtrPacket() as mtr: result = await mtr.probe('example.com')

If the ping got a reply, report the IP address and time

    if result.success:
        print('reply from {} in {} ms'.format(
            result.responder, result.time_ms))
    else:
        print('no reply ({})'.format(result.result))

Confirmed operation of mtr by self from terminal running sudo mtr. This runs fine. Reviewing mtr-packet. Am I mixing incompatible packages? .....