harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject Re: [DRLVM] DRLVM default GC was switched from GCv4.1 to GCv5
Date Mon, 23 Apr 2007 11:17:56 GMT
On 4/23/07, Vladimir Ivanov <ivavladimir@gmail.com> wrote:
> On 4/23/07, Xiao-Feng Li <xiaofeng.li@gmail.com> wrote:
> > Thanks for the notifications. Will check the issues immediately,
> > basically they are:
> >
> > StressLoader and self-hosting on Win64, and RunFinalizersOnExit on Linux64.
> >
> > Vladimir, would you let me know how to run the self-hosting test
> > locally with java.exe command line? Thanks!
>
> To run 'self-hosting' please set JAVA_HOME to HDK and just run the HDK
> build again to other directory (-Dtarget.dir=<>).

Thanks for the helps. I ran my build in way of:

C:\trunk\working_vm\build>build.bat
-Dtarget.dir=c:\trunk\working_vm\build\hdk_build

Looks like it ran well but the last step failed in copying file as
below. I suspect the new target.dir I specified didn't work for it.
Right? Thanks, xiaofeng

==================================
build_deploy:
vf_debug: verifying class org/apache/tools/ant/taskdefs/optional/jdepend/JDepend
Task (method executeInVM(Lorg/apache/tools/ant/types/CommandlineJava;)I) couldn'
t load class "jdepend/textui/JDepend"
vf_debug: VerifyError: Couldn't load class: jdepend/textui/JDepend
vf_debug: verifying class org/apache/tools/ant/taskdefs/optional/ssh/SSHExec (me
thod execute()V) couldn't load class "com/jcraft/jsch/JSchException"
vf_debug: VerifyError: Couldn't load class: com/jcraft/jsch/JSchException
vf_debug: verifying class org/apache/tools/ant/taskdefs/optional/image/Image (me
thod processFile(Ljava/io/File;)V) couldn't load class "javax/media/jai/PlanarIm
age"
vf_debug: VerifyError: Couldn't load class: javax/media/jai/PlanarImage
     [copy] Copying 2 files to C:\trunk\working_vm\build\win_ia32_msvc_debug\dep
loy\jdk\jre\bin\default
     [copy] Copying C:\trunk\working_vm\build\win_ia32_msvc_debug\semis\vm\vmi\_
bin\vmi.dll to C:\trunk\working_vm\build\win_ia32_msvc_debug\deploy\jdk\jre\bin\
default\vmi.dll

BUILD FAILED
C:\trunk\working_vm\build\make\build.xml:466: The following error occurred while
 executing this line:
C:\trunk\working_vm\build\make\build.xml:468: The following error occurred while
 executing this line:
C:\trunk\working_vm\build\make\build.xml:696: The following error occurred while
 executing this line:
C:\trunk\working_vm\build\make\build.xml:726: Failed to copy C:\trunk\working_vm
\build\win_ia32_msvc_debug\semis\vm\vmi\_bin\vmi.dll to C:\trunk\working_vm\buil
d\win_ia32_msvc_debug\deploy\jdk\jre\bin\default\vmi.dll due to C:\trunk\working
_vm\build\win_ia32_msvc_debug\deploy\jdk\jre\bin\default\vmi.dll and I couldn't
delete the corrupt C:\trunk\working_vm\build\win_ia32_msvc_debug\deploy\jdk\jre\
bin\default\vmi.dll
=================================================

>  thanks, Vladimir
>
>
> >
> > Thanks,
> > xiaofeng
> >
> > On 4/23/07, Vladimir Ivanov <ivavladimir@gmail.com> 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 <ivavladimir@gmail.com> 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 <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
> > > > > >
> > > > >
> > > >
> > >
> >
> >
> > --
> > http://xiao-feng.blogspot.com
> >
>


-- 
http://xiao-feng.blogspot.com

Mime
View raw message