OpenHands icon indicating copy to clipboard operation
OpenHands copied to clipboard

[Bug]: Error creating controller

Open steventangbc opened this issue 1 year ago • 17 comments

Is there an existing issue for the same bug?

  • [X] I have checked the troubleshooting document at https://opendevin.github.io/OpenDevin/modules/usage/troubleshooting
  • [X] I have checked the existing issues.

Describe the bug

I followed the quickstart guide and was able to open the UI, but I keep getting "Error creating controller". I checked the troubleshooting doc and verified that Docker is running using docker ps. I also checked existing issues and saw people saying that modifying the config.toml file with a line saying SANDBOX_TYPE="exec" might fix it. However with the (new?) installation method through Docker, there are no files to modify as the image is already made. Another thing I thought it might be is that I'm on Windows and WSL might not have the right permissions set? I'm not sure how to troubleshoot that.

Current Version

Docker Desktop 4.29.0 (145265)

Installation and Configuration

Alyssa@LAPTOP-U1RNRHQR MINGW64 ~
$ cd C:/Users/Alyssa/Documents/opendevintesting

Alyssa@LAPTOP-U1RNRHQR MINGW64 ~/Documents/opendevintesting
$ docker run \
    --pull=always \
    -e SANDBOX_USER_ID=$(id -u) \
    -e WORKSPACE_MOUNT_PATH="C:\Users\Alyssa\Documents\opendevintesting" \
    -v "C:\Users\Alyssa\Documents\opendevintesting:/opt/workspace_base" \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    ghcr.io/opendevin/opendevin:0.5
0.5: Pulling from opendevin/opendevin
Digest: sha256:322c5ddcc40f0ac3b6727f63dda9fab87fea3cc1e90a1359f7229529a2c89684
Status: Image is up to date for ghcr.io/opendevin/opendevin:0.5
useradd warning: enduser's uid 197611 outside of the UID_MIN 499 and UID_MAX 60000 range.
stat: cannot statx '/var/run/docker.sock': No such file or directory
Docker socket group id:
Usage: usermod [options] LOGIN

Options:
  -a, --append                  append the user to the supplemental GROUPS
                                mentioned by the -G option without removing
                                the user from other groups
  -b, --badname                 allow bad names
  -c, --comment COMMENT         new value of the GECOS field
  -d, --home HOME_DIR           new home directory for the user account
  -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -f, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -g, --gid GROUP               force use GROUP as new primary group
  -G, --groups GROUPS           new list of supplementary GROUPS
  -h, --help                    display this help message and exit
  -l, --login NEW_LOGIN         new value of the login name
  -L, --lock                    lock the user account
  -m, --move-home               move contents of the home directory to the
                                new location (use only with -d)
  -o, --non-unique              allow using duplicate (non-unique) UID
  -p, --password PASSWORD       use encrypted password for the new password
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -r, --remove                  remove the user from only the supplemental GROUPS
                                mentioned by the -G option without removing
                                the user from other groups
  -R, --root CHROOT_DIR         directory to chroot into
  -s, --shell SHELL             new login shell for the user account
  -u, --uid UID                 new UID for the user account
  -U, --unlock                  unlock the user account
  -v, --add-subuids FIRST-LAST  add range of subordinate uids
  -V, --del-subuids FIRST-LAST  remove range of subordinate uids
  -w, --add-subgids FIRST-LAST  add range of subordinate gids
  -W, --del-subgids FIRST-LAST  remove range of subordinate gids
  -Z, --selinux-user SEUSER     new SELinux user mapping for the user account

INFO:     Started server process [27]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:3000 (Press CTRL+C to quit)
INFO:     172.17.0.1:54844 - "GET / HTTP/1.1" 307 Temporary Redirect
INFO:     ('172.17.0.1', 54856) - "WebSocket /ws?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaWQiOiIzOWZhODFmYS02YjhiLTQzMzYtODBjZi0zNzU0NjQ3ZTg0MDAifQ.5XamgoC0qQvuxmY_WKRufEKkSBrWNHJcvsB8NR_RycE" [accepted]
INFO:     connection open
06:56:44 - opendevin:INFO: agent.py:125 - Creating agent CodeActAgent using LLM gpt-3.5-turbo
06:56:44 - opendevin:INFO: llm.py:78 - Initializing LLM with model: gpt-3.5-turbo
06:56:44 - opendevin:INFO: ssh_box.py:68 - SSHBox is running as opendevin user with USER_ID=197611 in the sandbox
06:56:44 - opendevin:ERROR: ssh_box.py:75 - Error creating controller. Please check Docker is running and visit `https://opendevin.github.io/OpenDevin/modules/usage/troubleshooting` for more debugging information.
06:56:44 - opendevin:ERROR: agent.py:138 - Error creating controller: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
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 27, in connect
    sock.connect(self.unix_socket)
