This results in an error when Galaxy tries to process the output of this failed job, as seen on Galaxy 19.05:
galaxy.jobs.runners ERROR 2019-08-08 15:16:26,500 [p:27106,w:0,m:1] [SlurmRunner.work_thread-1] (10290/14387) Job wrapper finish method failed
Traceback (most recent call last):
File "/projects/galaxy/main_galaxy1/galaxy/lib/galaxy/jobs/runners/__init__.py", line 497, in _finish_or_resubmit_job
self.sa_session.flush()
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/orm/scoping.py", line 162, in do
return getattr(self.registry(), name)(*args, **kwargs)
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 2446, in flush
self._flush(objects)
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 2584, in _flush
transaction.rollback(_capture_exception=True)
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 67, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 2544, in _flush
flush_context.execute()
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 416, in execute
rec.execute(self)
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 583, in execute
uow,
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 236, in save_obj
update,
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 976, in _emit_update_statements
statement, multiparams
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 980, in execute
return meth(self, multiparams, params)
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 273, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1099, in _execute_clauseelement
distilled_params,
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1240, in _execute_context
e, statement, parameters, cursor, context
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1460, in _handle_dbapi_exception
util.reraise(*exc_info)
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1236, in _execute_context
cursor, statement, parameters, context
File "/projects/galaxy/main_galaxy1/galaxy/.venv/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 536, in do_execute
cursor.execute(statement, parameters)
ValueError: A string literal cannot contain NUL (0x00) characters.
While this is a challenging situation for Galaxy, it is means the user (and Galaxy admin) is left with a difficult situation to diagnose. The job output should ideally be turned into a valid string - or treated as bytes.
Background: feeding gzipped FASTQ files to
shovill
triggers an error due to a weakness in the wrapper, as described here: https://github.com/galaxyproject/tools-iuc/issues/1804This results in an error when Galaxy tries to process the output of this failed job, as seen on Galaxy 19.05:
While this is a challenging situation for Galaxy, it is means the user (and Galaxy admin) is left with a difficult situation to diagnose. The job output should ideally be turned into a valid string - or treated as bytes.