galaxyproject / galaxy

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

ObjectAttributeInvalidException: dataset does not contain any valid dataset sources #18346

Open galaxyproject-sentryintegration[bot] opened 5 months ago

galaxyproject-sentryintegration[bot] commented 5 months ago

Sentry Issue: GALAXY-MAIN-X7E

ObjectAttributeInvalidException: dataset does not contain any valid dataset sources
(1 additional frame(s) were not displayed)
...
  File "galaxy/jobs/__init__.py", line 1249, in prepare
    tool_evaluator.set_compute_environment(compute_environment, get_special=get_special)
  File "galaxy/tools/evaluation.py", line 151, in set_compute_environment
    materialized_objects = self._materialize_objects(deferred_objects, self.local_working_directory)
  File "galaxy/tools/evaluation.py", line 252, in _materialize_objects
    undeferred = dataset_materializer.ensure_materialized(value)
  File "galaxy/model/deferred.py", line 114, in ensure_materialized
    target_source = self._find_closest_dataset_source(dataset)
  File "galaxy/model/deferred.py", line 209, in _find_closest_dataset_source
    raise ObjectAttributeInvalidException("dataset does not contain any valid dataset sources")

(58411954) Failure preparing job
mvdbeek commented 5 months ago

We can upload non-URI datasets and make them deferred, this is what happens if you use such a dataset in a job. This should probably not be possible.

nsoranzo commented 1 day ago

It is indeed currently possible to set the "Defer dataset resolution" option for a local file in the upload form, which results in a blue (i.e. deferred) dataset in the history.

Screenshot from 2024-11-07 16-33-02

So this is both a UI (this shouldn't be shown/selectable) and backend problem (we should fail the upload job).