hang in Lion (original) (raw)

Martijn Verburg martijnverburg at gmail.com
Wed Nov 30 06:47:42 PST 2011


Hi all,

FWIW I've also tested it using 1.6.0_29 and 1.7.0 b219 on Lion 10.7.2 (on a 13" MBP 2.53 GHz Intel Core 2 Duo) and could not repeat the issue. That said I can't see anything in the _29 release notes that would indicate a fix related to this issue, so I'm dubious that my tests are conclusive.

Cheers, Martijn

On 30 November 2011 14:34, Henri Gomez <henri.gomez at gmail.com> wrote:

Note, I tested on i7 (SnowLeopard), and Core2Duo (Lion)

2011/11/30 Michael McMahon <michael.x.mcmahon at oracle.com>: I was able to repeat it using java version "1.6.027" on an imac (with -Xcomp, but not -Xint) .

Was not able to repeat using 7 on the same system, I also couldn't repeat it on a different machine using 1.6.029. So, maybe the issue was fixed between updates 27 and 29? - Michael.

On 30/11/11 14:21, Henri Gomez wrote: Hi Charles Just tried with latest build of OpenJDK 7 for OSX (http://openjdk-osx-build.googlecode.com/files/OpenJDK-OSX-1.7-universal-jdk-b219-20111130.dmg) : openjdk version "1.7.0-b219" OpenJDK Runtime Environment (build 1.7.0-b219-20111130) OpenJDK 64-Bit Server VM (build 21.0-b17, mixed mode) Compiled and run with OpenJDK 7 : Started Awaiting complete... Thread started Thread-0 Thread started Thread-1 Thread-0: 10000 Thread-1: 20000 Thread-0: 30000 Thread-0: 40000 Thread-1: 50000 Thread-1: 60000 Thread-1: 70000 Thread-1: 80000 Thread-1: 90000 Thread-1: 100000 Thread-0: 110000 Thread-0: 120000 Thread-1: 130000 Thread-0: 140000 Thread-1: 150000 Thread-0: 160000 Thread-0: 170000 Thread-0: 180000 Thread done Thread-1 Thread-0: 190000 Thread-0: 200000 Thread done Thread-0 Completed... Tried on latest Apple Java 6 (1.6.0-29) and rebuilt Foo with it : java version "1.6.029" Java(TM) SE Runtime Environment (build 1.6.029-b11-402-10M3527) Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode) Started Thread started Thread-1 Thread started Thread-2 Awaiting complete... Thread-2: 10000 Thread-1: 20000 Thread-1: 30000 Thread-2: 40000 Thread-2: 50000 Thread-1: 60000 Thread-1: 70000 Thread-2: 80000 Thread-2: 90000 Thread-1: 100000 Thread-1: 110000 Thread-2: 120000 Thread-1: 130000 Thread-1: 140000 Thread-1: 150000 Thread-1: 160000 Thread-1: 170000 Thread-2: 180000 Thread-2: 190000 Thread-1: 200000 Thread done Thread-2 Thread done Thread-1 Completed... Tried on both SnowLeopard and Lion machines. Cheers 2011/11/30 Charles K Pepperdine<kirk at kodewerk.com>:

Hi, I've got a chunk of code that mysteriously hangs on my new i7 Air running Lion. This code was given to me by a friend that is also running Lion. We've given it to another person that is also running Lion. I'm using 1.6.026-b02-383. It doesn't hang all the time and it doesn't hang on my older i7 17" MBP running Snow Leopard. It's also been tested on other MBP's running Snow Leopard without hanging. Forcing a core dump after the hang gave us this.

Thread 24:  Java: Thread-1 0   libSystem.B.dylib                 0x00007fff89f88d7a machmsgtrap + 10 1   libSystem.B.dylib                 0x00007fff89f893ed machmsg + 59 2   libclient64.dylib                 0x000000010100d903 jiosnprintf + 37641 3   libclient64.dylib                 0x000000010100d7c3 jiosnprintf + 37321 4   libclient64.dylib                 0x000000010100d722 jiosnprintf + 37160 5   libclient64.dylib                 0x000000010100c5ad jiosnprintf + 32691 6   libclient64.dylib                 0x000000010100c4ef jiosnprintf + 32501 7   libclient64.dylib                 0x00000001011afefd JVMGetClassInterfaces + 12075 8   libclient64.dylib                 0x00000001010a7c8c JVMLseek + 204251 9   libclient64.dylib                 0x00000001010a7bea JVMLseek + 204089 10  libclient64.dylib                 0x00000001011b4931 JVMSocket + 5319 11  ???                               0x000000010380f0e7 0 + 4353749223 12  ???                               0x000000010386fd90 0 + 4354145680

Thread 25:  Java: Thread-2 0   libSystem.B.dylib                 0x00007fff89f88d7a machmsgtrap + 10 1   libSystem.B.dylib                 0x00007fff89f893ed machmsg + 59 2   libclient64.dylib                 0x000000010100db03 jiosnprintf + 38153 3   libclient64.dylib                 0x00000001010cb569 JVMWrite + 9130 4   libclient64.dylib                 0x00000001011ddfcd JVMNanoTime + 39179 5   ???                               0x000000010386ea60 0 + 4354140768 All of the other thread could be attributed to VM processes (GC, compiler etc...). On my machine, the hang seems to only happen when thread-2 finishes before thread-1. I've never seen it hang when thread-1 finishes before thread-2 Again it doesn't hang all the time when thread-2 finishes first. This is a hard hang in that I can only get rid of the process with a kill -9. ^C and kill simply don't to anything. Code follows, Regards, Kirk Pepperdine public class Foo {  private int counter;  public static void main(String[] args) throws Exception {  new Foo().run();  }  public void run() throws Exception {  Thread[] threads = new Thread[2];  for (int i = 0; i<  threads.length; i++) {  threads[i] = new Thread() {  public void run() {  System.out.println("Thread started " + Thread.currentThread().getName());  System.out.flush();  for (int i = 0; i<  100000; i++) {  increment();  }  System.out.println("Thread done " + Thread.currentThread().getName());  System.out.flush();  }  };  }  for (Thread t : threads) {  t.start();  }  System.out.println("Started");  System.out.flush();  System.out.println("Awaiting complete...");  System.out.flush();  for (Thread t : threads) {  t.join();  }  System.out.println("Completed...");  System.out.flush();  }  private synchronized void increment() {  counter++;  if (counter % 10000 == 0) {  System.out.printf("%s: %d\n", Thread.currentThread().getName(), counter);  System.out.flush();  }  } }



More information about the macosx-port-dev mailing list