server/process: Avoid tracebacks at exit

Message ID 20220610123958.78210-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit 7a28ac4fe478bee1e52e84412da9626495f9c6c7
Headers show
Series server/process: Avoid tracebacks at exit | expand

Commit Message

Richard Purdie June 10, 2022, 12:39 p.m. UTC
In theory this should have been worked around but is still occurring. Add
it to the list of things to ignore when bitbake is shutting down.

Traceback (most recent call last):
  File "/usr/lib64/python3.9/threading.py", line 973, in _bootstrap_inner
    self.run()
  File "/home/pokybuild/yocto-worker/oe-selftest-fedora/build/bitbake/lib/bb/server/process.py", line 698, in startCallbackHandler
    event = self.reader.get()
  File "/home/pokybuild/yocto-worker/oe-selftest-fedora/build/bitbake/lib/bb/server/process.py", line 722, in get
    res = self.reader.recv_bytes()
  File "/usr/lib64/python3.9/multiprocessing/connection.py", line 221, in recv_bytes
    buf = self._recv_bytes(maxlength)
  File "/usr/lib64/python3.9/multiprocessing/connection.py", line 426, in _recv_bytes
    return self._recv(size)
  File "/usr/lib64/python3.9/multiprocessing/connection.py", line 384, in _recv
    chunk = read(handle, remaining)
TypeError: an integer is required (got type NoneType)'

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 lib/bb/server/process.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch

diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py
index 02bef3506f..43790b6631 100644
--- a/lib/bb/server/process.py
+++ b/lib/bb/server/process.py
@@ -697,7 +697,7 @@  class BBUIEventQueue:
                 if ready:
                     event = self.reader.get()
                     self.queue_event(event)
-            except (EOFError, OSError):
+            except (EOFError, OSError, TypeError):
                 # Easiest way to exit is to close the file descriptor to cause an exit
                 break