Hi, This should now be fixed in CVS. A missing prototype means long longs are being interpreted incorrectly on 32-bit systems, leading to a wrong timeout value (hence the harness is not killing the hung runner process, and thus appearing to hang itself). Rob. 2008/12/15 Robert Lougher <rob.lougher@xxxxxxxxx>: > Hi Mark, > > Thanks for the report. I recently merged the development branch for > JamVM 1.5.2 to main as it seemed stable. Looks like there's still > some bugs :( I'll see if I can reproduce it here running Mauve... > > Thanks, > Rob. > > 2008/12/15 Mark Wielaard <mark@xxxxxxxxx>: >> >> Sorry for the lame bug report. I haven't had time to investigate much. >> But I want to make sure I don't forget about this issue. >> >> On builder.classpath.org we run mauve against jamvm cvs. Since a couple >> of days it gets stuck. Apparently always at the same point, since the >> log always shows: >> >> PASS: java.awt.Choice.getSelected >> FAIL: java.awt.Choice.PaintTest >> line 70: [1] -- boolean passed to check was false >> >> At the time of the hang the process tree looks as follows: >> >> 12322 ? Ss 22:21 SCREEN >> 12323 pts/1 Ss 0:00 \_ /bin/bash >> 1946 pts/1 S+ 0:00 | \_ /bin/sh /home/cpdev/bin/start-buildd >> 17667 pts/1 S+ 0:00 | \_ /bin/sh /home/cpdev/Nightly/scripts/Everything >> 21881 pts/1 S+ 0:00 | | \_ /bin/sh /home/cpdev/Nightly/scripts/Check >> 22523 pts/1 S+ 0:00 | | \_ /bin/sh /home/cpdev/Nightly/scripts/Mauve >> 22541 pts/1 S+ 0:00 | | \_ /bin/sh /home/cpdev/Nightly/scripts/Mauve >> 23109 pts/1 S+ 0:00 | | \_ /bin/sh /usr/bin/xvfb-run jamvm Harness gnu.testlet -vm jamvm -showpasses -timeout 180000 >> 23120 pts/1 S+ 0:00 | | \_ Xvfb :99 -screen 0 640x480x8 -nolisten tcp >> 23122 pts/1 Sl+ 0:10 | | \_ jamvm Harness gnu.testlet -vm jamvm -showpasses -timeout 180000 >> 23128 pts/1 Z+ 0:00 | | \_ [jamvm] <defunct> >> 23133 pts/1 Sl+ 4:54 | | \_ jamvm RunnerProcess gnu.testlet -vm jamvm -showpasses -timeout 180000 >> 17671 pts/1 S+ 0:03 | \_ tee Everything.log >> >> The scripts used can be found in mauve CVS: >> http://sourceware.org/cgi-bin/cvsweb.cgi/builder/?cvsroot=mauve >> >> kill -SIGQUIT 23122 gives: >> >> ------ JamVM version 1.5.2-devel Full Thread Dump ------- >> >> "main" 0x8079480 priority: 5 tid: 0xf7e35aa0 id: 1 state: RUNNABLE (6) >> at gnu.java.nio.VMChannel.read(Native method) >> at gnu.java.nio.VMChannel.read(VMChannel.java:159) >> at gnu.java.nio.FileChannelImpl.read(FileChannelImpl.java:232) >> at java.io.FileInputStream.read(FileInputStream.java:283) >> at java.io.FileInputStream.read(FileInputStream.java:254) >> at java.io.InputStreamReader.read(InputStreamReader.java:459) >> at java.io.BufferedReader.fill(BufferedReader.java:370) >> at java.io.BufferedReader.readLine(BufferedReader.java:469) >> at Harness.runTest(Harness.java:816) >> at Harness.runFolder(Harness.java:1307) >> at Harness.processFolder(Harness.java:1282) >> at Harness.processFolder(Harness.java:1260) >> at Harness.processFolder(Harness.java:1260) >> at Harness.processFolder(Harness.java:1260) >> at Harness.processTest(Harness.java:918) >> at Harness.runAllTests(Harness.java:725) >> at Harness.main(Harness.java:188) >> >> "Thread-5" 0x8555480 priority: 10 tid: 0xeb271bb0 id: 10 state: TIMED_WAITING (4) >> at java.lang.VMObject.wait(Native method) >> at java.lang.Object.wait(Object.java:528) >> at java.lang.Object.wait(Object.java:480) >> at Harness$TimeoutWatcher.run(Harness.java:1510) >> at java.lang.Thread.run(Thread.java:745) >> >> "Thread-4" 0x8302108 priority: 10 tid: 0xebbf7bb0 id: 9 state: TIMED_WAITING (4) >> at java.lang.VMObject.wait(Native method) >> at java.lang.Object.wait(Object.java:528) >> at java.lang.Object.wait(Object.java:480) >> at Harness$TimeoutWatcher.run(Harness.java:1510) >> at java.lang.Thread.run(Thread.java:745) >> >> "Thread-2" 0x82f08f0 priority: 5 tid: 0xec3f8bb0 id: 8 state: RUNNABLE (6) >> at gnu.java.nio.VMChannel.read(Native method) >> at gnu.java.nio.VMChannel.read(VMChannel.java:159) >> at gnu.java.nio.FileChannelImpl.read(FileChannelImpl.java:232) >> at java.io.FileInputStream.read(FileInputStream.java:283) >> at java.io.FileInputStream.read(FileInputStream.java:254) >> at java.io.InputStreamReader.read(InputStreamReader.java:459) >> at java.io.BufferedReader.fill(BufferedReader.java:370) >> at java.io.BufferedReader.readLine(BufferedReader.java:469) >> at Harness$ErrorStreamPrinter.run(Harness.java:1419) >> at java.lang.Thread.run(Thread.java:745) >> >> "Thread-3" 0x82e05f0 priority: 5 tid: 0xecbf9bb0 id: 7 state: TIMED_WAITING (4) >> at java.lang.VMThread.sleep(Native method) >> at java.lang.Thread.sleep(Thread.java:904) >> at java.lang.Thread.sleep(Thread.java:868) >> at Harness$InputPiperThread.run(Harness.java:1734) >> >> "Thread-1" (daemon) 0x82cd310 priority: 5 tid: 0xed3fabb0 id: 6 state: TIMED_WAITING (4) >> at java.lang.VMObject.wait(Native method) >> at java.lang.Object.wait(Object.java:528) >> at java.lang.Object.wait(Object.java:480) >> at java.lang.VMProcess$ProcessThread.run(VMProcess.java:182) >> >> "Async GC" (daemon) 0x80c49a0 priority: 5 tid: 0xedc8fbb0 id: 5 state: TIMED_WAITING (4) >> >> "Reference Handler" (daemon) 0x80c4888 priority: 5 tid: 0xee490bb0 id: 4 state: WAITING (3) >> >> "Finalizer" (daemon) 0x80c4750 priority: 5 tid: 0xeec91bb0 id: 3 state: WAITING (3) >> >> "Signal Handler" (daemon) 0x80c6cf8 priority: 5 tid: 0xef492bb0 id: 2 state: RUNNABLE (2) >> >> ------ JamVM version 1.5.2-devel Full Thread Dump ------- >> >> "main" 0x8079480 priority: 5 tid: 0xf7e35aa0 id: 1 state: RUNNABLE (6) >> at gnu.java.nio.VMChannel.read(Native method) >> at gnu.java.nio.VMChannel.read(VMChannel.java:159) >> at gnu.java.nio.FileChannelImpl.read(FileChannelImpl.java:232) >> at java.io.FileInputStream.read(FileInputStream.java:283) >> at java.io.FileInputStream.read(FileInputStream.java:254) >> at java.io.InputStreamReader.read(InputStreamReader.java:459) >> at java.io.BufferedReader.fill(BufferedReader.java:370) >> at java.io.BufferedReader.readLine(BufferedReader.java:469) >> at Harness.runTest(Harness.java:816) >> at Harness.runFolder(Harness.java:1307) >> at Harness.processFolder(Harness.java:1282) >> at Harness.processFolder(Harness.java:1260) >> at Harness.processFolder(Harness.java:1260) >> at Harness.processFolder(Harness.java:1260) >> at Harness.processTest(Harness.java:918) >> at Harness.runAllTests(Harness.java:725) >> at Harness.main(Harness.java:188) >> >> "Thread >> >> (yes, that is how it ends) >> >> I'll try to investigate more at a later point. Currently I am just >> killing the run to get the other tests on builder to succeed. >> >> >> >