Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NPE Parsing a workflow #26

Open
coverbeck opened this issue Jul 20, 2022 · 4 comments
Open

NPE Parsing a workflow #26

coverbeck opened this issue Jul 20, 2022 · 4 comments

Comments

@coverbeck
Copy link
Collaborator

Dockstore is failing to register this workflow from this repo: https://github.com/nebiolabs/neb-galaxy-workflows

I tried debugging it a little, and this plugin is throwing an NPE, so there's not even an error message that the end-user sees.

Here's the stack trace I see when running in the plugin locally (I added a test in my local repo, hence the testPrestoImmuneValidation method which doesn't exist in this repo:

java.lang.NullPointerException
	at org.galaxyproject.gxformat2.v19_09.utils.LoadingOptions.expandUrl(LoadingOptions.java:93)
	at org.galaxyproject.gxformat2.v19_09.utils.UriLoader.expandUrl(UriLoader.java:26)
	at org.galaxyproject.gxformat2.v19_09.utils.UriLoader.load(UriLoader.java:48)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.load(Loader.java:16)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.loadField(Loader.java:85)
	at org.galaxyproject.gxformat2.v19_09.WorkflowStepInputImpl.<init>(WorkflowStepInputImpl.java:149)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at org.galaxyproject.gxformat2.v19_09.utils.RecordLoader.load(RecordLoader.java:23)
	at org.galaxyproject.gxformat2.v19_09.utils.RecordLoader.load(RecordLoader.java:6)
	at org.galaxyproject.gxformat2.v19_09.utils.UnionLoader.load(UnionLoader.java:26)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.load(Loader.java:16)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.loadField(Loader.java:85)
	at org.galaxyproject.gxformat2.v19_09.utils.ArrayLoader.load(ArrayLoader.java:27)
	at org.galaxyproject.gxformat2.v19_09.utils.ArrayLoader.load(ArrayLoader.java:6)
	at org.galaxyproject.gxformat2.v19_09.utils.OptionalLoader.load(OptionalLoader.java:20)
	at org.galaxyproject.gxformat2.v19_09.utils.OptionalLoader.load(OptionalLoader.java:5)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.load(Loader.java:16)
	at org.galaxyproject.gxformat2.v19_09.utils.IdMapLoader.load(IdMapLoader.java:51)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.load(Loader.java:16)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.loadField(Loader.java:85)
	at org.galaxyproject.gxformat2.v19_09.WorkflowStepImpl.<init>(WorkflowStepImpl.java:476)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at org.galaxyproject.gxformat2.v19_09.utils.RecordLoader.load(RecordLoader.java:23)
	at org.galaxyproject.gxformat2.v19_09.utils.RecordLoader.load(RecordLoader.java:6)
	at org.galaxyproject.gxformat2.v19_09.utils.UnionLoader.load(UnionLoader.java:26)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.load(Loader.java:16)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.loadField(Loader.java:85)
	at org.galaxyproject.gxformat2.v19_09.utils.ArrayLoader.load(ArrayLoader.java:27)
	at org.galaxyproject.gxformat2.v19_09.utils.ArrayLoader.load(ArrayLoader.java:6)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.load(Loader.java:16)
	at org.galaxyproject.gxformat2.v19_09.utils.IdMapLoader.load(IdMapLoader.java:51)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.load(Loader.java:16)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.loadField(Loader.java:85)
	at org.galaxyproject.gxformat2.v19_09.GalaxyWorkflowImpl.<init>(GalaxyWorkflowImpl.java:311)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at org.galaxyproject.gxformat2.v19_09.utils.RecordLoader.load(RecordLoader.java:23)
	at org.galaxyproject.gxformat2.v19_09.utils.RecordLoader.load(RecordLoader.java:6)
	at org.galaxyproject.gxformat2.v19_09.utils.UnionLoader.load(UnionLoader.java:26)
	at org.galaxyproject.gxformat2.v19_09.utils.Loader.documentLoad(Loader.java:41)
	at org.galaxyproject.gxformat2.v19_09.utils.RootLoader.loadDocument(RootLoader.java:18)
	at org.galaxyproject.gxformat2.v19_09.utils.RootLoader.loadDocument(RootLoader.java:23)
	at org.galaxyproject.gxformat2.v19_09.utils.RootLoader.loadDocument(RootLoader.java:27)
	at org.galaxyproject.gxformat2.Format2Linter.lint(Format2Linter.java:10)
	at org.galaxyproject.gxformat2.Lint.lint(Lint.java:20)
	at org.galaxyproject.dockstore_galaxy_interface.language.GalaxyWorkflowPlugin$GalaxyWorkflowPluginImpl.validateWorkflowSet(GalaxyWorkflowPlugin.java:115)
	at org.galaxyproject.dockstore_galaxy_interface.language.GalaxyWorkflowLanguagePluginTest.testPrestoImmuneValidation(GalaxyWorkflowLanguagePluginTest.java:173)
	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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
	at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
coverbeck added a commit that referenced this issue Jul 20, 2022
Needed to update the dockstore.version for it to build;
I think we cleaned out our Maven repo.
@coverbeck
Copy link
Collaborator Author

If there's anybody from Galaxy who can take this over, I created a branch, feature/26/npe, which recreates the failure. But the fix is beyond my knowledge.

@bethsheets
Copy link

Hi @mvdbeek, we were trying to support a user sharing their Galaxy workflow written in the latest format (gx2) on Dockstore and ran into this issue. Charles from the Dockstore team wasn't sure how to fix it. Could you help us find the correct person for help? Thanks so much!

@mvdbeek
Copy link
Member

mvdbeek commented Jul 21, 2022

Yes, would be great if dockstore can support gxformat2, we'd like to make that move. I suppose it's either @jmchilton or I that can help you. What's the question ?

@bethsheets
Copy link

@mvdbeek the user was trying to use the GitHub app integration to register with Dockstore and it was failing. Charles was able to recreate the error, but the error code is not useful. He was hoping someone from Galaxy may have a better understanding of what is going wrong.

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

No branches or pull requests

3 participants