My investigation so far does not point to the new ObjectProxyCache (though it has revealed a flaw in the algorithm for selecting a segment, taken directly from ConcurrentHashMap -- at least with hashCodes returned from System.identityHashCode (1.6,WinXP), the 6 highest-order bits are always 0, causing all hash entries to go to the first segment). I haven't seen more than about 2000 (peak) cache entries allocated in debug output, and even those are gc'ed in short order. I put in a (temporary) exception if more than 10,000 were ever allocated -- never thrown. Will continue to research tonight, but the OOME is always (on my machine) thrown in rubicon/test_method.rb, far, far away from JI code. Also, only thrown in test-compiled, not test-interpreted. So I suggest other potential sources continue to be explored.
BTW, I'll check in a version of JavaUtilities that creates a weak- (rather than soft-) reference-based OPC, but at least in my environment, it doesn't seem to make any difference. -Bill On 12/26/07, Vladimir Sizikov <[EMAIL PROTECTED]> wrote: > > Guys, > > That's the revision 5360 that causes the permgen failure. > > Thanks, > --Vladimir > > On Dec 26, 2007 10:54 PM, Charles Oliver Nutter <[EMAIL PROTECTED]> > wrote: > > I'm seeing some bad regressions on trunk, of the permgen variety: > > > > [junit] Testsuite: org.jruby.test.RubyTestTestSuite > > [junit] could not compile: > > > test/externals/ruby_test/test/core/Hash/instance/tc_each_key_generated_test.rb > > because of: "PermGen space" > > [junit] java.lang.OutOfMemoryError: PermGen space > > [junit] could not compile: > > > test/externals/ruby_test/test/core/Hash/instance/tc_each_value_generated_test.rb > > because of: "PermGen space" > > [junit] java.lang.OutOfMemoryError: PermGen space > > [junit] could not compile: > > > test/externals/ruby_test/test/core/Hash/instance/tc_empty_generated_test.rb > > because of: "PermGen space" > > [junit] java.lang.OutOfMemoryError: PermGen space > > [junit] java.lang.OutOfMemoryError: PermGen space > > [junit] IO error -- > > test/externals/ruby_test/test/core/Hash/instance/tc_empty > > [junit] > > > test/externals/ruby_test/test/core/Hash/instance/tc_empty_generated_test.rb:2:in > > `require') > > [junit] Tests run: 87, Failures: 1, Errors: 4, Ti > > > > This is new as of the past two days. I had not been working on JRuby > > since the 23rd, and updated a bit ago. Now ant test blows up every time, > > under Java 5 and Java 6 on OS X. Vladimir confirmed Java 6 on Linux is > > also blowing up. > > > > My money would be on Bill's changes, but I haven't investigated at all. > > Those of you who committed changes the past two days need to bisect and > > figure out what's blowing up...and then fix it. > > > > - Charlie > > > > --------------------------------------------------------------------- > > To unsubscribe from this list please visit: > > > > http://xircles.codehaus.org/manage_email > > > > > > --------------------------------------------------------------------- > To unsubscribe from this list please visit: > > http://xircles.codehaus.org/manage_email > >