bactmap icon indicating copy to clipboard operation
bactmap copied to clipboard

Cannot get property 'args' on null object error

Open creamerk opened this issue 3 years ago • 2 comments

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!

creamerk avatar May 10 '22 21:05 creamerk

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.

andersgs avatar Jun 13 '22 01:06 andersgs

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

craigwindell avatar Jun 24 '22 03:06 craigwindell