galaxyproject / galaxy

Data intensive science for everyone.
https://galaxyproject.org
Other
1.35k stars 978 forks source link

Exception when looking at a jobs' details in the admin panel #9372

Open bernt-matthias opened 4 years ago

bernt-matthias commented 4 years ago

Found the following in the logs: Likely caused by the deletion of a data set for which the job was still running (job is still running on the cluster):

Traceback (most recent call last):
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
    cursor, statement, parameters, context
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.InvalidTextRepresentation: invalid input syntax for integer: "null"
LINE 7: WHERE job.id = 'null'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "lib/galaxy/web/framework/middleware/error.py", line 154, in __call__
    app_iter = self.application(environ, sr_checker)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/paste/recursive.py", line 85, in __call__
    return self.application(environ, start_response)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/paste/httpexceptions.py", line 640, in __call__
    return self.application(environ, start_response)
  File "lib/galaxy/web/framework/base.py", line 143, in __call__
    return self.handle_request(environ, start_response)
  File "lib/galaxy/web/framework/base.py", line 222, in handle_request
    body = method(trans, **kwargs)
  File "lib/galaxy/web/framework/decorators.py", line 101, in decorator
    return func(self, trans, *args, **kwargs)
  File "lib/galaxy/webapps/galaxy/controllers/admin.py", line 1612, in job_info
    job = trans.sa_session.query(trans.app.model.Job).get(jobid)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 959, in get
    return self._get_impl(ident, loading.load_on_pk_identity)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 1069, in _get_impl
    return db_load_fn(self, primary_key_identity)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/orm/loading.py", line 282, in load_on_pk_identity
    return q.one()
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3292, in one
    ret = self.one_or_none()
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3261, in one_or_none
    ret = list(self)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3334, in __iter__
    return self._execute_and_instances(context)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3359, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 988, in execute
    return meth(self, multiparams, params)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 287, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1107, in _execute_clauseelement
    distilled_params,
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1248, in _execute_context
    e, statement, parameters, cursor, context
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
    util.raise_from_cause(sqlalchemy_exception, exc_info)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 152, in reraise
    raise value.with_traceback(tb)
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
    cursor, statement, parameters, context
  File "/gpfs1/data/galaxy_server/galaxy/.venv/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) invalid input syntax for integer: "null"
LINE 7: WHERE job.id = 'null'

[SQL: SELECT EXISTS (SELECT history_dataset_association.id, history_dataset_association.history_id, history_dataset_association.dataset_id, history_dataset_association.create_time, history_dataset_association.update_time, history_dataset_association.state, history_dataset_association.copied_from_history_dataset_association_id, history_dataset_association.copied_from_library_dataset_dataset_association_id, history_dataset_association.name, history_dataset_association.info, history_dataset_association.blurb, history_dataset_association.peek, history_dataset_association.tool_version, history_dataset_association.extension, history_dataset_association.metadata, history_dataset_association.parent_id, history_dataset_association.designation, history_dataset_association.deleted, history_dataset_association.visible, history_dataset_association.extended_metadata_id, history_dataset_association.version, history_dataset_association.hid, history_dataset_association.purged, history_dataset_association.validated_state, history_dataset_association.validated_state_message, history_dataset_association.hidden_beneath_collection_instance_id 
FROM history_dataset_association, job_to_output_dataset 
WHERE job.id = job_to_output_dataset.job_id AND history_dataset_association.id = job_to_output_dataset.dataset_id AND history_dataset_association.deleted = true) AS anon_1, EXISTS (SELECT history_dataset_collection_association.id 
FROM history_dataset_collection_association, job_to_output_dataset_collection 
WHERE job.id = job_to_output_dataset_collection.job_id AND history_dataset_collection_association.id = job_to_output_dataset_collection.dataset_collection_id AND history_dataset_collection_association.deleted = true) AS anon_2, job.id AS job_id, job.create_time AS job_create_time, job.update_time AS job_update_time, job.history_id AS job_history_id, job.library_folder_id AS job_library_folder_id, job.tool_id AS job_tool_id, job.tool_version AS job_tool_version, job.galaxy_version AS job_galaxy_version, job.dynamic_tool_id AS job_dynamic_tool_id, job.state AS job_state, job.info AS job_info, job.copied_from_job_id AS job_copied_from_job_id, job.command_line AS job_command_line, job.dependencies AS job_dependencies, job.job_messages AS job_job_messages, job.param_filename AS job_param_filename, job.runner_name AS job_runner_name_1, job.job_stdout AS job_job_stdout, job.job_stderr AS job_job_stderr, job.tool_stdout AS job_tool_stdout, job.tool_stderr AS job_tool_stderr, job.exit_code AS job_exit_code, job.traceback AS job_traceback, job.session_id AS job_session_id, job.user_id AS job_user_id, job.job_runner_name AS job_job_runner_name, job.job_runner_external_id AS job_job_runner_external_id, job.destination_id AS job_destination_id, job.destination_params AS job_destination_params, job.object_store_id AS job_object_store_id, job.imported AS job_imported, job.params AS job_params, job.handler AS job_handler, post_job_action_association_1.id AS post_job_action_association_1_id, post_job_action_association_1.job_id AS post_job_action_association_1_job_id, post_job_action_association_1.post_job_action_id AS post_job_action_association_1_post_job_action_id 
FROM job LEFT OUTER JOIN post_job_action_association AS post_job_action_association_1 ON job.id = post_job_action_association_1.job_id 
WHERE job.id = %(param_1)s]
[parameters: {'param_1': 'null'}]
(Background on this error at: http://sqlalche.me/e/9h9h)

release 19.09

mvdbeek commented 4 years ago

File "lib/galaxy/webapps/galaxy/controllers/admin.py", line 1612, in job_info

This is when you look at a jobs' details in the admin panel, this is not related to state changes, other than your job not having a database id yet.