Bug 14910

Summary: Hash Equivalence Server failures with local domain sockets
Product: [Build System, Metadata & Runtime] BitBake Reporter: Richard Purdie <richard.purdie>
Component: bitbakeAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Undecided CC: poky.bs.watcher, poky.watcher
Version: 0.0.0   
Target Milestone: ---   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Richard Purdie 2022-09-02 18:08:31 UTC
When building with a local auto started hash equivalence server I keep seeing:

NOTE: Task /media/build1/poky/meta/recipes-devtools/go/go-binary-native_1.19.bb:do_deploy_source_date_epoch unihash changed to 02a43385fba1e8bb0fda257fc91e929b60ea8277a62d811399ba99485bea29db
NOTE: recipe nativesdk-lua-5.4.4-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: Task virtual:nativesdk:/media/build1/poky/meta/recipes-devtools/lua/lua_5.4.4.bb:do_deploy_source_date_epoch unihash changed to 080bc3ac4bfeb64fe0e62ea88610fd92d3a86317846d36e571bdac50040714c0
NOTE: recipe babeltrace-1.5.8-r0: task do_patch_ptest_path: Succeeded
NOTE: recipe babeltrace2-2.0.4-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: Task /media/build1/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb:do_deploy_source_date_epoch unihash changed to 9221fc9f9ed962e0c7bef784a7ea8e417fa88bb50f1dda82676ba61eae56bae5
NOTE: recipe gzip-1.12-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: Task /media/build1/poky/meta/recipes-extended/gzip/gzip_1.12.bb:do_deploy_source_date_epoch unihash changed to 58bf168297a60cd696ddb7eb363dadf61a0cc48921d7eb2ab579cd00130793a9
NOTE: recipe nativesdk-libxml2-2.9.14-r0: task do_unpack: Succeeded
WARNING: nativesdk-libxcb-1.15-r0 do_deploy_source_date_epoch: Error223 contacting Hash Equivalence Server ConnectionError('[Errno 2] No such file or directory'): Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

WARNING: tcl-8.6.11-r0 do_deploy_source_date_epoch: Error223 contacting Hash Equivalence Server ConnectionError('[Errno 2] No such file or directory'): Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

WARNING: nativesdk-libxcb-1.15-r0 do_deploy_source_date_epoch: Error21 contacting Hash Equivalence Server unix:///media/build1/poky/build/hashserve.sock: ConnectionError('[Errno 2] No such file or directory') Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/siggen.py", line 673, in report_unihash
    data = self.client().report_unihash(taskhash, method, outhash, unihash, extra_data)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 148, in wrapper
    return self.loop.run_until_complete(downcall(*args, **kwargs))
  File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

WARNING: gettext-0.21-r0 do_deploy_source_date_epoch: Error223 contacting Hash Equivalence Server ConnectionError('[Errno 2] No such file or directory'): Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

WARNING: nativesdk-libxcb-1.15-r0 do_deploy_source_date_epoch: Error1234 contacting Hash Equivalence Server unix:///media/build1/poky/build/hashserve.sock: ConnectionError('[Errno 2] No such file or directory') Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/siggen.py", line 673, in report_unihash
    data = self.client().report_unihash(taskhash, method, outhash, unihash, extra_data)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 148, in wrapper
    return self.loop.run_until_complete(downcall(*args, **kwargs))
  File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

WARNING: tcl-8.6.11-r0 do_deploy_source_date_epoch: Error21 contacting Hash Equivalence Server unix:///media/build1/poky/build/hashserve.sock: ConnectionError('[Errno 2] No such file or directory') Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/siggen.py", line 673, in report_unihash
    data = self.client().report_unihash(taskhash, method, outhash, unihash, extra_data)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 148, in wrapper
    return self.loop.run_until_complete(downcall(*args, **kwargs))
  File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

WARNING: tcl-8.6.11-r0 do_deploy_source_date_epoch: Error1234 contacting Hash Equivalence Server unix:///media/build1/poky/build/hashserve.sock: ConnectionError('[Errno 2] No such file or directory') Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/siggen.py", line 673, in report_unihash
    data = self.client().report_unihash(taskhash, method, outhash, unihash, extra_data)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 148, in wrapper
    return self.loop.run_until_complete(downcall(*args, **kwargs))
  File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