FileNotFoundError: [Errno 2] No such file or directory

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 27, in connect
    sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

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 213, 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 236, 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.', FileNotFoundError(2, 'No such file or directory'))

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

Traceback (most recent call last):
  File "/app/opendevin/server/agent/agent.py", line 130, in create_controller
    self.controller = AgentController(
                      ^^^^^^^^^^^^^^^^
  File "/app/opendevin/controller/agent_controller.py", line 82, in __init__
    self.action_manager = ActionManager(self.id)
                          ^^^^^^^^^^^^^^^^^^^^^^
  File "/app/opendevin/controller/action_manager.py", line 39, in __init__
    self.sandbox = DockerSSHBox(
                   ^^^^^^^^^^^^^
  File "/app/opendevin/runtime/docker/ssh_box.py", line 79, in __init__
    raise ex
  File "/app/opendevin/runtime/docker/ssh_box.py", line 73, 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 197, in __init__
    self._version = self._retrieve_server_version()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/docker/api/client.py", line 220, in _retrieve_server_version
    raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
06:56:44 - opendevin:INFO: agent_controller.py:201 - Setting agent state from AgentState.LOADING to AgentState.INIT
Starting loop_recv for sid: 39fa81fa-6b8b-4336-80cf-3754647e8400
INFO:     172.17.0.1:54844 - "GET /api/refresh-files HTTP/1.1" 200 OK
INFO:     172.17.0.1:54872 - "GET /api/litellm-models HTTP/1.1" 200 OK
INFO:     172.17.0.1:54886 - "GET /api/messages/total HTTP/1.1" 200 OK
INFO:     172.17.0.1:54886 - "GET /api/agents HTTP/1.1" 200 OK
INFO:     172.17.0.1:54886 - "DELETE /api/messages HTTP/1.1" 200 OK
06:57:16 - opendevin:INFO: agent.py:125 - Creating agent CodeActAgent using LLM gpt-4-turbo
06:57:16 - opendevin:INFO: llm.py:78 - Initializing LLM with model: gpt-4-turbo
06:57:16 - opendevin:WARNING: stream.py:30 - Subscriber subscribed multiple times: agent_controller
06:57:16 - opendevin:INFO: ssh_box.py:68 - SSHBox is running as opendevin user with USER_ID=197611 in the sandbox
06:57:16 - opendevin:ERROR: ssh_box.py:75 - Error creating controller. Please check Docker is running and visit `https://opendevin.github.io/OpenDevin/modules/usage/troubleshooting` for more debugging information.
06:57:16 - opendevin:ERROR: agent.py:138 - Error creating controller: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
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 27, in connect
    sock.connect(self.unix_socket)
FileNotFoundError: [Errno 2] No such file or directory

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 27, in connect
    sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

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 213, 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 236, 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.', FileNotFoundError(2, 'No such file or directory'))

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

Traceback (most recent call last):
  File "/app/opendevin/server/agent/agent.py", line 130, in create_controller
    self.controller = AgentController(
                      ^^^^^^^^^^^^^^^^
  File "/app/opendevin/controller/agent_controller.py", line 82, in __init__
    self.action_manager = ActionManager(self.id)
                          ^^^^^^^^^^^^^^^^^^^^^^
  File "/app/opendevin/controller/action_manager.py", line 39, in __init__
    self.sandbox = DockerSSHBox(
                   ^^^^^^^^^^^^^
  File "/app/opendevin/runtime/docker/ssh_box.py", line 79, in __init__
    raise ex
  File "/app/opendevin/runtime/docker/ssh_box.py", line 73, 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 197, in __init__
    self._version = self._retrieve_server_version()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/docker/api/client.py", line 220, in _retrieve_server_version
    raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
06:57:16 - opendevin:INFO: agent_controller.py:201 - Setting agent state from AgentState.INIT to AgentState.INIT

Model and Agent

  • Model: gpt-4-turbo
  • Agent: CodeActAgent

Reproduction Steps

No response

Logs, Errors, Screenshots, and Additional Context

No response

steventangbc avatar May 10 '24 09:05 steventangbc

output of id -u command?

SmartManoj avatar May 10 '24 10:05 SmartManoj

output of id -u command?

197611

steventangbc avatar May 10 '24 11:05 steventangbc

Could you pass -e SANDBOX_USER_ID=1000?

How this ID is assigned to you if it is > than MAX range? What are the dangers of creating a normal user with UID < 500?

SmartManoj avatar May 11 '24 12:05 SmartManoj

I'm still getting the "Error creating controller" message.

$ docker run \
    --pull=always \
    -e SANDBOX_USER_ID=1000 \
    -e WORKSPACE_MOUNT_PATH="C:\Users\Alyssa\Documents\opendevintesting" \
    -v "C:\Users\Alyssa\Documents\opendevintesting:/opt/workspace_base" \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    ghcr.io/opendevin/opendevin:0.5
0.5: Pulling from opendevin/opendevin
Digest: sha256:322c5ddcc40f0ac3b6727f63dda9fab87fea3cc1e90a1359f7229529a2c89684
Status: Image is up to date for ghcr.io/opendevin/opendevin:0.5
stat: cannot statx '/var/run/docker.sock': No such file or directory
Docker socket group id:
Usage: usermod [options] LOGIN

Options:
  -a, --append                  append the user to the supplemental GROUPS
                                mentioned by the -G option without removing
                                the user from other groups
  -b, --badname                 allow bad names
  -c, --comment COMMENT         new value of the GECOS field
  -d, --home HOME_DIR           new home directory for the user account
  -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -f, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -g, --gid GROUP               force use GROUP as new primary group
  -G, --groups GROUPS           new list of supplementary GROUPS
  -h, --help                    display this help message and exit
  -l, --login NEW_LOGIN         new value of the login name
  -L, --lock                    lock the user account
  -m, --move-home               move contents of the home directory to the
                                new location (use only with -d)
  -o, --non-unique              allow using duplicate (non-unique) UID
  -p, --password PASSWORD       use encrypted password for the new password
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -r, --remove                  remove the user from only the supplemental GROUPS
                                mentioned by the -G option without removing
                                the user from other groups
  -R, --root CHROOT_DIR         directory to chroot into
  -s, --shell SHELL             new login shell for the user account
  -u, --uid UID                 new UID for the user account
  -U, --unlock                  unlock the user account
  -v, --add-subuids FIRST-LAST  add range of subordinate uids
  -V, --del-subuids FIRST-LAST  remove range of subordinate uids
  -w, --add-subgids FIRST-LAST  add range of subordinate gids
  -W, --del-subgids FIRST-LAST  remove range of subordinate gids
  -Z, --selinux-user SEUSER     new SELinux user mapping for the user account

INFO:     Started server process [27]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:3000 (Press CTRL+C to quit)
INFO:     172.17.0.1:35326 - "GET / HTTP/1.1" 307 Temporary Redirect
INFO:     ('172.17.0.1', 35332) - "WebSocket /ws?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaWQiOiIzOWZhODFmYS02YjhiLTQzMzYtODBjZi0zNzU0NjQ3ZTg0MDAifQ.5XamgoC0qQvuxmY_WKRufEKkSBrWNHJcvsB8NR_RycE" [accepted]
INFO:     connection open
Starting loop_recv for sid: 39fa81fa-6b8b-4336-80cf-3754647e8400
INFO:     172.17.0.1:35334 - "GET /api/litellm-models HTTP/1.1" 200 OK
13:11:13 - opendevin:INFO: agent.py:125 - Creating agent CodeActAgent using LLM gpt-4-turbo
13:11:13 - opendevin:INFO: llm.py:78 - Initializing LLM with model: gpt-4-turbo
13:11:13 - opendevin:INFO: ssh_box.py:68 - SSHBox is running as opendevin user with USER_ID=1000 in the sandbox
13:11:13 - opendevin:ERROR: ssh_box.py:75 - Error creating controller. Please check Docker is running and visit `https://opendevin.github.io/OpenDevin/modules/usage/troubleshooting` for more debugging information.
13:11:13 - opendevin:ERROR: agent.py:138 - Error creating controller: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
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 27, in connect
    sock.connect(self.unix_socket)
FileNotFoundError: [Errno 2] No such file or directory

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 27, in connect
    sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

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 213, 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 236, 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.', FileNotFoundError(2, 'No such file or directory'))

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

Traceback (most recent call last):
  File "/app/opendevin/server/agent/agent.py", line 130, in create_controller
    self.controller = AgentController(
                      ^^^^^^^^^^^^^^^^
  File "/app/opendevin/controller/agent_controller.py", line 82, in __init__
    self.action_manager = ActionManager(self.id)
                          ^^^^^^^^^^^^^^^^^^^^^^
  File "/app/opendevin/controller/action_manager.py", line 39, in __init__
    self.sandbox = DockerSSHBox(
                   ^^^^^^^^^^^^^
  File "/app/opendevin/runtime/docker/ssh_box.py", line 79, in __init__
    raise ex
  File "/app/opendevin/runtime/docker/ssh_box.py", line 73, 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 197, in __init__
    self._version = self._retrieve_server_version()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/docker/api/client.py", line 220, in _retrieve_server_version
    raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
13:11:13 - opendevin:INFO: agent_controller.py:201 - Setting agent state from AgentState.LOADING to AgentState.INIT
INFO:     172.17.0.1:35344 - "GET /api/messages/total HTTP/1.1" 200 OK
INFO:     172.17.0.1:35326 - "GET /api/refresh-files HTTP/1.1" 200 OK
INFO:     172.17.0.1:35326 - "GET /api/agents HTTP/1.1" 200 OK
INFO:     172.17.0.1:35326 - "DELETE /api/messages HTTP/1.1" 200 OK

steventangbc avatar May 11 '24 13:05 steventangbc

I don't have the Advanced tab on my Docker Desktop and cannot find any setting related to enabling the default Docker socket. I am using the latest version of Docker 4.29.0 (145265)

image

steventangbc avatar May 11 '24 14:05 steventangbc

Your os?

SmartManoj avatar May 11 '24 14:05 SmartManoj

Windows

steventangbc avatar May 11 '24 14:05 steventangbc

Could you run again with Docker Desktop running?

SmartManoj avatar May 11 '24 14:05 SmartManoj

image

steventangbc avatar May 11 '24 14:05 steventangbc

Could you run inside wsl shell?

SmartManoj avatar May 11 '24 15:05 SmartManoj

$ wsl
LAPTOP-U1RNRHQR:/tmp/docker-desktop-root/mnt/host/c/Users/Alyssa/Documents/opendevintesting# 
docker run \
>     --pull=always \
>     -e SANDBOX_USER_ID=1000 \
>     -e WORKSPACE_MOUNT_PATH="C:\Users\Alyssa\Documents\opendevintesting" \
>     -v "C:\Users\Alyssa\Documents\opendevintesting:/opt/workspace_base" \
>     -v /var/run/docker.sock:/var/run/docker.sock \
>     -p 3000:3000 \
>     --add-host host.docker.internal:host-gateway \
>     ghcr.io/opendevin/opendevin:0.5
-ash: docker: not found

steventangbc avatar May 11 '24 15:05 steventangbc

https://github.com/docker/for-win/issues/13088#issuecomment-1464490504

SmartManoj avatar May 11 '24 15:05 SmartManoj

image

steventangbc avatar May 11 '24 15:05 steventangbc

Reenable the options. The window may change like this image

docker/for-win#13088 (comment)

Finally reinstall the docker desktop after checking the other solutions mentioned in this issue

SmartManoj avatar May 11 '24 15:05 SmartManoj

I'm not sure it'll fix it, but I'm going to try setting a higher UID_MAX here: https://github.com/OpenDevin/OpenDevin/pull/1788

rbren avatar May 14 '24 18:05 rbren

#1788 is merged--can you try using main to see if it helps?

rbren avatar May 16 '24 13:05 rbren

Closing this as PR is merged. Please reopen if this did not resolve the issue.

mamoodi avatar May 29 '24 19:05 mamoodi