Skip to content

Fusioncatcher: JVM Initialization Fails: Too small maximum heap due to missing unit in -Xmx parameter #680

@tkcaccia

Description

@tkcaccia

Description of the bug

I am using the dev version of RNAfusion

As visible, the JVM option -Xmx29491 was passed without any unit. As per JVM specifications, the value is interpreted as 29491 bytes, which leads to JVM failing to initialize due to insufficient heap size.

Expected behavior:

The -Xmx parameter should include a unit (m for megabytes, g for gigabytes).

For example: -Xmx29491m or -Xmx29g.

Suggested fix:

Ensure that the workflow or bbmerge wrapper appends the correct unit to the memory specification when constructing the command line.

Possibly include input validation to prevent passing unitless values to -Xmx.

  ////////////////////////////////////////////////////////////////////////////////
    Running: step = 483   Time: 14:54   Date: 2025-06-18 (elapsed time: 0d:0h:20m)
  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  ==> Current working directory: '/scratch/firenze/Nextflow/work/93/3a5227efba98d864f71f90ce96d30e'
  bbmerge-auto.sh \
  in=candidate_focus_reads.txt.0.fq \
  out=candidate_focus_reads.txt.0_m.fq \
  threads=6 \
  extend2=20 \
  iterations=3 \
  k=17 \
  mindepthseed=1 \
  mindepthextend=1 \
  minoverlap=11 \
  -Xmx29491
  --------------------------------------------------------------------------------
  +-->EXECUTING...


  ERROR: Workflow execution failed at step 483 while executing:
  ----------------
     bbmerge-auto.sh \
     in=candidate_focus_readsError occurred during initialization of VM
  Too small maximum heap
  .txt.0.fq \
     out=candidate_focus_reads.txt.0_m.fq \
     threads=6 \
     extend2=20 \
     iterations=3 \
     k=17 \
     mindepthseed=1 \
     mindepthextend=1 \
     minoverlap=11 \
     -Xmx29491
  ----------------
    * Size 'candidate_focus_reads.txt.0.fq' = 424 bytes
    * Size 'candidate_focus_reads.txt.0_m.fq' = 0 bytes


  Executing second time the same step/command in order to capture error messages (i.e. STDERR)...

  -------------------------------------------
  java -Djava.library.path=/usr/local/opt/bbmap-38.44-0/jni/ -ea -Xmx29491 -Xms29491 -cp /usr/local/opt/bbmap-38.44-0/current/ jgi.BBMerge in=candidate_focus_reads.txt.0.fq out=candidate_focus_reads.txt.0_m.fq threads=6 extend2=20 iterations=3 k=17 mindepthseed=1 mindepthextend=1 minoverlap=11 -Xmx29491

Command used and terminal output

export NXF_SINGULARITY_CACHEDIR=/scratch/singularity/RNAfusion/
export NXF_ANSI_LOG=false

nextflow run nf-core/rnafusion -r dev   -profile singularity   -params-file rnafusion_params.yaml

Relevant files

No response

System information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions