From ea9e6ba0ab31a0b20012c283aa768496a50b527a Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 10 Oct 2023 14:31:20 +0100 Subject: [PATCH] oeqa/qemurunner: Ensure we retry after BrokenPipeError If the BrokenPipeError occurs when writing to the serial port to wake it up, defer the write and try again (which will happen on the 5s timeout of the select call). Why it should return ESHUTDOWN and then work later I'm not sure but it does appear to make it work. For now we need 'working' QA tests whilst the issue is debugged. Signed-off-by: Richard Purdie --- meta/lib/oeqa/utils/qemurunner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py index cb3231da63b..a52fa41768f 100644 --- a/meta/lib/oeqa/utils/qemurunner.py +++ b/meta/lib/oeqa/utils/qemurunner.py @@ -465,9 +465,9 @@ class QemuRunner: self.logger.warning('Probing the serial port to wake it up!') try: self.server_socket.sendall(bytes("\n\n", "utf-8")) + sentnewlines = True except BrokenPipeError as e: self.logger.debug('Probe failed %s' % repr(e)) - sentnewlines = True for file in sread: if file is self.server_socket: qemusock, addr = self.server_socket.accept() -- 2.47.2