Skip to content

File.flock does not work on Solaris for 9k #3343

@oblutak

Description

@oblutak

Same issue reported for 3254. The code change fixed the 1.7 branch (1.7.22) but issue is still in 9k. I thought it would be in 9.0.1.0 since it was released after:

$ ./jruby --version
jruby 9.0.1.0 (2.2.2) 2015-09-02 583f336 Java HotSpot(TM) 64-Bit Server VM 25.51-b03 on 1.8.0_51-b16 +jit [SunOS-amd64]

$ ./jruby -e "File.open('/tmp/test', File::RDWR|File::CREAT) { |f| f.flock(File::LOCK_EX) }"
AsmRuntime.java:40:in `newUnsatisifiedLinkError': java.lang.UnsatisfiedLinkError: unknown
        from null:-1:in `flock'
        from BaseNativePOSIX.java:527:in `flock'
        from CheckedPOSIX.java:416:in `flock'
        from LazyPOSIX.java:412:in `flock'
        from PosixShim.java:179:in `flock'
        from OpenFile.java:2488:in `run'
        from OpenFile.java:2485:in `run'
        from RubyThread.java:1352:in `executeTask'
        from OpenFile.java:2485:in `threadFlock'
        from RubyFile.java:298:in `flock'
        from RubyFile$INVOKER$i$1$0$flock.gen:-1:in `call'
        from CachingCallSite.java:313:in `cacheAndCall'
        from CachingCallSite.java:163:in `call'
        from -e:-1:in `invokeOther1:flock'
        from -e:1:in `RUBY$block$-e$0'
        from CompiledIRBlockBody.java:70:in `commonYieldPath'
        from IRBlockBody.java:140:in `doYield'
        from BlockBody.java:77:in `yield'
        from Block.java:147:in `yield'
        from RubyIO.java:1133:in `ensureYieldClose'
        from RubyIO.java:1126:in `open'
        from RubyIO$INVOKER$s$0$0$open.gen:-1:in `call'
        from DynamicMethod.java:209:in `call'
        from CachingCallSite.java:343:in `cacheAndCall'
        from CachingCallSite.java:205:in `callBlock'
        from CachingCallSite.java:209:in `call'
        from -e:-1:in `invokeOther7:open'
        from -e:1:in `RUBY$script'
        from MethodHandle.java:625:in `invokeWithArguments'
        from Compiler.java:111:in `load'
        from Ruby.java:822:in `runScript'
        from Ruby.java:814:in `runScript'
        from Ruby.java:752:in `runNormally'
        from Ruby.java:574:in `runFromMain'
        from Main.java:409:in `doRunFromMain'
        from Main.java:304:in `internalRun'
        from Main.java:231:in `run'
        from Main.java:200:in `main'

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions