OSError("handle is closed") raised while browser environment is being set

Author: zysilmCreated Mar 8, 2025Updated May 13, 2026

Hi. I was trying to get AutoAgent run in my WSL2 distro but it failed on starting browser env Environment: WSL2 (Ubuntu-24.04 LTS) Command: auto main / auto deep-research ============= Traceback ===================== Traceback (most recent call last): File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autogen_venv/bin/auto", line 8, in sys.exit(cli()) ^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autogen_venv/lib/python3.12/site-packages/click/core.py", line 1161, in call return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autogen_venv/lib/python3.12/site-packages/click/core.py", line 1082, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autogen_venv/lib/python3.12/site-packages/click/core.py", line 1697, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autogen_venv/lib/python3.12/site-packages/click/core.py", line 1443, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autogen_venv/lib/python3.12/site-packages/click/core.py", line 788, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autoagent/cli.py", line 209, in main code_env, web_env, file_env = create_environment(docker_config) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autoagent/cli.py", line 152, in create_environment web_env = BrowserEnv(browsergym_eval_env = None, local_root=docker_config.local_root, workplace_name=docker_config.workplace_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autoagent/environment/browser_env.py", line 368, in init self.init_browser() File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autogen_venv/lib/python3.12/site-packages/tenacity/init.py", line 336, in wrapped_f return copy(f, *args, **kw) ^^^^^^^^^^^^^^^^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autogen_venv/lib/python3.12/site-packages/tenacity/init.py", line 475, in call do = self.iter(retry_state=retry_state) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autogen_venv/lib/python3.12/site-packages/tenacity/init.py", line 376, in iter result = action(retry_state) ^^^^^^^^^^^^^^^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autogen_venv/lib/python3.12/site-packages/tenacity/init.py", line 398, in self._add_action_func(lambda rs: rs.outcome.result()) ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/concurrent/futures/_base.py", line 449, in result return self.__get_result() ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result raise self._exception File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autogen_venv/lib/python3.12/site-packages/tenacity/init.py", line 478, in call result = fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^ File "/mnt/d/PROJECT_Ubuntu/AutoAgent/autoagent/environment/browser_env.py", line 393, in init_browser self.process.start() File "/usr/lib/python3.12/multiprocessing/process.py", line 121, in start self._popen = self._Popen(self) ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/multiprocessing/context.py", line 224, in _Popen return _default_context.get_context().Process._Popen(process_obj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/multiprocessing/context.py", line 289, in _Popen return Popen(process_obj) ^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/multiprocessing/popen_spawn_posix.py", line 32, in init super().init(process_obj) File "/usr/lib/python3.12/multiprocessing/popen_fork.py", line 19, in init self._launch(process_obj) File "/usr/lib/python3.12/multiprocessing/popen_spawn_posix.py", line 47, in _launch reduction.dump(process_obj, fp) File "/usr/lib/python3.12/multiprocessing/reduction.py", line 60, in dump ForkingPickler(file, protocol).dump(obj) File "/usr/lib/python3.12/multiprocessing/connection.py", line 1173, in reduce_connection df = reduction.DupFd(conn.fileno()) ^^^^^^^^^^^^^ File "/usr/lib/python3.12/multiprocessing/connection.py", line 171, in fileno self._check_closed() File "/usr/lib/python3.12/multiprocessing/connection.py", line 137, in _check_closed raise OSError("handle is closed") OSError: handle is closed