details: http://www.bx.psu.edu/hg/galaxy/rev/f27a815ae734 changeset: 1720:f27a815ae734 user: Nate Coraor <nate@bx.psu.edu> date: Fri Jan 23 14:12:52 2009 -0500 description: in JobWrapper.fail(), save the traceback before doing anything else that might result in a traceback 1 file(s) affected in this change: lib/galaxy/jobs/__init__.py diffs (24 lines): diff -r 4fa4d0ddbf1f -r f27a815ae734 lib/galaxy/jobs/__init__.py --- a/lib/galaxy/jobs/__init__.py Fri Jan 23 12:55:35 2009 -0500 +++ b/lib/galaxy/jobs/__init__.py Fri Jan 23 14:12:52 2009 -0500 @@ -381,6 +381,10 @@ job.refresh() # if the job was deleted, don't fail it if not job.state == model.Job.states.DELETED: + # If the failure is due to a Galaxy framework exception, save the traceback + # Do this first in case we generate a traceback below + if exception: + job.traceback = traceback.format_exc() for dataset_assoc in job.output_datasets: if self.app.config.outputs_to_working_directory: false_path = os.path.abspath( os.path.join( self.working_directory, "galaxy_dataset_%d.dat" % dataset_assoc.dataset.dataset.id ) ) @@ -399,9 +403,6 @@ job.state = model.Job.states.ERROR job.command_line = self.command_line job.info = message - # If the failure is due to a Galaxy framework exception, save the traceback - if exception: - job.traceback = traceback.format_exc() job.flush() # If the job was deleted, just clean up self.cleanup()