stat.st_gid unsupported on this platform (NotImplementedError)
--------------------------------------------------------------
Key: JRUBY-5593
URL: http://jira.codehaus.org/browse/JRUBY-5593
Project: JRuby
Issue Type: Bug
Affects Versions: JRuby 1.6, JRuby 1.5.5
Environment: Redhat 5.2
Kernel 2.6.18-194.17.1.el5 x86_64,
glibc-2.5-24.el5_2.2
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) Server VM (build 14.3-b01, mixed mode)
Reporter: josh cronemeyer
Assignee: Thomas E Enebo
running the following command:
java -jar vendor/java/jruby-complete.jar -e 'puts
File::Stat.new("filename").gid'
Causes the following error:
stat.st_gid unsupported on this platform (NotImplementedError)
If I execute with the -Djruby.native.verbose=true then I get the following
stack trace (with jruby 1.5.5):
java.lang.UnsatisfiedLinkError: /tmp/jffi5107780186589389823.tmp:
/tmp/jffi5107780186589389823.tmp: failed to map segment from shared object:
Operation not permitted
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1758)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1654)
at java.lang.Runtime.load0(Runtime.java:770)
at java.lang.System.load(System.java:1003)
at com.kenai.jffi.Init.loadFromJar(Init.java:127)
at com.kenai.jffi.Init.load(Init.java:64)
at
com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:35)
at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:31)
at com.kenai.jffi.Foreign.getInstance(Foreign.java:81)
at com.kenai.jffi.Internals.getErrnoSaveFunction(Internals.java:30)
at
com.kenai.jaffl.provider.jffi.StubCompiler.getErrnoSaveFunction(StubCompiler.java:85)
at
com.kenai.jaffl.provider.jffi.StubCompiler.<clinit>(StubCompiler.java:35)
at
com.kenai.jaffl.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:161)
at
com.kenai.jaffl.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:125)
at com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:31)
at com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:25)
at com.kenai.jaffl.Library.loadLibrary(Library.java:76)
at
org.jruby.ext.posix.POSIXFactory$LinuxLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:105)
at
org.jruby.ext.posix.POSIXFactory$LinuxLibCProvider.getLibC(POSIXFactory.java:109)
at org.jruby.ext.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:29)
at org.jruby.ext.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:17)
at org.jruby.ext.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:67)
at org.jruby.ext.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:28)
at org.jruby.ext.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:28)
at org.jruby.ext.posix.LazyPOSIX.posix(LazyPOSIX.java:24)
at org.jruby.ext.posix.LazyPOSIX.stat(LazyPOSIX.java:207)
at org.jruby.RubyFileStat.setup(RubyFileStat.java:146)
at org.jruby.RubyFileStat.initialize(RubyFileStat.java:317)
at
org.jruby.RubyFileStat$i_method_1_0$RUBYINVOKER$initialize.call(org/jruby/RubyFileStat$i_method_1_0$RUBYINVOKER$initialize.gen:65535)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:319)
at
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:157)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:162)
at org.jruby.RubyClass$SpecificArityNew.call(RubyClass.java:804)
at
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:186)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:309)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:148)
at ruby.__dash_e__.__file__(-e:1)
at ruby.__dash_e__.load(-e)
at org.jruby.Ruby.runScript(Ruby.java:690)
at org.jruby.Ruby.runNormally(Ruby.java:573)
at org.jruby.Ruby.runFromMain(Ruby.java:416)
at org.jruby.Main.run(Main.java:286)
at org.jruby.Main.run(Main.java:128)
at org.jruby.Main.main(Main.java:97)
-e:1: stat.st_gid unsupported on this platform (NotImplementedError)
Here is the same command with jruby 1.6.0:
java.lang.RuntimeException: java.lang.UnsatisfiedLinkError:
/tmp/jffi4830571886258217398.tmp: /tmp/jffi4830571886258217398.tmp: failed to
map segment from shared object: Operation not permitted
at
com.kenai.jffi.Foreign$InValidInstanceHolder.getForeign(Foreign.java:90)
at com.kenai.jffi.Foreign.getInstance(Foreign.java:95)
at com.kenai.jffi.Library.openLibrary(Library.java:151)
at com.kenai.jffi.Library.getCachedInstance(Library.java:125)
at
com.kenai.jaffl.provider.jffi.Library.loadNativeLibraries(Library.java:66)
at
com.kenai.jaffl.provider.jffi.Library.getNativeLibraries(Library.java:56)
at
com.kenai.jaffl.provider.jffi.Library.getSymbolAddress(Library.java:35)
at
com.kenai.jaffl.provider.jffi.Library.findSymbolAddress(Library.java:45)
at
com.kenai.jaffl.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:188)
at
com.kenai.jaffl.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:110)
at com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:31)
at com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:25)
at com.kenai.jaffl.Library.loadLibrary(Library.java:76)
at
org.jruby.ext.posix.POSIXFactory$LinuxLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:105)
at
org.jruby.ext.posix.POSIXFactory$LinuxLibCProvider.getLibC(POSIXFactory.java:109)
at org.jruby.ext.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:29)
at org.jruby.ext.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:17)
at org.jruby.ext.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:67)
at org.jruby.ext.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:28)
at org.jruby.ext.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:28)
at org.jruby.ext.posix.LazyPOSIX.posix(LazyPOSIX.java:24)
at org.jruby.ext.posix.LazyPOSIX.stat(LazyPOSIX.java:206)
at org.jruby.RubyFileStat.setup(RubyFileStat.java:151)
at org.jruby.RubyFileStat.initialize(RubyFileStat.java:322)
at
org.jruby.RubyFileStat$i$1$0$initialize.call(RubyFileStat$i$1$0$initialize.gen:65535)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
at
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:148)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:152)
at org.jruby.RubyClass.newInstance(RubyClass.java:799)
at
org.jruby.RubyClass$i$newInstance.call(RubyClass$i$newInstance.gen:65535)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrNBlock.call(JavaMethod.java:266)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:139)
at ruby.__dash_e__.__file__(-e:1)
at ruby.__dash_e__.load(-e)
at org.jruby.Ruby.runScript(Ruby.java:670)
at org.jruby.Ruby.runNormally(Ruby.java:574)
at org.jruby.Ruby.runFromMain(Ruby.java:423)
at org.jruby.Main.doRunFromMain(Main.java:278)
at org.jruby.Main.internalRun(Main.java:198)
at org.jruby.Main.run(Main.java:164)
at org.jruby.Main.run(Main.java:148)
at org.jruby.Main.main(Main.java:128)
Caused by: java.lang.UnsatisfiedLinkError: /tmp/jffi4830571886258217398.tmp:
/tmp/jffi4830571886258217398.tmp: failed to map segment from shared object:
Operation not permitted
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1758)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1654)
at java.lang.Runtime.load0(Runtime.java:770)
at java.lang.System.load(System.java:1003)
at com.kenai.jffi.Init.loadFromJar(Init.java:164)
at com.kenai.jffi.Init.load(Init.java:78)
at
com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49)
at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45)
at com.kenai.jffi.Foreign.getInstance(Foreign.java:95)
at com.kenai.jffi.Internals.getErrnoSaveFunction(Internals.java:44)
at
com.kenai.jaffl.provider.jffi.StubCompiler.getErrnoSaveFunction(StubCompiler.java:68)
at
com.kenai.jaffl.provider.jffi.StubCompiler.<clinit>(StubCompiler.java:18)
at
com.kenai.jaffl.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:146)
... 34 more
Successfully loaded native POSIX impl.
Type.java:212:in `size': java.lang.ExceptionInInitializerError
from Provider.java:62:in `size'
from Struct.java:32:in `<clinit>'
from Struct.java:1074:in `<init>'
from HeapStruct.java:41:in `<init>'
from LinuxHeapFileStat.java:35:in `<init>'
from LinuxPOSIX.java:26:in `allocateStat'
from LinuxPOSIX.java:107:in `stat'
from LazyPOSIX.java:206:in `stat'
from RubyFileStat.java:151:in `setup'
from RubyFileStat.java:322:in `initialize'
from RubyFileStat$i$1$0$initialize.gen:65535:in `call'
from CachingCallSite.java:292:in `cacheAndCall'
from CachingCallSite.java:148:in `callBlock'
from CachingCallSite.java:152:in `call'
from RubyClass.java:799:in `newInstance'
from RubyClass$i$newInstance.gen:65535:in `call'
from JavaMethod.java:266:in `call'
from CachingCallSite.java:282:in `cacheAndCall'
from CachingCallSite.java:139:in `call'
from -e:1:in `__file__'
from -e:-1:in `load'
from Ruby.java:670:in `runScript'
from Ruby.java:574:in `runNormally'
from Ruby.java:423:in `runFromMain'
from Main.java:278:in `doRunFromMain'
from Main.java:198:in `internalRun'
from Main.java:164:in `run'
from Main.java:148:in `run'
from Main.java:128:in `main'
Caused by:
Foreign.java:90:in `getForeign': java.lang.RuntimeException:
java.lang.UnsatisfiedLinkError: /tmp/jffi4830571886258217398.tmp:
/tmp/jffi4830571886258217398.tmp: failed to map segment from shared object:
Operation not permitted
from Foreign.java:95:in `getInstance'
from Type.java:241:in `<clinit>'
from Type.java:212:in `size'
from Provider.java:62:in `size'
from Struct.java:32:in `<clinit>'
from Struct.java:1074:in `<init>'
from HeapStruct.java:41:in `<init>'
from LinuxHeapFileStat.java:35:in `<init>'
from LinuxPOSIX.java:26:in `allocateStat'
from LinuxPOSIX.java:107:in `stat'
from LazyPOSIX.java:206:in `stat'
from RubyFileStat.java:151:in `setup'
from RubyFileStat.java:322:in `initialize'
from RubyFileStat$i$1$0$initialize.gen:65535:in `call'
from CachingCallSite.java:292:in `cacheAndCall'
from CachingCallSite.java:148:in `callBlock'
from CachingCallSite.java:152:in `call'
from RubyClass.java:799:in `newInstance'
from RubyClass$i$newInstance.gen:65535:in `call'
from JavaMethod.java:266:in `call'
from CachingCallSite.java:282:in `cacheAndCall'
from CachingCallSite.java:139:in `call'
from -e:1:in `__file__'
from -e:-1:in `load'
from Ruby.java:670:in `runScript'
from Ruby.java:574:in `runNormally'
from Ruby.java:423:in `runFromMain'
from Main.java:278:in `doRunFromMain'
from Main.java:198:in `internalRun'
from Main.java:164:in `run'
from Main.java:148:in `run'
from Main.java:128:in `main'
Caused by:
ClassLoader.java:-2:in `load': java.lang.UnsatisfiedLinkError:
/tmp/jffi4830571886258217398.tmp: /tmp/jffi4830571886258217398.tmp: failed to
map segment from shared object: Operation not permitted
from ClassLoader.java:1758:in `loadLibrary0'
from ClassLoader.java:1654:in `loadLibrary'
from Runtime.java:770:in `load0'
from System.java:1003:in `load'
from Init.java:164:in `loadFromJar'
from Init.java:78:in `load'
from Foreign.java:49:in `getInstanceHolder'
from Foreign.java:45:in `<clinit>'
from Foreign.java:95:in `getInstance'
from Internals.java:44:in `getErrnoSaveFunction'
from StubCompiler.java:68:in `getErrnoSaveFunction'
from StubCompiler.java:18:in `<clinit>'
from AsmLibraryLoader.java:146:in `generateInterfaceImpl'
from AsmLibraryLoader.java:110:in `loadLibrary'
from Provider.java:31:in `loadLibrary'
from Provider.java:25:in `loadLibrary'
from Library.java:76:in `loadLibrary'
from POSIXFactory.java:105:in `<clinit>'
from POSIXFactory.java:109:in `getLibC'
from BaseNativePOSIX.java:29:in `<init>'
from LinuxPOSIX.java:17:in `<init>'
from POSIXFactory.java:67:in `loadLinuxPOSIX'
from POSIXFactory.java:28:in `loadPOSIX'
from LazyPOSIX.java:28:in `loadPOSIX'
from LazyPOSIX.java:24:in `posix'
from LazyPOSIX.java:206:in `stat'
from RubyFileStat.java:151:in `setup'
from RubyFileStat.java:322:in `initialize'
from RubyFileStat$i$1$0$initialize.gen:65535:in `call'
from CachingCallSite.java:292:in `cacheAndCall'
from CachingCallSite.java:148:in `callBlock'
from CachingCallSite.java:152:in `call'
from RubyClass.java:799:in `newInstance'
from RubyClass$i$newInstance.gen:65535:in `call'
from JavaMethod.java:266:in `call'
from CachingCallSite.java:282:in `cacheAndCall'
from CachingCallSite.java:139:in `call'
from -e:1:in `__file__'
from -e:-1:in `load'
from Ruby.java:670:in `runScript'
from Ruby.java:574:in `runNormally'
from Ruby.java:423:in `runFromMain'
from Main.java:278:in `doRunFromMain'
from Main.java:198:in `internalRun'
from Main.java:164:in `run'
from Main.java:148:in `run'
from Main.java:128:in `main'
I mentioned this in IRC and they recommended I file a defect here. Thanks in
advance.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email