WARNING: nativesdk-xcb-proto-1.15.2-r0 do_deploy_source_date_epoch: Error223 contacting Hash Equivalence Server ConnectionError('[Errno 2] No such file or directory'): Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

WARNING: gettext-0.21-r0 do_deploy_source_date_epoch: Error21 contacting Hash Equivalence Server unix:///media/build1/poky/build/hashserve.sock: ConnectionError('[Errno 2] No such file or directory') Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/siggen.py", line 673, in report_unihash
    data = self.client().report_unihash(taskhash, method, outhash, unihash, extra_data)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 148, in wrapper
    return self.loop.run_until_complete(downcall(*args, **kwargs))
  File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

WARNING: gettext-0.21-r0 do_deploy_source_date_epoch: Error1234 contacting Hash Equivalence Server unix:///media/build1/poky/build/hashserve.sock: ConnectionError('[Errno 2] No such file or directory') Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/siggen.py", line 673, in report_unihash
    data = self.client().report_unihash(taskhash, method, outhash, unihash, extra_data)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 148, in wrapper
    return self.loop.run_until_complete(downcall(*args, **kwargs))
  File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

WARNING: nativesdk-xcb-proto-1.15.2-r0 do_deploy_source_date_epoch: Error21 contacting Hash Equivalence Server unix:///media/build1/poky/build/hashserve.sock: ConnectionError('[Errno 2] No such file or directory') Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/siggen.py", line 673, in report_unihash
    data = self.client().report_unihash(taskhash, method, outhash, unihash, extra_data)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 148, in wrapper
    return self.loop.run_until_complete(downcall(*args, **kwargs))
  File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

