Hi all,

Running galaxy-central default branch, I've seen a couple of cases where
what otherwise appears to be a successful job has failed with:

Traceback (most recent call last):
  File "./scripts/set_metadata.py", line 122, in <module>
  File "./scripts/set_metadata.py", line 72, in __main__
    datatypes_registry.load_datatypes( root_dir=config_root,
config=datatypes_config )
  File "/mnt/galaxy/galaxy-central/lib/galaxy/datatypes/registry.py",
line 67, in load_datatypes
    tree = galaxy.util.parse_xml( config )
  File "/mnt/galaxy/galaxy-central/lib/galaxy/util/__init__.py", line
135, in parse_xml
    tree = ElementTree.parse(fname)
line 859, in parse
line 576, in parse
IOError: [Errno 2] No such file or directory:

I'm not quite sure what was in the temporary XML file which
no longer exists, perhaps there is a race condition with the
removal of the temporary files?

Has anyone else observed this?



One minor change which might help give a clearer error message
here (and in related issues like the functional tests where not all
the tools listed in tool_conf.xml.sample always exists on disk) is:

$ hg diff /mnt/galaxy/galaxy-central/lib/galaxy/util/__init__.py
diff -r 01b94ad2c377 lib/galaxy/util/__init__.py
--- a/lib/galaxy/util/__init__.py    Tue Oct 15 00:12:08 2013 -0400
+++ b/lib/galaxy/util/__init__.py    Tue Oct 15 14:20:01 2013 +0100
@@ -132,6 +132,8 @@

 def parse_xml(fname):
     """Returns a parsed xml tree"""
+    if not os.path.isfile(fname):
+        raise IOError("Asked to parse non-existant XML file %r" % fname)
     tree = ElementTree.parse(fname)
     root = tree.getroot()
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

To search Galaxy mailing lists use the unified search at:

Reply via email to