You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Vera Petrashkova (JIRA)" <ji...@apache.org> on 2007/02/22 08:55:05 UTC

[jira] Created: (HARMONY-3224) [drlvm] VM hangs or crashes after a lot of System.gc() invocations

[drlvm] VM hangs or crashes after a lot of System.gc() invocations
------------------------------------------------------------------

                 Key: HARMONY-3224
                 URL: https://issues.apache.org/jira/browse/HARMONY-3224
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: Windows and Linux
            Reporter: Vera Petrashkova


This test demonstrates the following issue in GC behavior. When System.gc() is invoked then VM hangs or crashes.
---------------test1.java---------------------
public class test1 { 
    public static long cnt=0;
    public static void main(String args[]) {
        int flagGC = 0;
        try {
            flagGC = Integer.parseInt(args[0]);
        } catch (Exception e) {
        }
        System.out.println("Start: flagGC="+flagGC);
        Runtime r = Runtime.getRuntime();
        long maxMem = r.maxMemory();
        try {
            for (long i = 0; ; i++) {
                long m1 = r.freeMemory();
                ((test1_1)Class.forName("test1_1").newInstance()).test();
        
                if (flagGC == 1) {
                    System.gc();
                }            
                long m2 = r.freeMemory();
                if (i % 10000 == 0) {
                    System.err.println("Iteration: "+i+"  cnt: "+cnt+"   freeMem: "+m1+" "+m2);
                }
            }
        } catch (Throwable e) {
            e.printStackTrace();
        }            
    }
}
class test1_1 {
    public void test() {
        test1.cnt++;
    }
}
-------------------------------------
When I run this test without GC invocation
     java -cp test1 0
than I stopted it after 15000000 iterations.

But in case of using GC
     java -cp test1 1

- sometimes this test hangs.
- otherwise it crashes after 130000 iterations.

