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.