Skip to content

Fix module run crash with multi-output processes#6965

Closed
pditommaso wants to merge 1 commit into
masterfrom
fix/module-run-multi-output-v2
Closed

Fix module run crash with multi-output processes#6965
pditommaso wants to merge 1 commit into
masterfrom
fix/module-run-multi-output-v2

Conversation

@pditommaso

Copy link
Copy Markdown
Member

Summary

  • Fix GroovyCastException when running nextflow module run on processes with multiple output channels (e.g. nf-core/fastqc)
  • ProcessEntryHandler.printOutput() assumed all output channels were DataflowVariable, but processes with multiple outputs use DataflowBroadcast
  • Use CH.getReadChannel() to handle both channel types and subscribe read channels before the dataflow network fires

Fixes #6958
Supersedes #6963

Test plan

  • New test: createReadChannels correctly handles mixed DataflowVariable and DataflowBroadcast channels
  • Existing tests pass
  • Manual: run nextflow module run nf-core/fastqc and verify no cast error

ProcessEntryHandler.printOutput() assumed all output channels were
DataflowVariable, but processes with multiple outputs use
DataflowBroadcast. Use CH.getReadChannel() to handle both channel
types and subscribe read channels before the dataflow network fires.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
@netlify

netlify Bot commented Mar 24, 2026

Copy link
Copy Markdown

Deploy Preview for nextflow-docs-staging canceled.

Name Link
🔨 Latest commit b9e39d6
🔍 Latest deploy log https://app.netlify.com/projects/nextflow-docs-staging/deploys/69c2781355c1eb0008cac3a7

@pditommaso pditommaso requested a review from jorgee March 24, 2026 11:40
@pditommaso

Copy link
Copy Markdown
Member Author

Adding tests data

Archive.zip

@bentsherman

Copy link
Copy Markdown
Member

These changes will be completely overwritten by #6875 , so I would just test with that PR

I'm still not sure how the module could be emitting queue channels when it is called with all values. But the logic in #6875 should work even in that case

@jorgee

jorgee commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

Both PRs (this and #6875) works fine for nf-core/fastqc. For salmon/quant they have the same problem with alignemt mode boolean, that we need to cast to boolean

@bentsherman

Copy link
Copy Markdown
Member

Closing in favor of #6875

@bentsherman bentsherman deleted the fix/module-run-multi-output-v2 branch March 24, 2026 15:01
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.

nextflow module run fails with DataflowBroadcast cast error when process has multiple outputs

3 participants