Cannot get property 'args' on null object error
Hi, Thanks for building this pipeline! I'm running into an error that I haven't been able to solve, copied below. Thanks in advance!
command: nextflow run nf-core/bactmap -profile test,singularity
error seen:
Cannot get property 'args' on null object
-- Check script '/home/kcreamer/.nextflow/assets/nf-core/bactmap/./workflows/bactmap.nf' at line: 38 or see '.nextflow.log' file for more details
Line 38 in the script I believe is:
multiqc_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \"$params.multiqc_title\""]) : ''
(I thus tried running the same command but with multiqc turned off, ie nextflow run nf-core/bactmap -profile test,singularity --skip_multiqc but the same null args error occurred).
And the info in the .nextflow.log reads:
May-10 13:29:18.605 [main] DEBUG nextflow.Session - Session aborted -- Cause: Cannot get property 'args' on null object
May-10 13:29:18.637 [main] ERROR nextflow.cli.Launcher - @unknown
java.lang.NullPointerException: Cannot get property 'args' on null object
at org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:194)
at org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:329)
at Script_c99ee09b.runScript(Script_c99ee09b:38)
at nextflow.script.BaseScript.runDsl2(BaseScript.groovy:170)
at nextflow.script.BaseScript.run(BaseScript.groovy:203)
at nextflow.script.ScriptParser.runScript(ScriptParser.groovy:220)
at nextflow.script.ScriptParser.runScript(ScriptParser.groovy:206)
at nextflow.script.ScriptParser.runScript(ScriptParser.groovy:200)
at nextflow.script.IncludeDef.memoizedMethodPriv$loadModule0PathMapSession(IncludeDef.groovy:142)
at nextflow.script.IncludeDef.access$0(IncludeDef.groovy)
at nextflow.script.IncludeDef$__clinit__closure1.doCall(IncludeDef.groovy)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
at groovy.lang.Closure.call(Closure.java:412)
at org.codehaus.groovy.runtime.memoize.Memoize$MemoizeFunction.lambda$call$0(Memoize.java:137)
at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:137)
at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:113)
at org.codehaus.groovy.runtime.memoize.Memoize$MemoizeFunction.call(Memoize.java:136)
at nextflow.script.IncludeDef.loadModule0(IncludeDef.groovy)
at nextflow.script.IncludeDef.load0(IncludeDef.groovy:114)
at nextflow.script.IncludeDef$load0$1.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
at Script_14934cd2.runScript(Script_14934cd2:28)
at nextflow.script.BaseScript.runDsl2(BaseScript.groovy:170)
at nextflow.script.BaseScript.run(BaseScript.groovy:203)
at nextflow.script.ScriptParser.runScript(ScriptParser.groovy:220)
at nextflow.script.ScriptRunner.run(ScriptRunner.groovy:212)
at nextflow.script.ScriptRunner.execute(ScriptRunner.groovy:120)
at nextflow.cli.CmdRun.run(CmdRun.groovy:334)
at nextflow.cli.Launcher.run(Launcher.groovy:480)
at nextflow.cli.Launcher.main(Launcher.groovy:639
I tried running another nf-core pipeline (nf-core/mag) and it got past this step & didn't return the same "null args" error, so it seems so far to be specific to this pipeline.
Specs:
- Nextflow Version: 22.04.0
- SingularityPRO version 3.5-8.el7
- System: Linux 3.10.0-1160.45.1.el7.x86_64
- Runtime: Groovy 3.0.10 on OpenJDK 64-Bit Server VM 11.0.9.1-internal+0-adhoc..src
- nf-core/bactmap v1.0.0
- Nextflow was called from an activated conda environment; singularity was also pre-loaded.
Thanks in advance for your help with this!
The issue is that test.conf doesn't have config details for multiqc, and other tools. At the moment, it only has config info for bcftools_filter and alignpseudogenomes.
We have noticed that with Nextflow 21.04.1, the pipeline test profile completes successfully.
Later versions such as 22.04.04 fail with the
Cannot get property 'args' on null object
message