| diff -rU2 gobject-introspection-1.50.0.orig/giscanner/gdumpparser.py gobject-introspection-1.50.0/giscanner/gdumpparser.py |
| --- gobject-introspection-1.50.0.orig/giscanner/gdumpparser.py 2016-10-31 00:07:38.852765600 +0000 |
| +++ gobject-introspection-1.50.0/giscanner/gdumpparser.py 2016-10-31 00:30:29.243390600 +0000 |
| @@ -199,5 +199,15 @@ |
| assert os.path.exists(out_path), "dump.xml still missing" |
| |
| - return parse(out_path) |
| + # Just in case the XML data is not fully written at this point... |
| + for i in range(10): |
| + try: |
| + return parse(out_path) |
| + except Exception as e: |
| + message.warn("XML parse failed (%d/10): %s" % (i+1, e)) |
| + if i >= 10: |
| + raise |
| + time.sleep(2) |
| + raise RuntimeError("this exception should never happen") |
| + |
| finally: |
| if not utils.have_debug_flag('save-temps'): |