harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ivanov" <ivavladi...@gmail.com>
Subject Re: [DRLVM] DRLVM default GC was switched from GCv4.1 to GCv5
Date Mon, 23 Apr 2007 04:18:21 GMT
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 <rdasgupt@gmail.com> wrote:
> Nice document Xiao Feng. And it goes without saying, good work on gcv5.
>
> Rana
>
> On 4/22/07, Xiao-Feng Li <xiaofeng.li@gmail.com> 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
> >
>

Mime
View raw message