harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Weldon Washburn" <weldon...@gmail.com>
Subject [drlvm] gc.LOS hangs on win32
Date Tue, 19 Sep 2006 06:18:21 GMT
All,
I have noticed endless loop behavior when running gc.LOS.  It appears to go
into some sort of endless loop when I try, " build test".  Does anyone else
see this problem?

 I used MSVC to break into drlvm when it gets stuck.  It shows basically
what's been reported before – a bunch of threads in JITed code.  They keep
making some system call.

Semis/vm/_smoke.tests/reports/gc.LOS_jit.out shows that somehow LOS.java is
in an infinite loop after it prints all 200 dots.  This is rather curious.

Looking at gc/LOS.java, there is a "threads[i].join()" where "i" goes from 0
to 199.  This thread join happens immediately after a "notifyAll()" that is
intended to tell each of the threads to start running.

I moved the trace(".") to immediately after the synchronized statement in
run().  The test now completes successfully.  It might be a bug in the
implementation of Object.wait() and Object.notifyAll() that different HW/SW
combinations are aggrevating???   Below are the mods that I made:

    public void run () {

        //trace(".");

        synchronized (this.getClass()) {

            if (!started)

                try {

                    this.getClass().wait();

                } catch (InterruptedException e) {}

        }

                trace(".");  //wjw










-- 
Weldon Washburn
Intel Middleware Products Division
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message