Jaffl getpid issue 
-------------------

                 Key: JRUBY-4847
                 URL: http://jira.codehaus.org/browse/JRUBY-4847
             Project: JRuby
          Issue Type: Bug
    Affects Versions: JRuby 1.5
         Environment: Centos 5.4 (Linux 2.6.18-164.el5 #1 SMP Thu Sep 3 
03:33:56 EDT 2009 i686 i686 i386 GNU/Linux)
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: Yogi
            Assignee: Thomas E Enebo


Splitting this issue from 
http://jira.codehaus.org/browse/JRUBY-4766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel,
 on Charles' request.

We're seeing another, possibly related issue, when file fragment caching is 
turned on in Rails (with Yourkit profiling enabled):

com.kenai.jaffl.provider.jffi.DefaultInvokerFactory$DefaultInvoker.marshal(DefaultInvokerFactory.java:331)
com.kenai.jaffl.provider.jffi.DefaultInvokerFactory$DefaultInvoker.invoke(DefaultInvokerFactory.java:338)
com.kenai.jaffl.provider.NativeInvocationHandler.invoke(NativeInvocationHandler.java:110)
$Proxy8.getpid(Unknown Source)
org.jruby.ext.posix.BaseNativePOSIX.getpid(BaseNativePOSIX.java:79)
org.jruby.ext.posix.LazyPOSIX.getpid(LazyPOSIX.java:107)
org.jruby.RubyGlobal$PidAccessor.getValue(RubyGlobal.java:681)
org.jruby.internal.runtime.ReadonlyAccessor.getValue(ReadonlyAccessor.java:51)
org.jruby.internal.runtime.GlobalVariables.get(GlobalVariables.java:111)
org.jruby.RubyTempfile.make_tmpname(RubyTempfile.java:199)
org.jruby.RubyTempfile$i_method_2_0$RUBYFRAMEDINVOKER$make_tmpname.call(org/jruby/RubyTempfile$i_method_2_0$RUBYFRAMEDINVOKER$make_tmpname.gen:65535)
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoBlock.call(JavaMethod.java:568)
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:160)
org.jruby.RubyClass.finvoke(RubyClass.java:644)
org.jruby.javasupport.util.RuntimeHelpers.invoke(RuntimeHelpers.java:461)
org.jruby.RubyBasicObject.callMethod(RubyBasicObject.java:340)
org.jruby.RubyTempfile.initialize(RubyTempfile.java:124)
org.jruby.RubyTempfile$i_method_0_1$RUBYFRAMEDINVOKER$initialize.call(org/jruby/RubyTempfile$i_method_0_1$RUBYFRAMEDINVOKER$initialize.gen:65535)
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:269)
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:77)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:82)
org.jruby.RubyClass.newInstance(RubyClass.java:769)
org.jruby.RubyIO.newInstance(RubyIO.java:865)
...

There wasn't much more information in the logs. From the stacktrace it seems 
that RubyTempfile.new is throwing this exception when calling 
runtime.getGlobalVariables().get("$$"). And it started occuring now only 
because we turned on the file-based cache store in Rails, which calls 
File.atomic_write, which in turn calls RubyTempfile.

The error stopped occurring when I disabled Yourkit.

So far the Yourkit bytecode issue was not preventing the server from starting 
up nor causing runtime errors, but this is preventing a view from rendering, so 
we'll need to workaround it by not using the FileStore or by disabling Yourkit 
agent.

-Yogi

-- 
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


Reply via email to