You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Gregory Shimansky (JIRA)" <ji...@apache.org> on 2006/11/28 16:33:24 UTC

[jira] Updated: (HARMONY-1933) [drlvm][test] Code for reproduction of hanged gc.LOS test

     [ http://issues.apache.org/jira/browse/HARMONY-1933?page=all ]

Gregory Shimansky updated HARMONY-1933:
---------------------------------------

    Summary: [drlvm][test] Code for reproduction of hanged gc.LOS test  (was: Code for reproduction of hanged gc.LOS test)

> [drlvm][test] Code for reproduction of hanged gc.LOS test
> ---------------------------------------------------------
>
>                 Key: HARMONY-1933
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1933
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: WinXP, msvc
>            Reporter: Nikolay Chugunov
>
> I reduce code for gc.LOS test which reproduce hang of it. I should notice that both gc.LOS and my test hang only on WinXP, but they pass on Linux SuSe ia32, Win2003 OSs.
> package gc;
> public class LOS extends Thread {
>     private static boolean started = false;
>     private static Object  lock    = new Integer(1);
>     public static void main(String[] args) throws InterruptedException {
>         Thread[] threads = new Thread[200];
>         for (int i = 0; i < threads.length; i++) {
>             threads[i] = new LOS();
>             threads[i].start();
>         }
>         synchronized (lock) {
>             started = true;
>             lock.notifyAll();
>         }
>         System.out.println("Check point");
>         // Sometimes hangs just with threads[0].join();
>         for (int i = 0; i < threads.length; i++) {
>             threads[i].join();
>         }
>         System.out.println("Passed");
>     }
>     public void run() {
>         try {
>             System.out.print(".");
>             if (!started) {
>                 synchronized (lock) {
>                     lock.wait();
>                 }
>             }
>             Object[] objects = null;
>             for (int i = 0; i < 1000; i++) {
>                 objects = new Object[] { objects, allocate() };
>             }
>             System.out.print(",");
>         } catch (Throwable e) {
>             System.out.print("Exception");
>         }
>     }
>     private Object allocate() {
>         try {
>             exception();
>         } catch (NullPointerException e) {
>         }
>         return new byte[4096];
>     }
>     private void exception() {
>         String s = null;
>         s.length();
>     }
> }
> Sample output on RI:
> ................................................................................................................................................................
> ...............................Check point
> .........ExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptio
> nExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExcepti
> onExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExcept
> ionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExcep
> tionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExce
> ptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExc
> eptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionEx
> ceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionE
> xceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionException
> ExceptionExceptionException,ExceptionExceptionExceptionExceptionExceptionExcepti
> onExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExcept
> ionExceptionExceptionExceptionExceptionExceptionException,ExceptionExceptionExce
> ptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExc
> eptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionEx
> ceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionE
> xceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionException
> ExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptio
> nExceptionExceptionExceptionExceptionExceptionExceptionExceptionExceptionExcepti
> onExceptionExceptionException,,,Exception,,Exception,ExceptionException,Exceptio
> nExceptionException,,,,,,,,,,,,,,,,,,,,,,Passed
> Sample output on r463908, (Oct 16 2006), Windows/ia32/msvc:
> .....................................................................Check point
> ................................................................................................................................... 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira