Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sketch Gagolewski's reuse #2

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft

Sketch Gagolewski's reuse #2

wants to merge 5 commits into from

Conversation

imallona
Copy link
Member

@imallona imallona commented Dec 16, 2024

Attempting to reuse Gagolewski's clustering-data-v1 encoding the files as data-specific params.

Works on snakemake 8.24.1 and omnibenchmark v0.1.0-rc.2

It currently fails on snakemake 8.25.5 and omnibenchmark v0.1.0-rc.2 with:

(omnibenchmark) [imallona@MLS-L-IZMA clustering_example]$ ob run benchmark  -b Clustering.yaml --local
Benchmark YAML file integrity check passed.
Running benchmark...
Assuming unrestricted shared filesystem usage.
host: MLS-L-IZMA
Building DAG of jobs...
Your conda installation is not configured to use strict channel priorities. This is however important for having robust and correct environments (for details, see https://conda-forge.org/docs/user/tipsandtricks.html). Please consider to configure strict priorities by executing 'conda config --set channel_priority strict'.
Using shell: /usr/bin/bash
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Job stats:
job                        count
-----------------------  -------
all                            1
data_clustbench_param_0        1
data_clustbench_param_1        1
data_clustbench_param_2        1
total                          4

Select jobs to execute...
Execute 1 jobs...

[Mon Dec 16 11:14:55 2024]
localrule data_clustbench_param_2:
    output: out/data/clustbench/param_2/clustbench.data.gz, out/data/clustbench/param_2/clustbench.labels0.gz
    jobid: 3
    reason: Missing output files: out/data/clustbench/param_2/clustbench.labels0.gz, out/data/clustbench/param_2/clustbench.data.gz
    wildcards: stage=data, module=clustbench, params=param_2, dataset=clustbench
    resources: tmpdir=/home/imallona/tmp

Activating conda environment: .snakemake/conda/19d5081c77a4cb3f39a74cad33393bb9_
Activating conda environment: .snakemake/conda/19d5081c77a4cb3f39a74cad33393bb9_
Traceback (most recent call last):

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/cli.py", line 2156, in args_to_api
    dag_api.execute_workflow(

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/api.py", line 595, in execute_workflow
    workflow.execute(

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/workflow.py", line 1264, in execute
    raise e

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/workflow.py", line 1260, in execute
    success = self.scheduler.schedule()
              ^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/scheduler.py", line 194, in schedule
    self._finish_jobs()

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/scheduler.py", line 401, in _finish_jobs
    async_run(postprocess())

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/common/__init__.py", line 90, in async_run
    return asyncio.run(coroutine)
           ^^^^^^^^^^^^^^^^^^^^^^

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/asyncio/runners.py", line 194, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/scheduler.py", line 350, in postprocess
    await job.postprocess(

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/jobs.py", line 1194, in postprocess
    await self.dag.workflow.persistence.finished(self)

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/persistence.py", line 312, in finished
    software_stack_hash = self._software_stack_hash(job)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/persistence.py", line 525, in _software_stack_hash
    md5hash.update(job.env_modules.hash.encode())
                   ^^^^^^^^^^^^^^^^^^^^

  File "/home/imallona/miniconda3/envs/omnibenchmark/lib/python3.12/site-packages/snakemake/deployment/env_modules.py", line 27, in hash
    md5hash.update(name.encode())
                   ^^^^^^^^^^^

AttributeError: 'NoneType' object has no attribute 'encode'

Benchmark run has failed.

@imallona imallona requested a review from DanInci December 16, 2024 10:16
@imallona imallona requested a review from csoneson December 19, 2024 15:40
Copy link
Member

@csoneson csoneson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed also in the meeting this morning, I think this looks good!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants