Is it possible that you are looking at different classes? TaskWrapper's finish method does not use the job variable in my recently merged code either (line ~1045), while JobWrapper's does around line 315.

cheers,
jorrit




On 09/18/2012 03:55 PM, Scott McManus wrote:
I have to admit that I'm a little confused as to why you would
be getting this error at all - the "job" variable is introduced
at line 298 in the same file, and it's used as the last variable
to check_tool_output in the changeset you pointed to.
(Also, thanks for pointing to it - that made investigating easier.)

Is it possible that there was a merge problem when you pulled the
latest set of code? For my own sanity, would you mind downloading
a fresh copy of galaxy-central or galaxy-dist into a separate
directory and see if the problem is still there? (I fully admit
that there could be a bug that I left in, but all job runners
should have stumbled across the same problem - the "finish" method
should be called by all job runners.)

Thanks again!

-Scott

----- Original Message -----
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/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/

___________________________________________________________
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/


___________________________________________________________
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