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/

Reply via email to