firefox/exceptionHandled-for-IO-error-processhandler.patch
Jan Grulich c872dd1995 Fix unhandled python exception in ./mach
Related: RHEL-108091
2025-08-19 16:27:39 +02:00

30 lines
1.4 KiB
Diff

diff -up firefox-140.1.0/testing/mozbase/mozprocess/mozprocess/processhandler.py.exceptionHandled-for-IO-error-processhandler firefox-140.1.0/testing/mozbase/mozprocess/mozprocess/processhandler.py
--- firefox-140.1.0/testing/mozbase/mozprocess/mozprocess/processhandler.py.exceptionHandled-for-IO-error-processhandler 2025-07-14 19:14:55.000000000 +0200
+++ firefox-140.1.0/testing/mozbase/mozprocess/mozprocess/processhandler.py 2025-08-05 18:05:54.329479764 +0200
@@ -1098,11 +1098,22 @@ class ProcessReader:
def _read_stream(self, stream, queue, callback):
sentinel = "" if isinstance(stream, io.TextIOBase) else b""
- for line in iter(stream.readline, sentinel):
- queue.put((line, callback))
+ try:
+ for line in iter(stream.readline, sentinel):
+ queue.put((line, callback))
+ except ValueError as e:
+ if "I/O operation on closed file" in str(e):
+ # Stream was closed by the process, this is normal
+ pass
+ else:
+ raise
# Give a chance to the reading loop to exit without a timeout.
queue.put((b"", None))
- stream.close()
+ try:
+ stream.close()
+ except ValueError:
+ # Stream might already be closed
+ pass
def start(self, proc):
queue = Queue()