One way to know if it hangs or is slowly crawling would be to check the system process status. For example, in Windows, "task manager" would show 99% CPU(s) usage and the java.exe process keeps activities with page faults or something changed visibly. In Linux, "top" can be a good tool as well.
Thanks, xiaofeng On 4/23/07, Xiao-Feng Li <[EMAIL PROTECTED]> wrote:
Looks like StressLoader was not hang up, it was just too slow on 64-bit machine. Thanks, xiaofeng On 4/23/07, chunrong lai <[EMAIL PROTECTED]> wrote: > I could not reproduce the Windows X86_64 hangs in my testing. > I tried the classloader.StressLoader in my Windows x86_64 by two times. > It reported "PASSED" finally. The running time was 25mins in one run, and > 30mins in another run. > > On 4/23/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: > > > > Also the DRLVM smoke test classloader.StressLoader hangs on Windows > > x86_64 box in the 'opt' mode (at least work longer than 40 minutes). > > > > Thanks, Vladimir > > > > On 4/23/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: > > > I think one week is enough to investigate all possible issues with GCv5. > > > Let's start. > > > First of all, what should we do with failed tests on finalization, > > > like gc.RunFinalizersOnExit (failed on Linux x86_64)? > > > > > > The second issue: the self-hosting (build of HDK on HDK) project is > > > failed now on Windows x86_64 with message like that (stack trace is > > > below): > > > [exec] [javac] 1. ERROR in > > > > > C:\cruise_hdk\cc\projects\trunk\working_classlib\modules\beans\src\main\java\java\beans\MethodDescriptor.java > > > [exec] [javac] (at line 0) > > > [exec] [javac] /* > > > [exec] [javac] ^ > > > [exec] [javac] Internal compiler error > > > [exec] [javac] java.lang.IllegalArgumentException: Characters > > > number for one byte must be positive. > > > > > > Note, it is not the GCv5 issue but now it reproduced very often. > > > > > > thanks, Vladimir > > > > > > ---- self-hosting failure ---------------------------- > > > [exec] -compile: > > > [exec] [mkdir] Created dir: > > > C:\cruise_hdk\cc\projects\trunk\working_classlib\build\classes > > > [exec] [javac] Compiling 3654 source files to > > > C:\cruise_hdk\cc\projects\trunk\working_classlib\build\classes > > > [exec] [javac] ---------- > > > [exec] [javac] 1. ERROR in > > > > > C:\cruise_hdk\cc\projects\trunk\working_classlib\modules\beans\src\main\java\java\beans\MethodDescriptor.java > > > [exec] [javac] (at line 0) > > > [exec] [javac] /* > > > [exec] [javac] ^ > > > [exec] [javac] Internal compiler error > > > [exec] [javac] java.lang.IllegalArgumentException: Characters > > > number for one byte must be positive. > > > [exec] [javac] at > > > java.nio.charset.CharsetDecoder.<init>(Unknown Source) > > > [exec] [javac] at > > > com.ibm.icu4jni.charset.CharsetDecoderICU.<init>(Unknown Source) > > > [exec] [javac] at > > > com.ibm.icu4jni.charset.CharsetICU.newDecoder(Unknown Source) > > > [exec] [javac] at > > > java.io.InputStreamReader.<init>(Unknown Source) > > > [exec] [javac] at > > > org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsCharArray( > > Util.java:193) > > > [exec] [javac] at > > > org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent(Util.java > > :70) > > > [exec] [javac] at > > > org.eclipse.jdt.internal.compiler.batch.CompilationUnit.getContents( > > CompilationUnit.java:58) > > > [exec] [javac] at > > > org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:9047) > > > [exec] [javac] at > > > org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:9019) > > > [exec] [javac] at > > > org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java > > :7707) > > > [exec] [javac] at > > > org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java > > :371) > > > [exec] [javac] at > > > org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:397) > > > [exec] [javac] at > > > org.eclipse.jdt.internal.compiler.batch.Main.performCompilation( > > Main.java:2949) > > > [exec] [javac] at > > > org.eclipse.jdt.internal.compiler.batch.Main.compile(Main.java:1357) > > > [exec] [javac] at > > > java.lang.reflect.VMReflection.invokeMethod(VMReflection.java) > > > [exec] [javac] at > > > java.lang.reflect.Method.invoke(Method.java:381) > > > [exec] [javac] at > > > org.eclipse.jdt.core.JDTCompilerAdapter.execute(JDTCompilerAdapter.java > > :79) > > > [exec] [javac] at > > > org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:931) > > > [exec] [javac] at > > > org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:757) > > > [exec] [javac] at > > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) > > > [exec] [javac] at > > > org.apache.tools.ant.Task.perform(Task.java:364) > > > [exec] [javac] at > > > org.apache.tools.ant.Target.execute(Target.java:341) > > > [exec] [javac] at > > > org.apache.tools.ant.Target.performTasks(Target.java:369) > > > [exec] [javac] at > > > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216) > > > [exec] [javac] at > > > org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets( > > SingleCheckExecutor.java:37) > > > [exec] [javac] at > > > org.apache.tools.ant.Project.executeTargets(Project.java:1068) > > > [exec] [javac] at > > > org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382) > > > [exec] [javac] at > > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) > > > [exec] [javac] at > > > org.apache.tools.ant.Task.perform(Task.java:364) > > > [exec] [javac] at > > > org.apache.tools.ant.Target.execute(Target.java:341) > > > [exec] [javac] at > > > org.apache.tools.ant.Target.performTasks(Target.java:369) > > > [exec] [javac] at > > > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216) > > > [exec] [javac] at > > > org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets( > > SingleCheckExecutor.java:37) > > > [exec] [javac] at > > > org.apache.tools.ant.Project.executeTargets(Project.java:1068) > > > [exec] [javac] at > > > org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382) > > > [exec] [javac] at > > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) > > > [exec] [javac] at > > > org.apache.tools.ant.Task.perform(Task.java:364) > > > [exec] [javac] at > > > org.apache.tools.ant.Target.execute(Target.java:341) > > > [exec] [javac] at > > > org.apache.tools.ant.Target.performTasks(Target.java:369) > > > [exec] [javac] at > > > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216) > > > [exec] [javac] at > > > org.apache.tools.ant.Project.executeTarget(Project.java:1185) > > > [exec] [javac] at > > > org.apache.tools.ant.helper.DefaultExecutor.executeTargets( > > DefaultExecutor.java:40) > > > [exec] [javac] at > > > org.apache.tools.ant.Project.executeTargets(Project.java:1068) > > > [exec] [javac] at > > > org.apache.tools.ant.Main.runBuild(Main.java:668) > > > [exec] [javac] at > > > org.apache.tools.ant.Main.startAnt(Main.java:187) > > > [exec] [javac] at > > > org.apache.tools.ant.launch.Launcher.run(Launcher.java:246) > > > [exec] [javac] at > > > org.apache.tools.ant.launch.Launcher.main(Launcher.java:67) > > > > > > [exec] [javac] ---------- > > > [exec] [javac] Characters number for one byte must be positive. > > > > > > [exec] BUILD FAILED > > > [exec] C:\cruise_hdk\cc\projects\trunk\build.xml:324: The > > > following error occurred while executing this line: > > > [exec] > > C:\cruise_hdk\cc\projects\trunk\working_classlib\build.xml:113: > > > The following error occurred while executing this line: > > > [exec] C:\cruise_hdk\cc\projects\trunk\working_classlib\make\build- > > java.xml:130: > > > Compile failed; see the compiler error output for details. > > > ------------------------------------------------------------ > > > > > > > > > On 4/23/07, Rana Dasgupta <[EMAIL PROTECTED]> wrote: > > > > Nice document Xiao Feng. And it goes without saying, good work on > > gcv5. > > > > > > > > Rana > > > > > > > > On 4/22/07, Xiao-Feng Li <[EMAIL PROTECTED]> wrote: > > > > > Hi, folks, I've made the switch of default DRLVM GC component from > > > > > GCv4.1 (gc_cc) to GCv5 (gc_gen) yesterday. This switch is only trial > > > > > for one week experiment. If things go well, it might be the default > > GC > > > > > from then on; otherwise, it will be switched back waiting for next > > > > > chance after JavaOne. (We do not know the switch result yet, since > > the > > > > > testing infrastructure looks to be resting in weekends.) > > > > > > > > > > To make the switch is to bring Apache Harmony an advanced GC module > > > > > which has state-of-the-art design and implementation as a > > > > > stop-the-world GC. Basically, GCv5 is fully parallel in all phases > > of > > > > > garbage collection, with a couple of dynamic runtime adaptation > > > > > innovations to improve the throughput. GCv5 supports both > > generational > > > > > and non-generational mode. Experiments showed good performance > > > > > improvement over GCv4.1 for most workloads on parallel machines. > > > > > > > > > > I have put a quick overview of Harmony GCv5 at > > > > > http://people.apache.org/~xli/docs/harmony_gcv5_overview.pdf . A > > basic > > > > > design principle of GCv5 is to be modular (or open). This is a big > > > > > difference from GCv4.1. Hope it could lay a good foundation for the > > > > > community to develop more sophisticated GC technologies. As I know, > > > > > there are two university projects already using GCv5 for their > > > > > Harmony-based research. > > > > > > > > > > We would expect some regressions during the transition phase. Let's > > > > > promptly fix the bugs exposed, and try to make the switch smooth. > > > > > > > > > > Thanks, > > > > > xiaofeng > > > > > > > > > > > > > > > -- http://xiao-feng.blogspot.com
-- http://xiao-feng.blogspot.com