A lot of tests from reliability test suite (https://issues.apache.org/jira/browse/HARMONY-2918) use the scheme from "test1". 
These tests repeat some actions and  invoke System.gc() afteter each iteration.

As the result they hang or VM  crashes and reports error message.
On Linux output is:

Start: flagGC=1
Iteration: 0  cnt: 1   freeMem: 14260128 14260128
Iteration: 10000  cnt: 10001   freeMem: 5592048 5592048
Iteration: 20000  cnt: 20001   freeMem: 10410884 10410884
Iteration: 30000  cnt: 30001   freeMem: 2861300 2861300
Iteration: 40000  cnt: 40001   freeMem: 7893908 7893908
Iteration: 50000  cnt: 50001   freeMem: 13765496 13765496
Iteration: 60000  cnt: 60001   freeMem: 6215956 6215956
Iteration: 70000  cnt: 70001   freeMem: 10969120 10969120
Iteration: 80000  cnt: 80001   freeMem: 3419512 3419512
Iteration: 90000  cnt: 90001   freeMem: 9291132 9291132
Iteration: 100000  cnt: 100001   freeMem: 15087472 15087472
Iteration: 110000  cnt: 110001   freeMem: 6774168 6774168
Iteration: 120000  cnt: 120001   freeMem: 12645720 12645720
Iteration: 130000  cnt: 130001   freeMem: 5096284 5096284
SIGSEGV in VM code.
SIGSEGV in VM code.
Stack trace:
Stack trace:
        1: hythread_monitor_try_enter (??:-1)
        2: monitor_wait_impl (??:-1)
        3: hythread_thin_monitor_try_enter (??:-1)
        4: IP is 0x56EB55B1 <native code>
        5: ?? (??:-1)
<end of stack trace>
Segmentation fault

On Windows output is:
Start: flagGC=1
Iteration: 0  cnt: 1   freeMem: 14260140 14260140
Iteration: 10000  cnt: 10001   freeMem: 5591808 5591808
Iteration: 20000  cnt: 20001   freeMem: 9854568 9854568
Iteration: 30000  cnt: 30001   freeMem: 2864096 2864096
Iteration: 40000  cnt: 40001   freeMem: 7617464 7617464
Iteration: 50000  cnt: 50001   freeMem: 13488960 13488960
Iteration: 60000  cnt: 60001   freeMem: 5379920 5379920
Iteration: 70000  cnt: 70001   freeMem: 10971940 10971940
Iteration: 80000  cnt: 80001   freeMem: 3422152 3422152
Iteration: 90000  cnt: 90001   freeMem: 9293992 9293992
Iteration: 100000  cnt: 100001   freeMem: 14373960 14373960
Iteration: 110000  cnt: 110001   freeMem: 7056664 7056664
Iteration: 120000  cnt: 120001   freeMem: 12089460 12089460
Iteration: 130000  cnt: 130001   freeMem: 4539920 4539920

An unhandled error (4) has occurred.
HyGeneric_Signal_Number=00000004
ExceptionCode=c0000005
ExceptionAddress=100022D9
ContextFlags=0001003f
Handler1=00401130
Handler2=11110A50
InaccessibleAddress=0000000C
EDI=00000000
ESI=00000000
EAX=00000000
EBX=00000000
ECX=00417E00
EDX=10410020
EIP=100022D9
ESP=0013F4F4
EBP=00417E00
Module=<DRL_VM_location>\bin\HYTHR.dll
Module_base_address=10000000
Offset_in_DLL=000022d9

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Updated: (HARMONY-3224) [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations

Posted by Xiao-Feng Li <xi...@gmail.com>.
On 5/17/07, Gregory Shimansky <gs...@apache.org> wrote:
> Xiao-Feng Li wrote:
> > Gregory, is this bug still existent? Actually It doesn't fail in my
> > tests. I stopped it after 200000 iterations.
>
> Hello Xiao-Feng. I didn't try this test so I cannot answer your
> question. Perhaps you should ask Vera who submitted this bug. If you
> think it is no longer reproducible, just close it.

Thanks. In my last test, I ran it for hours without failure, I stopped
it after 3820000 iterations. So I closed it. Thanks, xiaofeng

> > On 5/16/07, Gregory Shimansky (JIRA) <ji...@apache.org> wrote:
> >>
> >>      [
> >> https://issues.apache.org/jira/browse/HARMONY-3224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
> >> ]
> >>
> >> Gregory Shimansky updated HARMONY-3224:
> >> ---------------------------------------
> >>
> >>     Summary: [drlvm][gc] VM hangs or crashes after a lot of
> >> System.gc() invocations  (was: [drlvm] VM hangs or crashes after a lot
> >> of System.gc() invocations)
> >>
> >> > [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations
> >> > ----------------------------------------------------------------------
> >> >
> >> >                 Key: HARMONY-3224
> >> >                 URL: https://issues.apache.org/jira/browse/HARMONY-3224
> >> >             Project: Harmony
> >> >          Issue Type: Bug
> >> >          Components: DRLVM
> >> >         Environment: Windows and Linux
> >> >            Reporter: Vera Petrashkova
> >> >
> >> > This test demonstrates the following issue in GC behavior. When
> >> System.gc() is invoked then VM hangs or crashes.
> >> > ---------------test1.java---------------------
> >> > public class test1 {
> >> >     public static long cnt=0;
> >> >     public static void main(String args[]) {
> >> >         int flagGC = 0;
> >> >         try {
> >> >             flagGC = Integer.parseInt(args[0]);
> >> >         } catch (Exception e) {
> >> >         }
> >> >         System.out.println("Start: flagGC="+flagGC);
> >> >         Runtime r = Runtime.getRuntime();
> >> >         long maxMem = r.maxMemory();
> >> >         try {
> >> >             for (long i = 0; ; i++) {
> >> >                 long m1 = r.freeMemory();
> >> >
> >> ((test1_1)Class.forName("test1_1").newInstance()).test();
> >> >
> >> >                 if (flagGC == 1) {
> >> >                     System.gc();
> >> >                 }
> >> >                 long m2 = r.freeMemory();
> >> >                 if (i % 10000 == 0) {
> >> >                     System.err.println("Iteration: "+i+"  cnt:
> >> "+cnt+"   freeMem: "+m1+" "+m2);
> >> >                 }
> >> >             }
> >> >         } catch (Throwable e) {
> >> >             e.printStackTrace();
> >> >         }
> >> >     }
> >> > }
> >> > class test1_1 {
> >> >     public void test() {
> >> >         test1.cnt++;
> >> >     }
> >> > }
> >> > -------------------------------------
> >> > When I run this test without GC invocation
> >> >      java -cp test1 0
> >> > than I stopted it after 15000000 iterations.
> >> > But in case of using GC
> >> >      java -cp test1 1
> >> > - sometimes this test hangs.
> >> > - otherwise it crashes after 130000 iterations.
> >> > A lot of tests from reliability test suite
> >> (https://issues.apache.org/jira/browse/HARMONY-2918) use the scheme
> >> from "test1".
> >> > These tests repeat some actions and  invoke System.gc() afteter each
> >> iteration.
> >> > As the result they hang or VM  crashes and reports error message.
> >> > On Linux output is:
> >> > Start: flagGC=1
> >> > Iteration: 0  cnt: 1   freeMem: 14260128 14260128
> >> > Iteration: 10000  cnt: 10001   freeMem: 5592048 5592048
> >> > Iteration: 20000  cnt: 20001   freeMem: 10410884 10410884
> >> > Iteration: 30000  cnt: 30001   freeMem: 2861300 2861300
> >> > Iteration: 40000  cnt: 40001   freeMem: 7893908 7893908
> >> > Iteration: 50000  cnt: 50001   freeMem: 13765496 13765496
> >> > Iteration: 60000  cnt: 60001   freeMem: 6215956 6215956
> >> > Iteration: 70000  cnt: 70001   freeMem: 10969120 10969120
> >> > Iteration: 80000  cnt: 80001   freeMem: 3419512 3419512
> >> > Iteration: 90000  cnt: 90001   freeMem: 9291132 9291132
> >> > Iteration: 100000  cnt: 100001   freeMem: 15087472 15087472
> >> > Iteration: 110000  cnt: 110001   freeMem: 6774168 6774168
> >> > Iteration: 120000  cnt: 120001   freeMem: 12645720 12645720
> >> > Iteration: 130000  cnt: 130001   freeMem: 5096284 5096284
> >> > SIGSEGV in VM code.
> >> > SIGSEGV in VM code.
> >> > Stack trace:
> >> > Stack trace:
> >> >         1: hythread_monitor_try_enter (??:-1)
> >> >         2: monitor_wait_impl (??:-1)
> >> >         3: hythread_thin_monitor_try_enter (??:-1)
> >> >         4: IP is 0x56EB55B1 <native code>
> >> >         5: ?? (??:-1)
> >> > <end of stack trace>
> >> > Segmentation fault
> >> > On Windows output is:
> >> > Start: flagGC=1
> >> > Iteration: 0  cnt: 1   freeMem: 14260140 14260140
> >> > Iteration: 10000  cnt: 10001   freeMem: 5591808 5591808
> >> > Iteration: 20000  cnt: 20001   freeMem: 9854568 9854568
> >> > Iteration: 30000  cnt: 30001   freeMem: 2864096 2864096
> >> > Iteration: 40000  cnt: 40001   freeMem: 7617464 7617464
> >> > Iteration: 50000  cnt: 50001   freeMem: 13488960 13488960
> >> > Iteration: 60000  cnt: 60001   freeMem: 5379920 5379920
> >> > Iteration: 70000  cnt: 70001   freeMem: 10971940 10971940
> >> > Iteration: 80000  cnt: 80001   freeMem: 3422152 3422152
> >> > Iteration: 90000  cnt: 90001   freeMem: 9293992 9293992
> >> > Iteration: 100000  cnt: 100001   freeMem: 14373960 14373960
> >> > Iteration: 110000  cnt: 110001   freeMem: 7056664 7056664
> >> > Iteration: 120000  cnt: 120001   freeMem: 12089460 12089460
> >> > Iteration: 130000  cnt: 130001   freeMem: 4539920 4539920
> >> > An unhandled error (4) has occurred.
> >> > HyGeneric_Signal_Number=00000004
> >> > ExceptionCode=c0000005
> >> > ExceptionAddress=100022D9
> >> > ContextFlags=0001003f
> >> > Handler1=00401130
> >> > Handler2=11110A50
> >> > InaccessibleAddress=0000000C
> >> > EDI=00000000
> >> > ESI=00000000
> >> > EAX=00000000
> >> > EBX=00000000
> >> > ECX=00417E00
> >> > EDX=10410020
> >> > EIP=100022D9
> >> > ESP=0013F4F4
> >> > EBP=00417E00
> >> > Module=<DRL_VM_location>\bin\HYTHR.dll
> >> > Module_base_address=10000000
> >> > Offset_in_DLL=000022d9
> >> > This application has requested the Runtime to terminate it in an
> >> unusual way.
> >> > Please contact the application's support team for more information.
> >>
> >> --
> >> This message is automatically generated by JIRA.
> >> -
> >> You can reply to this email to add a comment to the issue online.
> >>
> >>
> >
> >
>
>
> --
> Gregory
>
>


-- 
http://xiao-feng.blogspot.com

Re: [jira] Updated: (HARMONY-3224) [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations

Posted by Gregory Shimansky <gs...@apache.org>.
Xiao-Feng Li wrote:
> Gregory, is this bug still existent? Actually It doesn't fail in my
> tests. I stopped it after 200000 iterations.

Hello Xiao-Feng. I didn't try this test so I cannot answer your 
question. Perhaps you should ask Vera who submitted this bug. If you 
think it is no longer reproducible, just close it.

> On 5/16/07, Gregory Shimansky (JIRA) <ji...@apache.org> wrote:
>>
>>      [ 
>> https://issues.apache.org/jira/browse/HARMONY-3224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel 
>> ]
>>
>> Gregory Shimansky updated HARMONY-3224:
>> ---------------------------------------
>>
>>     Summary: [drlvm][gc] VM hangs or crashes after a lot of 
>> System.gc() invocations  (was: [drlvm] VM hangs or crashes after a lot 
>> of System.gc() invocations)
>>
>> > [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations
>> > ----------------------------------------------------------------------
>> >
>> >                 Key: HARMONY-3224
>> >                 URL: https://issues.apache.org/jira/browse/HARMONY-3224
>> >             Project: Harmony
>> >          Issue Type: Bug
>> >          Components: DRLVM
>> >         Environment: Windows and Linux
>> >            Reporter: Vera Petrashkova
>> >
>> > This test demonstrates the following issue in GC behavior. When 
>> System.gc() is invoked then VM hangs or crashes.
>> > ---------------test1.java---------------------
>> > public class test1 {
>> >     public static long cnt=0;
>> >     public static void main(String args[]) {
>> >         int flagGC = 0;
>> >         try {
>> >             flagGC = Integer.parseInt(args[0]);
>> >         } catch (Exception e) {
>> >         }
>> >         System.out.println("Start: flagGC="+flagGC);
>> >         Runtime r = Runtime.getRuntime();
>> >         long maxMem = r.maxMemory();
>> >         try {
>> >             for (long i = 0; ; i++) {
>> >                 long m1 = r.freeMemory();
>> >                 
>> ((test1_1)Class.forName("test1_1").newInstance()).test();
>> >
>> >                 if (flagGC == 1) {
>> >                     System.gc();
>> >                 }
>> >                 long m2 = r.freeMemory();
>> >                 if (i % 10000 == 0) {
>> >                     System.err.println("Iteration: "+i+"  cnt: 
>> "+cnt+"   freeMem: "+m1+" "+m2);
>> >                 }
>> >             }
>> >         } catch (Throwable e) {
>> >             e.printStackTrace();
>> >         }
>> >     }
>> > }
>> > class test1_1 {
>> >     public void test() {
>> >         test1.cnt++;
>> >     }
>> > }
>> > -------------------------------------
>> > When I run this test without GC invocation
>> >      java -cp test1 0
>> > than I stopted it after 15000000 iterations.
>> > But in case of using GC
>> >      java -cp test1 1
>> > - sometimes this test hangs.
>> > - otherwise it crashes after 130000 iterations.
>> > A lot of tests from reliability test suite 
>> (https://issues.apache.org/jira/browse/HARMONY-2918) use the scheme 
>> from "test1".
>> > These tests repeat some actions and  invoke System.gc() afteter each 
>> iteration.
>> > As the result they hang or VM  crashes and reports error message.
>> > On Linux output is:
>> > Start: flagGC=1
>> > Iteration: 0  cnt: 1   freeMem: 14260128 14260128
>> > Iteration: 10000  cnt: 10001   freeMem: 5592048 5592048
>> > Iteration: 20000  cnt: 20001   freeMem: 10410884 10410884
>> > Iteration: 30000  cnt: 30001   freeMem: 2861300 2861300
>> > Iteration: 40000  cnt: 40001   freeMem: 7893908 7893908
>> > Iteration: 50000  cnt: 50001   freeMem: 13765496 13765496
>> > Iteration: 60000  cnt: 60001   freeMem: 6215956 6215956
>> > Iteration: 70000  cnt: 70001   freeMem: 10969120 10969120
>> > Iteration: 80000  cnt: 80001   freeMem: 3419512 3419512
>> > Iteration: 90000  cnt: 90001   freeMem: 9291132 9291132
>> > Iteration: 100000  cnt: 100001   freeMem: 15087472 15087472
>> > Iteration: 110000  cnt: 110001   freeMem: 6774168 6774168
>> > Iteration: 120000  cnt: 120001   freeMem: 12645720 12645720
>> > Iteration: 130000  cnt: 130001   freeMem: 5096284 5096284
>> > SIGSEGV in VM code.
>> > SIGSEGV in VM code.
>> > Stack trace:
>> > Stack trace:
>> >         1: hythread_monitor_try_enter (??:-1)
>> >         2: monitor_wait_impl (??:-1)
>> >         3: hythread_thin_monitor_try_enter (??:-1)
>> >         4: IP is 0x56EB55B1 <native code>
>> >         5: ?? (??:-1)
>> > <end of stack trace>
>> > Segmentation fault
>> > On Windows output is:
>> > Start: flagGC=1
>> > Iteration: 0  cnt: 1   freeMem: 14260140 14260140
>> > Iteration: 10000  cnt: 10001   freeMem: 5591808 5591808
>> > Iteration: 20000  cnt: 20001   freeMem: 9854568 9854568
>> > Iteration: 30000  cnt: 30001   freeMem: 2864096 2864096
>> > Iteration: 40000  cnt: 40001   freeMem: 7617464 7617464
>> > Iteration: 50000  cnt: 50001   freeMem: 13488960 13488960
>> > Iteration: 60000  cnt: 60001   freeMem: 5379920 5379920
>> > Iteration: 70000  cnt: 70001   freeMem: 10971940 10971940
>> > Iteration: 80000  cnt: 80001   freeMem: 3422152 3422152
>> > Iteration: 90000  cnt: 90001   freeMem: 9293992 9293992
>> > Iteration: 100000  cnt: 100001   freeMem: 14373960 14373960
>> > Iteration: 110000  cnt: 110001   freeMem: 7056664 7056664
>> > Iteration: 120000  cnt: 120001   freeMem: 12089460 12089460
>> > Iteration: 130000  cnt: 130001   freeMem: 4539920 4539920
>> > An unhandled error (4) has occurred.
>> > HyGeneric_Signal_Number=00000004
>> > ExceptionCode=c0000005
>> > ExceptionAddress=100022D9
>> > ContextFlags=0001003f
>> > Handler1=00401130
>> > Handler2=11110A50
>> > InaccessibleAddress=0000000C
>> > EDI=00000000
>> > ESI=00000000
>> > EAX=00000000
>> > EBX=00000000
>> > ECX=00417E00
>> > EDX=10410020
>> > EIP=100022D9
>> > ESP=0013F4F4
>> > EBP=00417E00
>> > Module=<DRL_VM_location>\bin\HYTHR.dll
>> > Module_base_address=10000000
>> > Offset_in_DLL=000022d9
>> > This application has requested the Runtime to terminate it in an 
>> unusual way.
>> > Please contact the application's support team for more information.
>>
>> -- 
>> This message is automatically generated by JIRA.
>> -
>> You can reply to this email to add a comment to the issue online.
>>
>>
> 
> 


-- 
Gregory


Re: [jira] Updated: (HARMONY-3224) [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations

Posted by Xiao-Feng Li <xi...@gmail.com>.
Gregory, is this bug still existent? Actually It doesn't fail in my
tests. I stopped it after 200000 iterations.

Thanks,
xiaofeng

On 5/16/07, Gregory Shimansky (JIRA) <ji...@apache.org> wrote:
>
>      [ https://issues.apache.org/jira/browse/HARMONY-3224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Gregory Shimansky updated HARMONY-3224:
> ---------------------------------------
>
>     Summary: [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations  (was: [drlvm] VM hangs or crashes after a lot of System.gc() invocations)
>
> > [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations
> > ----------------------------------------------------------------------
> >
> >                 Key: HARMONY-3224
> >                 URL: https://issues.apache.org/jira/browse/HARMONY-3224
> >             Project: Harmony
> >          Issue Type: Bug
> >          Components: DRLVM
> >         Environment: Windows and Linux
> >            Reporter: Vera Petrashkova
> >
> > This test demonstrates the following issue in GC behavior. When System.gc() is invoked then VM hangs or crashes.
> > ---------------test1.java---------------------
> > public class test1 {
> >     public static long cnt=0;
> >     public static void main(String args[]) {
> >         int flagGC = 0;
> >         try {
> >             flagGC = Integer.parseInt(args[0]);
> >         } catch (Exception e) {
> >         }
> >         System.out.println("Start: flagGC="+flagGC);
> >         Runtime r = Runtime.getRuntime();
> >         long maxMem = r.maxMemory();
> >         try {
> >             for (long i = 0; ; i++) {
> >                 long m1 = r.freeMemory();
> >                 ((test1_1)Class.forName("test1_1").newInstance()).test();
> >
> >                 if (flagGC == 1) {
> >                     System.gc();
> >                 }
> >                 long m2 = r.freeMemory();
> >                 if (i % 10000 == 0) {
> >                     System.err.println("Iteration: "+i+"  cnt: "+cnt+"   freeMem: "+m1+" "+m2);
> >                 }
> >             }
> >         } catch (Throwable e) {
> >             e.printStackTrace();
> >         }
> >     }
> > }
> > class test1_1 {
> >     public void test() {
> >         test1.cnt++;
> >     }
> > }
> > -------------------------------------
> > When I run this test without GC invocation
> >      java -cp test1 0
> > than I stopted it after 15000000 iterations.
> > But in case of using GC
> >      java -cp test1 1
> > - sometimes this test hangs.
> > - otherwise it crashes after 130000 iterations.
> > A lot of tests from reliability test suite (https://issues.apache.org/jira/browse/HARMONY-2918) use the scheme from "test1".
> > These tests repeat some actions and  invoke System.gc() afteter each iteration.
> > As the result they hang or VM  crashes and reports error message.
> > On Linux output is:
> > Start: flagGC=1
> > Iteration: 0  cnt: 1   freeMem: 14260128 14260128
> > Iteration: 10000  cnt: 10001   freeMem: 5592048 5592048
> > Iteration: 20000  cnt: 20001   freeMem: 10410884 10410884
> > Iteration: 30000  cnt: 30001   freeMem: 2861300 2861300
> > Iteration: 40000  cnt: 40001   freeMem: 7893908 7893908
> > Iteration: 50000  cnt: 50001   freeMem: 13765496 13765496
> > Iteration: 60000  cnt: 60001   freeMem: 6215956 6215956
> > Iteration: 70000  cnt: 70001   freeMem: 10969120 10969120
> > Iteration: 80000  cnt: 80001   freeMem: 3419512 3419512
> > Iteration: 90000  cnt: 90001   freeMem: 9291132 9291132
> > Iteration: 100000  cnt: 100001   freeMem: 15087472 15087472
> > Iteration: 110000  cnt: 110001   freeMem: 6774168 6774168
> > Iteration: 120000  cnt: 120001   freeMem: 12645720 12645720
> > Iteration: 130000  cnt: 130001   freeMem: 5096284 5096284
> > SIGSEGV in VM code.
> > SIGSEGV in VM code.
> > Stack trace:
> > Stack trace:
> >         1: hythread_monitor_try_enter (??:-1)
> >         2: monitor_wait_impl (??:-1)
> >         3: hythread_thin_monitor_try_enter (??:-1)
> >         4: IP is 0x56EB55B1 <native code>
> >         5: ?? (??:-1)
> > <end of stack trace>
> > Segmentation fault
> > On Windows output is:
> > Start: flagGC=1
> > Iteration: 0  cnt: 1   freeMem: 14260140 14260140
> > Iteration: 10000  cnt: 10001   freeMem: 5591808 5591808
> > Iteration: 20000  cnt: 20001   freeMem: 9854568 9854568
> > Iteration: 30000  cnt: 30001   freeMem: 2864096 2864096
> > Iteration: 40000  cnt: 40001   freeMem: 7617464 7617464
> > Iteration: 50000  cnt: 50001   freeMem: 13488960 13488960
> > Iteration: 60000  cnt: 60001   freeMem: 5379920 5379920
> > Iteration: 70000  cnt: 70001   freeMem: 10971940 10971940
> > Iteration: 80000  cnt: 80001   freeMem: 3422152 3422152
> > Iteration: 90000  cnt: 90001   freeMem: 9293992 9293992
> > Iteration: 100000  cnt: 100001   freeMem: 14373960 14373960
> > Iteration: 110000  cnt: 110001   freeMem: 7056664 7056664
> > Iteration: 120000  cnt: 120001   freeMem: 12089460 12089460
> > Iteration: 130000  cnt: 130001   freeMem: 4539920 4539920
> > An unhandled error (4) has occurred.
> > HyGeneric_Signal_Number=00000004
> > ExceptionCode=c0000005
> > ExceptionAddress=100022D9
> > ContextFlags=0001003f
> > Handler1=00401130
> > Handler2=11110A50
> > InaccessibleAddress=0000000C
> > EDI=00000000
> > ESI=00000000
> > EAX=00000000
> > EBX=00000000
> > ECX=00417E00
> > EDX=10410020
> > EIP=100022D9
> > ESP=0013F4F4
> > EBP=00417E00
> > Module=<DRL_VM_location>\bin\HYTHR.dll
> > Module_base_address=10000000
> > Offset_in_DLL=000022d9
> > This application has requested the Runtime to terminate it in an unusual way.
> > Please contact the application's support team for more information.
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>


-- 
http://xiao-feng.blogspot.com

[jira] Closed: (HARMONY-3224) [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations

Posted by "Xiao-Feng Li (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Xiao-Feng Li closed HARMONY-3224.
---------------------------------

    Resolution: Invalid

No longer fail in my tests.

> [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-3224
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3224
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows and Linux
>            Reporter: Vera Petrashkova
>         Assigned To: Xiao-Feng Li
>
> This test demonstrates the following issue in GC behavior. When System.gc() is invoked then VM hangs or crashes.
> ---------------test1.java---------------------
> public class test1 { 
>     public static long cnt=0;
>     public static void main(String args[]) {
>         int flagGC = 0;
>         try {
>             flagGC = Integer.parseInt(args[0]);
>         } catch (Exception e) {
>         }
>         System.out.println("Start: flagGC="+flagGC);
>         Runtime r = Runtime.getRuntime();
>         long maxMem = r.maxMemory();
>         try {
>             for (long i = 0; ; i++) {
>                 long m1 = r.freeMemory();
>                 ((test1_1)Class.forName("test1_1").newInstance()).test();
>         
>                 if (flagGC == 1) {
>                     System.gc();
>                 }            
>                 long m2 = r.freeMemory();
>                 if (i % 10000 == 0) {
>                     System.err.println("Iteration: "+i+"  cnt: "+cnt+"   freeMem: "+m1+" "+m2);
>                 }
>             }
>         } catch (Throwable e) {
>             e.printStackTrace();
>         }            
>     }
> }
> class test1_1 {
>     public void test() {
>         test1.cnt++;
>     }
> }
> -------------------------------------
> When I run this test without GC invocation
>      java -cp test1 0
> than I stopted it after 15000000 iterations.
> But in case of using GC
>      java -cp test1 1
> - sometimes this test hangs.
> - otherwise it crashes after 130000 iterations.
> A lot of tests from reliability test suite (https://issues.apache.org/jira/browse/HARMONY-2918) use the scheme from "test1". 
> These tests repeat some actions and  invoke System.gc() afteter each iteration.
> As the result they hang or VM  crashes and reports error message.
> On Linux output is:
> Start: flagGC=1
> Iteration: 0  cnt: 1   freeMem: 14260128 14260128
> Iteration: 10000  cnt: 10001   freeMem: 5592048 5592048
> Iteration: 20000  cnt: 20001   freeMem: 10410884 10410884
> Iteration: 30000  cnt: 30001   freeMem: 2861300 2861300
> Iteration: 40000  cnt: 40001   freeMem: 7893908 7893908
> Iteration: 50000  cnt: 50001   freeMem: 13765496 13765496
> Iteration: 60000  cnt: 60001   freeMem: 6215956 6215956
> Iteration: 70000  cnt: 70001   freeMem: 10969120 10969120
> Iteration: 80000  cnt: 80001   freeMem: 3419512 3419512
> Iteration: 90000  cnt: 90001   freeMem: 9291132 9291132
> Iteration: 100000  cnt: 100001   freeMem: 15087472 15087472
> Iteration: 110000  cnt: 110001   freeMem: 6774168 6774168
> Iteration: 120000  cnt: 120001   freeMem: 12645720 12645720
> Iteration: 130000  cnt: 130001   freeMem: 5096284 5096284
> SIGSEGV in VM code.
> SIGSEGV in VM code.
> Stack trace:
> Stack trace:
>         1: hythread_monitor_try_enter (??:-1)
>         2: monitor_wait_impl (??:-1)
>         3: hythread_thin_monitor_try_enter (??:-1)
>         4: IP is 0x56EB55B1 <native code>
>         5: ?? (??:-1)
> <end of stack trace>
> Segmentation fault
> On Windows output is:
> Start: flagGC=1
> Iteration: 0  cnt: 1   freeMem: 14260140 14260140
> Iteration: 10000  cnt: 10001   freeMem: 5591808 5591808
> Iteration: 20000  cnt: 20001   freeMem: 9854568 9854568
> Iteration: 30000  cnt: 30001   freeMem: 2864096 2864096
> Iteration: 40000  cnt: 40001   freeMem: 7617464 7617464
> Iteration: 50000  cnt: 50001   freeMem: 13488960 13488960
> Iteration: 60000  cnt: 60001   freeMem: 5379920 5379920
> Iteration: 70000  cnt: 70001   freeMem: 10971940 10971940
> Iteration: 80000  cnt: 80001   freeMem: 3422152 3422152
> Iteration: 90000  cnt: 90001   freeMem: 9293992 9293992
> Iteration: 100000  cnt: 100001   freeMem: 14373960 14373960
> Iteration: 110000  cnt: 110001   freeMem: 7056664 7056664
> Iteration: 120000  cnt: 120001   freeMem: 12089460 12089460
> Iteration: 130000  cnt: 130001   freeMem: 4539920 4539920
> An unhandled error (4) has occurred.
> HyGeneric_Signal_Number=00000004
> ExceptionCode=c0000005
> ExceptionAddress=100022D9
> ContextFlags=0001003f
> Handler1=00401130
> Handler2=11110A50
> InaccessibleAddress=0000000C
> EDI=00000000
> ESI=00000000
> EAX=00000000
> EBX=00000000
> ECX=00417E00
> EDX=10410020
> EIP=100022D9
> ESP=0013F4F4
> EBP=00417E00
> Module=<DRL_VM_location>\bin\HYTHR.dll
> Module_base_address=10000000
> Offset_in_DLL=000022d9
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-3224) [drlvm] VM hangs or crashes after a lot of System.gc() invocations

Posted by "Ivan Volosyuk (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476551 ] 

Ivan Volosyuk commented on HARMONY-3224:
----------------------------------------

Described behavior seems like a race condition. It can be a problem in threading subsystem like execution in suspend enabled state with unprotected managed object pointers. It can also be a bug in GC. We can try to narrow down the cause of the issue running with different GC like gc_gen. If the problem still reproducible - it is in threading, otherwise it's in GC.

> [drlvm] VM hangs or crashes after a lot of System.gc() invocations
> ------------------------------------------------------------------
>
>                 Key: HARMONY-3224
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3224
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows and Linux
>            Reporter: Vera Petrashkova
>
> This test demonstrates the following issue in GC behavior. When System.gc() is invoked then VM hangs or crashes.
> ---------------test1.java---------------------
> public class test1 { 
>     public static long cnt=0;
>     public static void main(String args[]) {
>         int flagGC = 0;
>         try {
>             flagGC = Integer.parseInt(args[0]);
>         } catch (Exception e) {
>         }
>         System.out.println("Start: flagGC="+flagGC);
>         Runtime r = Runtime.getRuntime();
>         long maxMem = r.maxMemory();
>         try {
>             for (long i = 0; ; i++) {
>                 long m1 = r.freeMemory();
>                 ((test1_1)Class.forName("test1_1").newInstance()).test();
>         
>                 if (flagGC == 1) {
>                     System.gc();
>                 }            
>                 long m2 = r.freeMemory();
>                 if (i % 10000 == 0) {
>                     System.err.println("Iteration: "+i+"  cnt: "+cnt+"   freeMem: "+m1+" "+m2);
>                 }
>             }
>         } catch (Throwable e) {
>             e.printStackTrace();
>         }            
>     }
> }
> class test1_1 {
>     public void test() {
>         test1.cnt++;
>     }
> }
> -------------------------------------
> When I run this test without GC invocation
>      java -cp test1 0
> than I stopted it after 15000000 iterations.
> But in case of using GC
>      java -cp test1 1
> - sometimes this test hangs.
> - otherwise it crashes after 130000 iterations.
> A lot of tests from reliability test suite (https://issues.apache.org/jira/browse/HARMONY-2918) use the scheme from "test1". 
> These tests repeat some actions and  invoke System.gc() afteter each iteration.
> As the result they hang or VM  crashes and reports error message.
> On Linux output is:
> Start: flagGC=1
> Iteration: 0  cnt: 1   freeMem: 14260128 14260128
> Iteration: 10000  cnt: 10001   freeMem: 5592048 5592048
> Iteration: 20000  cnt: 20001   freeMem: 10410884 10410884
> Iteration: 30000  cnt: 30001   freeMem: 2861300 2861300
> Iteration: 40000  cnt: 40001   freeMem: 7893908 7893908
> Iteration: 50000  cnt: 50001   freeMem: 13765496 13765496
> Iteration: 60000  cnt: 60001   freeMem: 6215956 6215956
> Iteration: 70000  cnt: 70001   freeMem: 10969120 10969120
> Iteration: 80000  cnt: 80001   freeMem: 3419512 3419512
> Iteration: 90000  cnt: 90001   freeMem: 9291132 9291132
> Iteration: 100000  cnt: 100001   freeMem: 15087472 15087472
> Iteration: 110000  cnt: 110001   freeMem: 6774168 6774168
> Iteration: 120000  cnt: 120001   freeMem: 12645720 12645720
> Iteration: 130000  cnt: 130001   freeMem: 5096284 5096284
> SIGSEGV in VM code.
> SIGSEGV in VM code.
> Stack trace:
> Stack trace:
>         1: hythread_monitor_try_enter (??:-1)
>         2: monitor_wait_impl (??:-1)
>         3: hythread_thin_monitor_try_enter (??:-1)
>         4: IP is 0x56EB55B1 <native code>
>         5: ?? (??:-1)
> <end of stack trace>
> Segmentation fault
> On Windows output is:
> Start: flagGC=1
> Iteration: 0  cnt: 1   freeMem: 14260140 14260140
> Iteration: 10000  cnt: 10001   freeMem: 5591808 5591808
> Iteration: 20000  cnt: 20001   freeMem: 9854568 9854568
> Iteration: 30000  cnt: 30001   freeMem: 2864096 2864096
> Iteration: 40000  cnt: 40001   freeMem: 7617464 7617464
> Iteration: 50000  cnt: 50001   freeMem: 13488960 13488960
> Iteration: 60000  cnt: 60001   freeMem: 5379920 5379920
> Iteration: 70000  cnt: 70001   freeMem: 10971940 10971940
> Iteration: 80000  cnt: 80001   freeMem: 3422152 3422152
> Iteration: 90000  cnt: 90001   freeMem: 9293992 9293992
> Iteration: 100000  cnt: 100001   freeMem: 14373960 14373960
> Iteration: 110000  cnt: 110001   freeMem: 7056664 7056664
> Iteration: 120000  cnt: 120001   freeMem: 12089460 12089460
> Iteration: 130000  cnt: 130001   freeMem: 4539920 4539920
> An unhandled error (4) has occurred.
> HyGeneric_Signal_Number=00000004
> ExceptionCode=c0000005
> ExceptionAddress=100022D9
> ContextFlags=0001003f
> Handler1=00401130
> Handler2=11110A50
> InaccessibleAddress=0000000C
> EDI=00000000
> ESI=00000000
> EAX=00000000
> EBX=00000000
> ECX=00417E00
> EDX=10410020
> EIP=100022D9
> ESP=0013F4F4
> EBP=00417E00
> Module=<DRL_VM_location>\bin\HYTHR.dll
> Module_base_address=10000000
> Offset_in_DLL=000022d9
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-3224) [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky updated HARMONY-3224:
---------------------------------------

    Summary: [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations  (was: [drlvm] VM hangs or crashes after a lot of System.gc() invocations)

> [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-3224
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3224
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows and Linux
>            Reporter: Vera Petrashkova
>
> This test demonstrates the following issue in GC behavior. When System.gc() is invoked then VM hangs or crashes.
> ---------------test1.java---------------------
> public class test1 { 
>     public static long cnt=0;
>     public static void main(String args[]) {
>         int flagGC = 0;
>         try {
>             flagGC = Integer.parseInt(args[0]);
>         } catch (Exception e) {
>         }
>         System.out.println("Start: flagGC="+flagGC);
>         Runtime r = Runtime.getRuntime();
>         long maxMem = r.maxMemory();
>         try {
>             for (long i = 0; ; i++) {
>                 long m1 = r.freeMemory();
>                 ((test1_1)Class.forName("test1_1").newInstance()).test();
>         
>                 if (flagGC == 1) {
>                     System.gc();
>                 }            
>                 long m2 = r.freeMemory();
>                 if (i % 10000 == 0) {
>                     System.err.println("Iteration: "+i+"  cnt: "+cnt+"   freeMem: "+m1+" "+m2);
>                 }
>             }
>         } catch (Throwable e) {
>             e.printStackTrace();
>         }            
>     }
> }
> class test1_1 {
>     public void test() {
>         test1.cnt++;
>     }
> }
> -------------------------------------
> When I run this test without GC invocation
>      java -cp test1 0
> than I stopted it after 15000000 iterations.
> But in case of using GC
>      java -cp test1 1
> - sometimes this test hangs.
> - otherwise it crashes after 130000 iterations.
> A lot of tests from reliability test suite (https://issues.apache.org/jira/browse/HARMONY-2918) use the scheme from "test1". 
> These tests repeat some actions and  invoke System.gc() afteter each iteration.
> As the result they hang or VM  crashes and reports error message.
> On Linux output is:
> Start: flagGC=1
> Iteration: 0  cnt: 1   freeMem: 14260128 14260128
> Iteration: 10000  cnt: 10001   freeMem: 5592048 5592048
> Iteration: 20000  cnt: 20001   freeMem: 10410884 10410884
> Iteration: 30000  cnt: 30001   freeMem: 2861300 2861300
> Iteration: 40000  cnt: 40001   freeMem: 7893908 7893908
> Iteration: 50000  cnt: 50001   freeMem: 13765496 13765496
> Iteration: 60000  cnt: 60001   freeMem: 6215956 6215956
> Iteration: 70000  cnt: 70001   freeMem: 10969120 10969120
> Iteration: 80000  cnt: 80001   freeMem: 3419512 3419512
> Iteration: 90000  cnt: 90001   freeMem: 9291132 9291132
> Iteration: 100000  cnt: 100001   freeMem: 15087472 15087472
> Iteration: 110000  cnt: 110001   freeMem: 6774168 6774168
> Iteration: 120000  cnt: 120001   freeMem: 12645720 12645720
> Iteration: 130000  cnt: 130001   freeMem: 5096284 5096284
> SIGSEGV in VM code.
> SIGSEGV in VM code.
> Stack trace:
> Stack trace:
>         1: hythread_monitor_try_enter (??:-1)
>         2: monitor_wait_impl (??:-1)
>         3: hythread_thin_monitor_try_enter (??:-1)
>         4: IP is 0x56EB55B1 <native code>
>         5: ?? (??:-1)
> <end of stack trace>
> Segmentation fault
> On Windows output is:
> Start: flagGC=1
> Iteration: 0  cnt: 1   freeMem: 14260140 14260140
> Iteration: 10000  cnt: 10001   freeMem: 5591808 5591808
> Iteration: 20000  cnt: 20001   freeMem: 9854568 9854568
> Iteration: 30000  cnt: 30001   freeMem: 2864096 2864096
> Iteration: 40000  cnt: 40001   freeMem: 7617464 7617464
> Iteration: 50000  cnt: 50001   freeMem: 13488960 13488960
> Iteration: 60000  cnt: 60001   freeMem: 5379920 5379920
> Iteration: 70000  cnt: 70001   freeMem: 10971940 10971940
> Iteration: 80000  cnt: 80001   freeMem: 3422152 3422152
> Iteration: 90000  cnt: 90001   freeMem: 9293992 9293992
> Iteration: 100000  cnt: 100001   freeMem: 14373960 14373960
> Iteration: 110000  cnt: 110001   freeMem: 7056664 7056664
> Iteration: 120000  cnt: 120001   freeMem: 12089460 12089460
> Iteration: 130000  cnt: 130001   freeMem: 4539920 4539920
> An unhandled error (4) has occurred.
> HyGeneric_Signal_Number=00000004
> ExceptionCode=c0000005
> ExceptionAddress=100022D9
> ContextFlags=0001003f
> Handler1=00401130
> Handler2=11110A50
> InaccessibleAddress=0000000C
> EDI=00000000
> ESI=00000000
> EAX=00000000
> EBX=00000000
> ECX=00417E00
> EDX=10410020
> EIP=100022D9
> ESP=0013F4F4
> EBP=00417E00
> Module=<DRL_VM_location>\bin\HYTHR.dll
> Module_base_address=10000000
> Offset_in_DLL=000022d9
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-3224) [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations

Posted by "Xiao-Feng Li (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12496497 ] 

Xiao-Feng Li commented on HARMONY-3224:
---------------------------------------

I can't repeat the failure. Is it still a bug?

> [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-3224
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3224
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows and Linux
>            Reporter: Vera Petrashkova
>
> This test demonstrates the following issue in GC behavior. When System.gc() is invoked then VM hangs or crashes.
> ---------------test1.java---------------------
> public class test1 { 
>     public static long cnt=0;
>     public static void main(String args[]) {
>         int flagGC = 0;
>         try {
>             flagGC = Integer.parseInt(args[0]);
>         } catch (Exception e) {
>         }
>         System.out.println("Start: flagGC="+flagGC);
>         Runtime r = Runtime.getRuntime();
>         long maxMem = r.maxMemory();
>         try {
>             for (long i = 0; ; i++) {
>                 long m1 = r.freeMemory();
>                 ((test1_1)Class.forName("test1_1").newInstance()).test();
>         
>                 if (flagGC == 1) {
>                     System.gc();
>                 }            
>                 long m2 = r.freeMemory();
>                 if (i % 10000 == 0) {
>                     System.err.println("Iteration: "+i+"  cnt: "+cnt+"   freeMem: "+m1+" "+m2);
>                 }
>             }
>         } catch (Throwable e) {
>             e.printStackTrace();
>         }            
>     }
> }
> class test1_1 {
>     public void test() {
>         test1.cnt++;
>     }
> }
> -------------------------------------
> When I run this test without GC invocation
>      java -cp test1 0
> than I stopted it after 15000000 iterations.
> But in case of using GC
>      java -cp test1 1
> - sometimes this test hangs.
> - otherwise it crashes after 130000 iterations.
> A lot of tests from reliability test suite (https://issues.apache.org/jira/browse/HARMONY-2918) use the scheme from "test1". 
> These tests repeat some actions and  invoke System.gc() afteter each iteration.
> As the result they hang or VM  crashes and reports error message.
> On Linux output is:
> Start: flagGC=1
> Iteration: 0  cnt: 1   freeMem: 14260128 14260128
> Iteration: 10000  cnt: 10001   freeMem: 5592048 5592048
> Iteration: 20000  cnt: 20001   freeMem: 10410884 10410884
> Iteration: 30000  cnt: 30001   freeMem: 2861300 2861300
> Iteration: 40000  cnt: 40001   freeMem: 7893908 7893908
> Iteration: 50000  cnt: 50001   freeMem: 13765496 13765496
> Iteration: 60000  cnt: 60001   freeMem: 6215956 6215956
> Iteration: 70000  cnt: 70001   freeMem: 10969120 10969120
> Iteration: 80000  cnt: 80001   freeMem: 3419512 3419512
> Iteration: 90000  cnt: 90001   freeMem: 9291132 9291132
> Iteration: 100000  cnt: 100001   freeMem: 15087472 15087472
> Iteration: 110000  cnt: 110001   freeMem: 6774168 6774168
> Iteration: 120000  cnt: 120001   freeMem: 12645720 12645720
> Iteration: 130000  cnt: 130001   freeMem: 5096284 5096284
> SIGSEGV in VM code.
> SIGSEGV in VM code.
> Stack trace:
> Stack trace:
>         1: hythread_monitor_try_enter (??:-1)
>         2: monitor_wait_impl (??:-1)
>         3: hythread_thin_monitor_try_enter (??:-1)
>         4: IP is 0x56EB55B1 <native code>
>         5: ?? (??:-1)
> <end of stack trace>
> Segmentation fault
> On Windows output is:
> Start: flagGC=1
> Iteration: 0  cnt: 1   freeMem: 14260140 14260140
> Iteration: 10000  cnt: 10001   freeMem: 5591808 5591808
> Iteration: 20000  cnt: 20001   freeMem: 9854568 9854568
> Iteration: 30000  cnt: 30001   freeMem: 2864096 2864096
> Iteration: 40000  cnt: 40001   freeMem: 7617464 7617464
> Iteration: 50000  cnt: 50001   freeMem: 13488960 13488960
> Iteration: 60000  cnt: 60001   freeMem: 5379920 5379920
> Iteration: 70000  cnt: 70001   freeMem: 10971940 10971940
> Iteration: 80000  cnt: 80001   freeMem: 3422152 3422152
> Iteration: 90000  cnt: 90001   freeMem: 9293992 9293992
> Iteration: 100000  cnt: 100001   freeMem: 14373960 14373960
> Iteration: 110000  cnt: 110001   freeMem: 7056664 7056664
> Iteration: 120000  cnt: 120001   freeMem: 12089460 12089460
> Iteration: 130000  cnt: 130001   freeMem: 4539920 4539920
> An unhandled error (4) has occurred.
> HyGeneric_Signal_Number=00000004
> ExceptionCode=c0000005
> ExceptionAddress=100022D9
> ContextFlags=0001003f
> Handler1=00401130
> Handler2=11110A50
> InaccessibleAddress=0000000C
> EDI=00000000
> ESI=00000000
> EAX=00000000
> EBX=00000000
> ECX=00417E00
> EDX=10410020
> EIP=100022D9
> ESP=0013F4F4
> EBP=00417E00
> Module=<DRL_VM_location>\bin\HYTHR.dll
> Module_base_address=10000000
> Offset_in_DLL=000022d9
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HARMONY-3224) [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations

Posted by "Xiao-Feng Li (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Xiao-Feng Li reassigned HARMONY-3224:
-------------------------------------

    Assignee: Xiao-Feng Li

> [drlvm][gc] VM hangs or crashes after a lot of System.gc() invocations
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-3224
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3224
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows and Linux
>            Reporter: Vera Petrashkova
>         Assigned To: Xiao-Feng Li
>
> This test demonstrates the following issue in GC behavior. When System.gc() is invoked then VM hangs or crashes.
> ---------------test1.java---------------------
> public class test1 { 
>     public static long cnt=0;
>     public static void main(String args[]) {
>         int flagGC = 0;
>         try {
>             flagGC = Integer.parseInt(args[0]);
>         } catch (Exception e) {
>         }
>         System.out.println("Start: flagGC="+flagGC);
>         Runtime r = Runtime.getRuntime();
>         long maxMem = r.maxMemory();
>         try {
>             for (long i = 0; ; i++) {
>                 long m1 = r.freeMemory();
>                 ((test1_1)Class.forName("test1_1").newInstance()).test();
>         
>                 if (flagGC == 1) {
>                     System.gc();
>                 }            
>                 long m2 = r.freeMemory();
>                 if (i % 10000 == 0) {
>                     System.err.println("Iteration: "+i+"  cnt: "+cnt+"   freeMem: "+m1+" "+m2);
>                 }
>             }
>         } catch (Throwable e) {
>             e.printStackTrace();
>         }            
>     }
> }
> class test1_1 {
>     public void test() {
>         test1.cnt++;
>     }
> }
> -------------------------------------
> When I run this test without GC invocation
>      java -cp test1 0
> than I stopted it after 15000000 iterations.
> But in case of using GC
>      java -cp test1 1
> - sometimes this test hangs.
> - otherwise it crashes after 130000 iterations.
> A lot of tests from reliability test suite (https://issues.apache.org/jira/browse/HARMONY-2918) use the scheme from "test1". 
> These tests repeat some actions and  invoke System.gc() afteter each iteration.
> As the result they hang or VM  crashes and reports error message.
> On Linux output is:
> Start: flagGC=1
> Iteration: 0  cnt: 1   freeMem: 14260128 14260128
> Iteration: 10000  cnt: 10001   freeMem: 5592048 5592048
> Iteration: 20000  cnt: 20001   freeMem: 10410884 10410884
> Iteration: 30000  cnt: 30001   freeMem: 2861300 2861300
> Iteration: 40000  cnt: 40001   freeMem: 7893908 7893908
> Iteration: 50000  cnt: 50001   freeMem: 13765496 13765496
> Iteration: 60000  cnt: 60001   freeMem: 6215956 6215956
> Iteration: 70000  cnt: 70001   freeMem: 10969120 10969120
> Iteration: 80000  cnt: 80001   freeMem: 3419512 3419512
> Iteration: 90000  cnt: 90001   freeMem: 9291132 9291132
> Iteration: 100000  cnt: 100001   freeMem: 15087472 15087472
> Iteration: 110000  cnt: 110001   freeMem: 6774168 6774168
> Iteration: 120000  cnt: 120001   freeMem: 12645720 12645720
> Iteration: 130000  cnt: 130001   freeMem: 5096284 5096284
> SIGSEGV in VM code.
> SIGSEGV in VM code.
> Stack trace:
> Stack trace:
>         1: hythread_monitor_try_enter (??:-1)
>         2: monitor_wait_impl (??:-1)
>         3: hythread_thin_monitor_try_enter (??:-1)
>         4: IP is 0x56EB55B1 <native code>
>         5: ?? (??:-1)
> <end of stack trace>
> Segmentation fault
> On Windows output is:
> Start: flagGC=1
> Iteration: 0  cnt: 1   freeMem: 14260140 14260140
> Iteration: 10000  cnt: 10001   freeMem: 5591808 5591808
> Iteration: 20000  cnt: 20001   freeMem: 9854568 9854568
> Iteration: 30000  cnt: 30001   freeMem: 2864096 2864096
> Iteration: 40000  cnt: 40001   freeMem: 7617464 7617464
> Iteration: 50000  cnt: 50001   freeMem: 13488960 13488960
> Iteration: 60000  cnt: 60001   freeMem: 5379920 5379920
> Iteration: 70000  cnt: 70001   freeMem: 10971940 10971940
> Iteration: 80000  cnt: 80001   freeMem: 3422152 3422152
> Iteration: 90000  cnt: 90001   freeMem: 9293992 9293992
> Iteration: 100000  cnt: 100001   freeMem: 14373960 14373960
> Iteration: 110000  cnt: 110001   freeMem: 7056664 7056664
> Iteration: 120000  cnt: 120001   freeMem: 12089460 12089460
> Iteration: 130000  cnt: 130001   freeMem: 4539920 4539920
> An unhandled error (4) has occurred.
> HyGeneric_Signal_Number=00000004
> ExceptionCode=c0000005
> ExceptionAddress=100022D9
> ContextFlags=0001003f
> Handler1=00401130
> Handler2=11110A50
> InaccessibleAddress=0000000C
> EDI=00000000
> ESI=00000000
> EAX=00000000
> EBX=00000000
> ECX=00417E00
> EDX=10410020
> EIP=100022D9
> ESP=0013F4F4
> EBP=00417E00
> Module=<DRL_VM_location>\bin\HYTHR.dll
> Module_base_address=10000000
> Offset_in_DLL=000022d9
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.