You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Xiao-Feng Li (JIRA)" <ji...@apache.org> on 2007/05/28 10:31:15 UTC
[jira] Commented: (HARMONY-3822) [drlvm][gc_gen] cannot create more
than 334 threads on Linux SLES10
[ https://issues.apache.org/jira/browse/HARMONY-3822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12499500 ]
Xiao-Feng Li commented on HARMONY-3822:
---------------------------------------
Ivan, I guess this is a bug in threading implementation. The main reason is in threading pool. Please have look at HARMONY-3289 (A more detailed description is at HARMONY-3956). (It may also related with some multithread shutdown bug).
The direct evidence is the returning error "java.lang.OutOfMemoryError: Failed to create new thread". To verify my guess, would you please call System.gc() in every one or more iterations to collect the dead thread bodies? Thanks.
> [drlvm][gc_gen] cannot create more than 334 threads on Linux SLES10
> -------------------------------------------------------------------
>
> Key: HARMONY-3822
> URL: https://issues.apache.org/jira/browse/HARMONY-3822
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86 SLES10, harmony-jdk-r535876
> Reporter: Ivan Popov
> Assignee: Xiao-Feng Li
> Attachments: ThreadTest.java
>
>
> After switching Harmony to GCv5, I cannot run JPDA tests on Linux SLES10. After a number of tests passed, remaining tests fail with OutOfMemoryException while creating thread. With -XX:vm.dlls=libgc_cc.so all tests pass.
> I see this problem only on SLES10 (kernel 2.6.16.21-0.25-bigsmp). It is not reproduced on SLES9 (kernel 2.6.5-7.191-bigsmp).
> I'm attaching simple test that creates and runs 3000 threads sequentially. It works well for GCv41 and hangs for GCv5 with 100% cpu utilization after throwing exception (^C does not kill).
> Here is test output for SLES10:
> -----------------------------------------------------------------------------------------
> $ uname -a
> Linux nstdrlxl11 2.6.16.21-0.25-bigsmp #1 SMP Tue Sep 19 07:26:15 UTC 2006 i686 i686 i386 GNU/Linux
> $ .../target/hdk/jdk/jre/bin/java -XX:vm.dlls=libgc_cc.so -cp . ThreadTest
> <****>
> Created threads: 10000
> $ .../target/hdk/jdk/jre/bin/java -XX:vm.dlls=libgc_gen.so -cp . ThreadTest
> <****>
> Created threads: 334
> ^C
> ^Z
> [1]+ Stopped .../target/hdk/jdk/jre/bin/java -XX:vm.dlls=libgc_gen.so -cp . ThreadTest
> -----------------------------------------------------------------------------------------
> This work well on SLES9:
> -----------------------------------------------------------------------------------------
> $ uname -a
> Linux nstdrlel16 2.6.5-7.191-bigsmp #1 SMP Tue Jun 28 14:58:56 UTC 2005 i686 i686 i386 GNU/Linux
> $ /export/users/ipopov1/svn_harmony_federated/trunk/target/hdk/jdk/jre/bin/java -XX:vm.dlls=libgc_cc.so -cp . ThreadTest
> <*****>
> Created threads: 10000
> $ /export/users/ipopov1/svn_harmony_federated/trunk/target/hdk/jdk/jre/bin/java -XX:vm.dlls=libgc_gen.so -cp . ThreadTest
> <*****>
> Created threads: 10000
> -----------------------------------------------------------------------------------------
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.