Details
-
Type:
Improvement
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Labels:None
-
Environment:jruby 1.6.5 (ruby-1.8.7-p330) (2011-10-25 9dcd388) (Java HotSpot(TM) Client VM 1.6.0_26) [Windows XP-x86-java]
-
Testcase included:yes
-
Number of attachments :
Description
(ruby-wmi gem)
loop {::WMI::Win32_Process.find(:all, :conditions =>
{'Name' => 'bash.exe'}); GC.start }
This eventually fails with this backtrace in jruby, not MRI:
Java::OrgRacobCom::ComFailException: Invoke of: ExecQuery
Source: SWbemServicesEx
Description: Server buffers are full and data cannot be accepted
...
full trace:
https://gist.github.com/1373677
following jruby memory usage from jconsolet appears not to be leaking, and this even might be expected for all I know, but it is odd that MRI doesn't show it, so might be a bug somewhere.
My hunch is that (elsewhere, same code base) using win32ole "in a loop" from one thread caused this when trying to create a new thread, later:
Exception in thread "RubyThread-2: go.rb:1" java.lang.OutOfMemoryError: unable to create new native thread
Thanks!
roger