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'):
