I'll check it out. Thanks. ----- Original Message -----
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/f557b7b05fdd701cbf99ee...
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