OpenHands icon indicating copy to clipboard operation
OpenHands copied to clipboard

PermissionError Backend Docker

Open nas213sim opened this issue 1 year ago • 1 comments

i'm having this problem when i launch the backend, and to clarify docker is indeed running so i don't know why

INFO: Started server process [19120] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:3000 (Press CTRL+C to quit) INFO: 127.0.0.1:56442 - "GET / HTTP/1.1" 404 Not Found INFO: 127.0.0.1:56442 - "GET /favicon.ico HTTP/1.1" 404 Not Found INFO: ('127.0.0.1', 32990) - "WebSocket /ws" [accepted] INFO: connection open Please check Docker is running using docker ps. Error! Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied')) Failed to stop container: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied')) Error creating controller.

nas213sim avatar Mar 28 '24 20:03 nas213sim

Do you typically use sudo to access docker?

rbren avatar Mar 29 '24 00:03 rbren

Do you typically use sudo to access docker?

yes, actually ! i installed it through ubuntu package "apt" and it's in "/usr/bin/docker" which is why i have to use "sudo" i guess !

nas213sim avatar Mar 29 '24 07:03 nas213sim

You'll need to follow these steps to run docker without sudo: https://docs.docker.com/engine/install/linux-postinstall/

Running the backend with sudo might fix it as well

rbren avatar Mar 29 '24 14:03 rbren

@rbren it solves, thanks!

hqnicolas avatar Mar 30 '24 23:03 hqnicolas

Hello, I am facing the same issue, but on mac with M2.

Differently than hqnicolas, I am using docker without sudo.

I tried to build from source and running from docker the 0.6.0, 0.6.2 and the main, but the issue is the same.

What's wrong?

Thanks, Davide.

17:33:32 - opendevin:INFO: agent.py:64 - Using server runtime
17:33:32 - opendevin:INFO: ssh_box.py:206 - SSHBox is running as opendevin user with USER_ID=501 in the sandbox
17:33:32 - opendevin:ERROR: ssh_box.py:213 - Error creating controller. Please check Docker is running and visit `https://opendevin.github.io/OpenDevin/modules/usage/troubleshooting` for more debugging information.
17:33:32 - opendevin:ERROR: session.py:69 - Error creating controller: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))
Traceback (most recent call last):
  File "/app/.venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 793, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 496, in _make_request
    conn.request(
  File "/app/.venv/lib/python3.12/site-packages/urllib3/connection.py", line 400, in request
    self.endheaders()
  File "/usr/local/lib/python3.12/http/client.py", line 1331, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1091, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.12/http/client.py", line 1035, in send
    self.connect()
  File "/app/.venv/lib/python3.12/site-packages/docker/transport/unixconn.py", line 26, in connect
    sock.connect(self.unix_socket)
PermissionError: [Errno 13] Permission denied

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/app/.venv/lib/python3.12/site-packages/requests/adapters.py", line 486, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 847, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/urllib3/util/retry.py", line 470, in increment
    raise reraise(type(error), error, _stacktrace)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/urllib3/util/util.py", line 38, in reraise
    raise value.with_traceback(tb)
  File "/app/.venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 793, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/urllib3/connectionpool.py", line 496, in _make_request
    conn.request(
  File "/app/.venv/lib/python3.12/site-packages/urllib3/connection.py", line 400, in request
    self.endheaders()
  File "/usr/local/lib/python3.12/http/client.py", line 1331, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.12/http/client.py", line 1091, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.12/http/client.py", line 1035, in send
    self.connect()
  File "/app/.venv/lib/python3.12/site-packages/docker/transport/unixconn.py", line 26, in connect
    sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', PermissionError(13, 'Permission denied'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/app/.venv/lib/python3.12/site-packages/docker/api/client.py", line 223, in _retrieve_server_version
    return self.version(api_version=False)["ApiVersion"]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/docker/api/daemon.py", line 181, in version
    return self._result(self._get(url), json=True)
                        ^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/docker/utils/decorators.py", line 44, in inner
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/docker/api/client.py", line 246, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/requests/sessions.py", line 602, in get
    return self.request("GET", url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/requests/adapters.py", line 501, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', PermissionError(13, 'Permission denied'))

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/opendevin/server/session/session.py", line 67, in _initialize_agent
    await self.agent_session.start(data)
  File "/app/opendevin/server/session/agent.py", line 46, in start
    await self._create_runtime()
  File "/app/opendevin/server/session/agent.py", line 65, in _create_runtime
    self.runtime = ServerRuntime(self.event_stream, self.sid)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/opendevin/runtime/server/runtime.py", line 35, in __init__
    super().__init__(event_stream, sid, sandbox)
  File "/app/opendevin/runtime/runtime.py", line 71, in __init__
    self.sandbox = create_sandbox(sid, config.sandbox_type)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/opendevin/runtime/runtime.py", line 45, in create_sandbox
    return DockerSSHBox(sid=sid)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/app/opendevin/runtime/docker/ssh_box.py", line 217, in __init__
    raise ex
  File "/app/opendevin/runtime/docker/ssh_box.py", line 211, in __init__
    self.docker_client = docker.from_env()
                         ^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/docker/client.py", line 94, in from_env
    return cls(
           ^^^^
  File "/app/.venv/lib/python3.12/site-packages/docker/client.py", line 45, in __init__
    self.api = APIClient(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/docker/api/client.py", line 207, in __init__
    self._version = self._retrieve_server_version()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/docker/api/client.py", line 230, in _retrieve_server_version
    raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))
```

molekola-io avatar Jun 11 '24 17:06 molekola-io

@molekola-io did you find any solutions, i have exactly same issue on mac

yusufeen avatar Jun 24 '24 00:06 yusufeen