Memory leak when calling module_eval with ruby-debug
----------------------------------------------------

                 Key: JRUBY-5892
                 URL: https://jira.codehaus.org/browse/JRUBY-5892
             Project: JRuby
          Issue Type: Bug
          Components: Core Classes/Modules
    Affects Versions: JRuby 1.5.6
         Environment: Ubuntu 10.04.2 LTS. 
jruby 1.5.6 (ruby 1.8.7 patchlevel 249) (2010-12-03 9cf97c3) (Java HotSpot(TM) 
64-Bit Server VM 1.6.0_24) [amd64-java]
            Reporter: Jeff Wartes


We moved a JRuby-based service at work from JRuby 1.4 to 1.5.6, and started 
encountering a memory leak. We think we've narrowed it down to this repro case:

{noformat}
jwartes1:~$ cat jruby_leak.rb
require 'rubygems'
NUM_ITERATIONS = ARGV[0].to_i
require 'ruby-debug' if ARGV[1] == 'with_debugger'

def overwrite_current_line(s)
  print "\x1b[1K\x1b[12D"
  print s
  STDOUT.flush
end

def iterate(n_count)
  puts "Starting..."
  (0...n_count).each do |i|
    overwrite_current_line( i.to_s ) if i % 1000 == 0
    Object.module_eval("Hash")
  end
  puts
end

iterate(NUM_ITERATIONS)

jwartes1:~$ jruby -J-XX:+HeapDumpOnOutOfMemoryError -J-Xms20M -J-Xmx20M 
jruby_leak.rb 1000000
Starting...
999000
jwartes1:~$ jruby -J-XX:+HeapDumpOnOutOfMemoryError -J-Xms20M -J-Xmx20M 
jruby_leak.rb 1000000 with_debugger
Starting...
122000java.lang.OutOfMemoryError: GC overhead limit exceeded
Dumping heap to java_pid20897.hprof ...
Heap dump file created [34898233 bytes in 0.583 secs]
Error: Your application used more memory than the safety cap of 20M.
Specify -J-Xmx####m to increase it (#### = cap size in MB).
Specify -w for full OutOfMemoryError stack trace

{noformat}

I'd be happy to provide the heapdump, but I can't get it small enough to attach 
to the Jira issue.

--
This message is automatically generated by JIRA.
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