ant test-compiled consumes excessive memory (unless it hangs first)
-------------------------------------------------------------------
Key: JRUBY-1342
URL: http://jira.codehaus.org/browse/JRUBY-1342
Project: JRuby
Issue Type: Bug
Components: Miscellaneous
Environment: trunk, WinXp, Java 6
Reporter: Bill Dortch
Assignee: Thomas E Enebo
ant test-compiled consumes excessive memory, unless it hangs first. On my poor
old machine with only 500MB RAM, I have to unload everything else before
running it (a pain in its own right), and even then everything slows to a crawl
as usage get up over 900MB virtual. ant test-interpreted does not have this
problem.
However, test-compiled often hangs before it gets to that point. A println
placed in TestUnitTestSuite shows it stops (with CPU pegged) in
rubicon/test_exception:
{noformat}
run-junit-compiled:
[junit] Testsuite: org.jruby.test.MainTestSuite
[junit] Tests run: 244, Failures: 0, Errors: 0, Time elapsed: 27.406 sec
[junit] ./test\testCompiler.rb:388 warning: multiple values for a block
parameter (0 for 1)
[junit] ln: creating symbolic link `build.xml.link' to `build.xml': File
exists
[junit] Testsuite: org.jruby.test.ScriptTestSuite
[junit] Tests run: 84, Failures: 0, Errors: 0, Time elapsed: 45.844 sec
[junit] ------------- Standard Error -----------------
[junit] ./test\testCompiler.rb:388 warning: multiple values for a block
parameter (0 for 1)
[junit] ln: creating symbolic link `build.xml.link' to `build.xml': File
exists
[junit] ------------- ---------------- ---------------
[junit] Running test [rubicon/test_access_control]
[junit] Running test [rubicon/test_array]
[junit] Running test [rubicon/test_assignment]
[junit] Running test [rubicon/test_basic_expressions]
[junit] Running test [rubicon/test_bignum]
[junit] Running test [rubicon/test_blocks_procs]
[junit] Running test [rubicon/test_boolean_expressions]
[junit] Running test [rubicon/test_case]
[junit] Running test [rubicon/test_catch_throw]
[junit] Running test [rubicon/test_class]
[junit] Running test [rubicon/test_comparable]
[junit] Running test [rubicon/test_constants]
[junit] Running test [rubicon/test_enumerable]
[junit] Running test [rubicon/test_eval]
[junit] Running test [rubicon/test_exception]
[I hit CTRL-BREAK here after waiting about a minute with CPU pegged]
2007-09-12 00:50:32
Full thread dump Java HotSpot(TM) Client VM (1.6.0-b105 mixed mode):
"Thread-10" daemon prio=6 tid=0x0b48f800 nid=0x794 runnable
[0x0bcff000..0x0bcffa94]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:177)
at org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:90)
at java.lang.Thread.run(Thread.java:619)
"Thread-9" daemon prio=6 tid=0x0b48dc00 nid=0xdb4 runnable
[0x0bc0f000..0x0bc0fb14]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:199)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
- locked <0x02a70540> (a java.io.BufferedInputStream)
at java.io.FilterInputStream.read(FilterInputStream.java:90)
at org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:90)
at java.lang.Thread.run(Thread.java:619)
"Thread-4" daemon prio=6 tid=0x0b56ac00 nid=0xc1c runnable
[0x0bcaf000..0x0bcafb14]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:199)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
- locked <0x02e97a90> (a java.io.BufferedInputStream)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at java.io.FilterInputStream.read(FilterInputStream.java:90)
at org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:90)
at java.lang.Thread.run(Thread.java:619)
"Low Memory Detector" daemon prio=6 tid=0x0aa9d000 nid=0xcd0 runnable
[0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x0aa98400 nid=0xce4 waiting on condition
[0x00000000..0x0acef8
18]
java.lang.Thread.State: RUNNABLE
"Attach Listener" daemon prio=10 tid=0x0aa97000 nid=0x544 runnable
[0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x0aa96000 nid=0x880 waiting on
condition [0x00000000..0x0000
0000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=8 tid=0x0aa87000 nid=0xcf8 in Object.wait()
[0x0abff000..0x0abffc94]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x02e97980> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x02e97980> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x0aa82800 nid=0x270 in Object.wait()
[0x0abaf000..0x0abafd14
]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x02e97a10> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x02e97a10> (a java.lang.ref.Reference$Lock)
"main" prio=6 tid=0x00296800 nid=0xdf4 runnable [0x0090f000..0x0090fe54]
java.lang.Thread.State: RUNNABLE
at java.lang.ProcessImpl.waitFor(Native Method)
at org.apache.tools.ant.taskdefs.Execute.waitFor(Execute.java:539)
at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:471)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeAsForked(JUnitTask.java:880
)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:685)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeOrQueue(JUnitTask.java:1434
)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:632)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.apache.tools.ant.Main.runBuild(Main.java:668)
at org.apache.tools.ant.Main.startAnt(Main.java:187)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
"VM Thread" prio=10 tid=0x0aa7f800 nid=0xd80 runnable
"VM Periodic Task Thread" prio=10 tid=0x0aa9e400 nid=0x310 waiting on condition
JNI global references: 588
Heap
def new generation total 960K, used 266K [0x02990000, 0x02a90000, 0x02e70000)
eden space 896K, 27% used [0x02990000, 0x029ccba0, 0x02a70000)
from space 64K, 37% used [0x02a70000, 0x02a76040, 0x02a80000)
to space 64K, 0% used [0x02a80000, 0x02a80000, 0x02a90000)
tenured generation total 9080K, used 2346K [0x02e70000, 0x0374e000,
0x06990000)
the space 9080K, 25% used [0x02e70000, 0x030baa88, 0x030bac00, 0x0374e000)
compacting perm gen total 12288K, used 9563K [0x06990000, 0x07590000,
0x0a990000)
the space 12288K, 77% used [0x06990000, 0x072e6c58, 0x072e6e00, 0x07590000)
No shared spaces configured.
{noformat}
--
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