Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong path being used for idb_companion #835

Open
kmarple1 opened this issue May 24, 2023 · 2 comments
Open

Wrong path being used for idb_companion #835

kmarple1 opened this issue May 24, 2023 · 2 comments

Comments

@kmarple1
Copy link

Description

I have installed idb_companion per the documentation. which idb_companion returns "/opt/homebrew/bin/idb_companion". However, I keep seeing this error in Flipper (full log entry below): "FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/bin/idb_companion'".

Reproduction

iOS log tailer stderr:  2023-05-24 10:04:32,718 [ERROR] - root - Exception thrown in main
Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/idb/cli/[main.py](http://main.py/)", line 313, in gen_main
    await root_command.run(args)
  File "/opt/homebrew/lib/python3.11/site-packages/idb/common/[command.py](http://command.py/)", line 90, in run
    return await self.resolve_command_from_args(args).run(args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/idb/cli/__init__.py", line 106, in run
    await self._run_impl(args)
  File "/opt/homebrew/lib/python3.11/site-packages/idb/cli/__init__.py", line 126, in _run_impl
    async with _get_client(args=args, logger=self.logger) as client:
  File "/opt/homebrew/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/[contextlib.py](http://contextlib.py/)", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/idb/cli/__init__.py", line 63, in _get_client
    async with GrpcClientManager(
  File "/opt/homebrew/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/[contextlib.py](http://contextlib.py/)", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/idb/grpc/[management.py](http://management.py/)", line 166, in from_udid
    companion = await self._spawn_companion_server(udid=udid)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/idb/grpc/[management.py](http://management.py/)", line 122, in _spawn_companion_server
    target_type = await _local_target_type(companion=companion, udid=udid)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/idb/grpc/[management.py](http://management.py/)", line 37, in _local_target_type
    target.udid: target for target in await companion.list_targets(only=None)
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/idb/common/[logging.py](http://logging.py/)", line 113, in _async_wrapper
    raise ex
  File "/opt/homebrew/lib/python3.11/site-packages/idb/common/[logging.py](http://logging.py/)", line 88, in _async_wrapper
    value = await function(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/idb/common/[companion.py](http://companion.py/)", line 383, in list_targets
    output = await self._run_companion_command(arguments=arguments, timeout=timeout)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/idb/common/[companion.py](http://companion.py/)", line 161, in _run_companion_command
    async with self._start_companion_command(arguments=arguments) as process:
  File "/opt/homebrew/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/[contextlib.py](http://contextlib.py/)", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/idb/common/[companion.py](http://companion.py/)", line 137, in _start_companion_command
    process = await asyncio.create_subprocess_exec(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/[subprocess.py](http://subprocess.py/)", line 218, in create_subprocess_exec
    transport, protocol = await loop.subprocess_exec(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/base_events.py", line 1694, in subprocess_exec
    transport = await self._make_subprocess_transport(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/unix_events.py", line 207, in _make_subprocess_transport
    transp = _UnixSubprocessTransport(self, protocol, args, shell,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/base_[subprocess.py](http://subprocess.py/)", line 36, in __init__
    self._start(args=args, shell=shell, stdin=stdin, stdout=stdout,
  File "/opt/homebrew/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/unix_events.py", line 810, in _start
    self._proc = subprocess.Popen(
                 ^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/[subprocess.py](http://subprocess.py/)", line 1024, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/opt/homebrew/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 1901, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/bin/idb_companion'

Additional Information

  • idb revision: 1.1.7
@heath-clink
Copy link

heath-clink commented Oct 9, 2023

See #851

However, that may will not get merged because I'm not willing to try to get my employer to sign the CLA.

Perhaps someone who does have a CLA might be willing to duplicate the change in the PR into their own PR.

@heath-clink
Copy link

this appears to work as a workaround:

sudo ln -s /opt/homebrew/bin/idb_companion /usr/local/bin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants