ssadedin / bpipe

Bpipe - a tool for running and managing bioinformatics pipelines
http://docs.bpipe.org/
Other
230 stars 57 forks source link

Bpipe run fails #52

Open lonsbio opened 10 years ago

lonsbio commented 10 years ago

From florent....@gmail.com on 2012-08-01T13:35:33Z

I have an issue with testing pipelines:

$ bpipe test test.groovy

| Starting Pipeline at 2012-08-01 |

============================================= Stage ll ============================================= Caught: groovy.lang.MissingPropertyException: No such property: input for class: script_from_command_line groovy.lang.MissingPropertyException: No such property: input for class: script_from_command_line at script_from_command_line$_run_closure1.doCall(script_from_command_line:2) at bpipe.PipelineStage.invokeMethod(PipelineStage.groovy) at bpipe.PipelineStage$_run_closure4.doCall(PipelineStage.groovy:174) at bpipe.PipelineStage$_run_closure4.doCall(PipelineStage.groovy) at bpipe.PipelineStage.run(PipelineStage.groovy:173) at bpipe.Pipeline.runSegment(Pipeline.groovy:274) at bpipe.Pipeline$_execute_closure2.doCall(Pipeline.groovy:337) at bpipe.Pipeline$_execute_closure2.doCall(Pipeline.groovy) at bpipe.Pipeline.execute(Pipeline.groovy:329) at bpipe.Pipeline.this$2$execute(Pipeline.groovy) at bpipe.Pipeline.execute(Pipeline.groovy) at bpipe.Pipeline.this$2$execute(Pipeline.groovy) at bpipe.Pipeline$this$2$execute.call(Unknown Source) at bpipe.Pipeline.run(Pipeline.groovy:248) at bpipe.Pipeline$run.callStatic(Unknown Source) at bpipe.Pipeline.run(Pipeline.groovy:221) at script_from_command_line.run(script_from_command_line:4) at bpipe.Runner.main(Runner.groovy:203)

Where test.groovy is a very simple pipeline: ll = { exec "ls -alh $input" } Bpipe.run { ll }

This happened with every pipeline I have tried. Any idea what the matter is?

Florent

Original issue: http://code.google.com/p/bpipe/issues/detail?id=52

lonsbio commented 10 years ago

From maciek.k...@gmail.com on 2012-08-01T08:34:52Z

I think you should just specify input, like:

bpipe test test.groovy test.txt

In a new (not yet available) version Bpipe will be actually saying:

================== Stage ll ================== Pipeline failed!

Input expected but not provided

Cheers,

Maciej

lonsbio commented 10 years ago

From florent....@gmail.com on 2012-08-01T17:10:39Z

Thanks Maciek. Actually, I should have mentioned that I running 'test' both with and without specifying an input. Here is the error message when specifying an input:

$ bpipe test test.groovy test.groovy

| Starting Pipeline at 2012-08-02 |

============================================= Stage ll ============================================= Caught: java.lang.IncompatibleClassChangeError: the number of constructors during runtime and compile time for java.lang.RuntimeException do not match. Expected 4 but got 5 java.lang.IncompatibleClassChangeError: the number of constructors during runtime and compile time for java.lang.RuntimeException do not match. Expected 4 but got 5 at bpipe.PipelineTestAbort.(PipelineTestAbort.groovy:43) at bpipe.CommandManager.start(CommandManager.groovy:165) at bpipe.PipelineContext.async(PipelineContext.groovy:800) at bpipe.PipelineContext.exec(PipelineContext.groovy:685) at bpipe.PipelineContext.exec(PipelineContext.groovy) at bpipe.PipelineContext.exec(PipelineContext.groovy:648) at bpipe.PipelineContext.invokeMethod(PipelineContext.groovy) at bpipe.PipelineDelegate.methodMissing(PipelineDelegate.groovy:41) at bpipe.PipelineDelegate.invokeMethod(PipelineDelegate.groovy) at script_from_command_line$_run_closure1.doCall(script_from_command_line:2) at bpipe.PipelineStage.invokeMethod(PipelineStage.groovy) at bpipe.PipelineStage$_run_closure4.doCall(PipelineStage.groovy:174) at bpipe.PipelineStage$_run_closure4.doCall(PipelineStage.groovy) at bpipe.PipelineStage.run(PipelineStage.groovy:173) at bpipe.Pipeline.runSegment(Pipeline.groovy:274) at bpipe.Pipeline$_execute_closure2.doCall(Pipeline.groovy:337) at bpipe.Pipeline$_execute_closure2.doCall(Pipeline.groovy) at bpipe.Pipeline.execute(Pipeline.groovy:329) at bpipe.Pipeline.this$2$execute(Pipeline.groovy) at bpipe.Pipeline.execute(Pipeline.groovy) at bpipe.Pipeline.this$2$execute(Pipeline.groovy) at bpipe.Pipeline$this$2$execute.call(Unknown Source) at bpipe.Pipeline.run(Pipeline.groovy:248) at bpipe.Pipeline$run.callStatic(Unknown Source) at bpipe.Pipeline.run(Pipeline.groovy:221) at script_from_command_line.run(script_from_command_line:4) at bpipe.Runner.main(Runner.groovy:203)

Looking at it again, I realize that the error message is not the same as when omitting the input.

Best,

Florent

lonsbio commented 10 years ago

From ssade...@gmail.com on 2012-08-02T18:13:28Z

Hi Florent, I think this is actually a separate bug which I've been meaning to log but haven't got around to yet. This happens in some instances when running Bpipe with JDK 1.7.

Unfortunately compiled groovy code isn't portable between Java 1.6 and Java 1.7, which is most annoying - it means we may have to create separate distributions for the two versions of Java.

Can you confirm for me if you're using Java 1.7 here?

If possible, can you try it with 1.6?

lonsbio commented 10 years ago

From florent....@gmail.com on 2012-08-02T20:39:53Z

Here you go. The same command was tested with Java 5, 6 and 7. It worked only in Java 6. Both Java 5 and 7 generated an exception.

Attachment: java_1.6.0_33.log java_1.5.0_22.log java_1.7.0.log

lonsbio commented 10 years ago

From ssade...@gmail.com on 2012-08-23T19:00:26Z

See Issue 61 for some followup on the problem mentioned in Comment #2 above. https://code.google.com/p/bpipe/issues/detail?id=61