WARNING: nativesdk-xcb-proto-1.15.2-r0 do_deploy_source_date_epoch: Error1234 contacting Hash Equivalence Server unix:///media/build1/poky/build/hashserve.sock: ConnectionError('[Errno 2] No such file or directory') Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 60, in _send_wrapper
    await self.connect()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 46, in connect
    (self.reader, self.writer) = await self._connect_sock()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 35, in connect_sock
    return await asyncio.open_unix_connection(path)
  File "/usr/lib/python3.10/asyncio/streams.py", line 97, in open_unix_connection
    transport, _ = await loop.create_unix_connection(
  File "/usr/lib/python3.10/asyncio/unix_events.py", line 254, in create_unix_connection
    await self.sock_connect(sock, path)
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 499, in sock_connect
    return await fut
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 504, in _sock_connect
    sock.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/siggen.py", line 673, in report_unihash
    data = self.client().report_unihash(taskhash, method, outhash, unihash, extra_data)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 148, in wrapper
    return self.loop.run_until_complete(downcall(*args, **kwargs))
  File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/media/build1/poky/bitbake/lib/hashserv/client.py", line 79, in report_unihash
    ret = await self.send_message({"report": m})
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 117, in send_message
    return await self._send_wrapper(proc)
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/client.py", line 75, in _send_wrapper
    raise ConnectionError(str(e))
ConnectionError: [Errno 2] No such file or directory

NOTE: recipe nativesdk-rust-llvm-1.63.0-r0: task do_unpack: Succeeded
NOTE: recipe nativesdk-libxcb-1.15-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: recipe tcl-8.6.11-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: recipe gettext-0.21-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: recipe nativesdk-xcb-proto-1.15.2-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: recipe json-c-0.16-r0: task do_patch: Succeeded
NOTE: recipe json-c-0.16-r0: task do_prepare_recipe_sysroot: Succeeded
NOTE: recipe nativesdk-rpm-1_4.17.1-r0: task do_fetch: Succeeded
NOTE: recipe nativesdk-virglrenderer-0.9.1-r0: task do_patch: Succeeded
NOTE: recipe slang-2.3.3-r0: task do_compile: Started
NOTE: recipe m4-1.4.19-r0: task do_configure: Started
NOTE: recipe nativesdk-wayland-protocols-1.26-r0: task do_deploy_source_date_epoch: Started
NOTE: recipe nativesdk-ncurses-6.3+20220423-r0: task do_patch: Started
NOTE: recipe nativesdk-libgcrypt-1.10.1-r0: task do_patch: Started
NOTE: recipe nativesdk-xrandr-1_1.5.1-r0: task do_deploy_source_date_epoch: Started
NOTE: recipe quilt-0.67-r0: task do_configure: Started
NOTE: recipe nativesdk-libdrm-2.4.112-r0: task do_deploy_source_date_epoch: Started
NOTE: recipe nativesdk-libgcrypt-1.10.1-r0: task do_patch: Succeeded
NOTE: recipe nativesdk-ncurses-6.3+20220423-r0: task do_patch: Succeeded
NOTE: recipe libcroco-0.6.13-r0: task do_prepare_recipe_sysroot: Succeeded
NOTE: recipe nativesdk-wayland-protocols-1.26-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: recipe nativesdk-libdrm-2.4.112-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: recipe nativesdk-xrandr-1_1.5.1-r0: task do_deploy_source_date_epoch: Succeeded
NOTE: recipe libcroco-0.6.13-r0: task do_unpack: Succeeded
NOTE: recipe strace-5.19-r0: task do_configure: Succeeded
NOTE: recipe quilt-0.67-r0: task do_configure: Succeeded
NOTE: Task virtual:nativesdk:/media/build1/poky/meta/recipes-graphics/wayland/wayland-protocols_1.26.bb:do_deploy_source_date_epoch unihash changed to 646148df87420829872e4902e7af4b0fb805b90bef6757c584ecb8083cf41ecc
NOTE: Task virtual:nativesdk:/media/build1/poky/meta/recipes-graphics/drm/libdrm_2.4.112.bb:do_deploy_source_date_epoch unihash changed to e035136062ce5929fa03cc208c0f65b5161abe86be4c37756b46a59c08c04413
NOTE: Task virtual:nativesdk:/media/build1/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb:do_deploy_source_date_epoch unihash changed to 993480ede174d9f0c0a217bad170a2a5864c5dbc1d4badce066b35509c63c6a8
NOTE: recipe nativesdk-perl-5.36.0-r0: task do_unpack: Succeeded

(some extra debug added locally). When this happens there are entries in the cooker log which look like:

ERROR:hashserv.server:Error from client: [Errno 104] Connection reset by peer
Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/serv.py", line 202, in handle_client
    await client.process_requests()
  File "/media/build1/poky/bitbake/lib/hashserv/server.py", line 200, in process_requests
    await super().process_requests()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/serv.py", line 71, in process_requests
    d = await self.read_message()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/serv.py", line 95, in read_message
    l = await self.reader.readline()
  File "/usr/lib/python3.10/asyncio/streams.py", line 525, in readline
    line = await self.readuntil(sep)
  File "/usr/lib/python3.10/asyncio/streams.py", line 617, in readuntil
    await self._wait_for_data('readuntil')
  File "/usr/lib/python3.10/asyncio/streams.py", line 502, in _wait_for_data
    await self._waiter
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 853, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 104] Connection reset by peer
Traceback (most recent call last):
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/serv.py", line 202, in handle_client
    await client.process_requests()
  File "/media/build1/poky/bitbake/lib/hashserv/server.py", line 200, in process_requests
    await super().process_requests()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/serv.py", line 71, in process_requests
    d = await self.read_message()
  File "/media/build1/poky/bitbake/lib/bb/asyncrpc/serv.py", line 95, in read_message
    l = await self.reader.readline()
  File "/usr/lib/python3.10/asyncio/streams.py", line 525, in readline
    line = await self.readuntil(sep)
  File "/usr/lib/python3.10/asyncio/streams.py", line 617, in readuntil
    await self._wait_for_data('readuntil')
  File "/usr/lib/python3.10/asyncio/streams.py", line 502, in _wait_for_data
    await self._waiter
  File "/usr/lib/python3.10/asyncio/selector_events.py", line 853, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 104] Connection reset by peer
Comment 1 Richard Purdie 2022-09-02 19:53:43 UTC
I have a reproducer:

    self.client().ping()
    self.client().loop.run_until_complete(self.client().client.close())
    os.chdir("/")
    self.client().ping()

i.e. trigger a close() inside the client code, chdir and then trigger a reconnect.

This is because the path variable is cached in connect_unix connect_sock's context but the cwd is changed and the path is no longer relevant.