nextflow-io / nextflow-io/nextflow

when activating conda env, `conda info --json` returned error report instead of paths

Open
#4,539 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

software/bash software/conda
Dominant language
Groovy
Stars
3.5k
Forks
811
Avg merge
2d 11h
Merged PRs (30d)
61

Description

Bug report

(Please follow this template replacing the text between parentheses with the requested information)

Expected behavior and actual behavior

Expected behavior:

echo $(conda info --json | awk '/conda_prefix/ { gsub(/"|,/, "", $2); print $2 }')
/Users/path/to/miniconda3

actual behavior

(base) bash-4.4$ conda info --json
{
  "caused_by": "OSError(28, 'No space left on device')",
  "error": "NoSpaceLeftError: No space left on devices.",
  "exception_name": "NoSpaceLeftError",
  "exception_type": "<class 'conda.exceptions.NoSpaceLeftError'>",
  "message": "No space left on devices."
}
Steps to reproduce the problem

As suggested above.

Program output

As listed above.

Environment
  • Nextflow version: version 23.10.0 build 5889
  • Java version: openjdk 20-internal 2023-03-21
  • Operating system: Linux
  • Bash version: GNU bash, version 4.4.20(1)-release (x86_64-redhat-linux-gnu)
Comments

This issue is meant to point out an unexpected behavior of conda info --json. I'm using the cluster from my school. For some reason the disk that the conda is in is full but I can use the conda env without any issue.

I had to debug this by digging into the .command.run file. I suggest improving the way nextflow finds the activate binary so that it will work even if some temp disks are full.

Best,
Dongze

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with conda info --json when the conda disk or temporary disk is full, then inspect the generated .command.run file and the logic that locates the activate binary. Compare the reported behavior with using the conda environment directly; done means activation handling still finds the required binary and reports a usable path under this condition.

Written by the indexing model from the issue text.

Assessment

Tech stack
bash, groovy
Domain
cli, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.