bpipe
bpipe copied to clipboard
A fixed error reappeared
My linux server doesn't support file lock function. And bpipe always send me this:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:110)
at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:128)
Caused by: java.io.IOException: Function not implemented
at sun.nio.ch.FileDispatcherImpl.lock0(Native Method)
at sun.nio.ch.FileDispatcherImpl.lock(FileDispatcherImpl.java:90)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1115)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
at bpipe.Runner.main(Runner.groovy:283)
at bpipe.Runner9.main(Runner9.java:47)
... 6 more
It's once fixed in 0.9.9.2 Release Handle errors in log init so that log fail doesn't prevent ability to run Bpipe (java logging tries to obtain exclusive locks which aren't supported on some file systems.
Hmm, I see - this indeed was re-introduced as the basis for a feature / enhancement. The enhancement enables you to queue up bpipe pipelines to run in a directory just by running bpipe multiple times.
Can I ask what file system you are using? I'm curious how common it is and what the possible alternatives might be. I could probably make an option to just stop Bpipe doing this, at the cost of the feature to run multiple pipelines becoming disabled.
It is lustre and able to use the file lock system. However, the server manager didn't enable the function while mounting the system. The server is now shared with multiple researchers and hardly rests. It would take a lot of social effort to do so 😢