Hi all (and in particular, Scott),

I've just updated my development server and found the following
error when running jobs on our SGE cluster via DRMMA:

galaxy.jobs.runners.drmaa ERROR 2012-09-18 09:43:20,698 Job wrapper
finish method failed
Traceback (most recent call last):
  File "/mnt/galaxy/galaxy-central/lib/galaxy/jobs/runners/drmaa.py",
line 371, in finish_job
    drm_job_state.job_wrapper.finish( stdout, stderr, exit_code )
  File "/mnt/galaxy/galaxy-central/lib/galaxy/jobs/__init__.py", line
1048, in finish
    if ( self.check_tool_output( stdout, stderr, tool_exit_code ) ):
TypeError: check_tool_output() takes exactly 5 arguments (4 given)

This looks to have been introduced in this commit:
https://bitbucket.org/galaxy/galaxy-central/changeset/f557b7b05fdd701cbf99ee04f311bcadb1ae29c4#chg-lib/galaxy/jobs/__init__.py

There should be an additional jobs argument, proposed fix:

$ hg diff lib/galaxy/jobs/__init__.py
diff -r 4007494e37e1 lib/galaxy/jobs/__init__.py
--- a/lib/galaxy/jobs/__init__.py       Tue Sep 18 09:40:19 2012 +0100
+++ b/lib/galaxy/jobs/__init__.py       Tue Sep 18 10:06:44 2012 +0100
@@ -1045,7 +1045,8 @@
         # Check what the tool returned. If the stdout or stderr matched
         # regular expressions that indicate errors, then set an error.
         # The same goes if the tool's exit code was in a given range.
-        if ( self.check_tool_output( stdout, stderr, tool_exit_code ) ):
+        job = self.get_job()
+        if ( self.check_tool_output( stdout, stderr, tool_exit_code, job ) ):
             task.state = task.states.OK
         else:
             task.state = task.states.ERROR


(Let me know if you want this as a pull request - it seems a lot of
effort for a tiny change.)

Regards,

Peter
___________________________________________________________
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:

  http://lists.bx.psu.edu/

Reply via email to