Dear Kevin.
Thank you for the reply. It helped me a lot. :)
 
As you recommended, I got Kaffe source from 'Anonymous CVS' link on kaffe.org site,
and compiled, tested the source on the i686 host system with the following configuration.
 
./configure --with-engine=intrp --with-awt=qt --with-qtdir=/home/sbkim/work/qt-3.0.6 --with-jikes --disable-debug
 
The verification involved
        1. make check
        2. running simple applet,
and it was free of errors.
 
However, the build on mips-linux target has some problems, and I need your comments.
I cross-compiled the source with the following configuration.
 
CC=mips-linux-gcc CXX=mips-linux-c++ ~/work/kaffe/configure --with-engine=intrp --target=mips-pc-linux-gnu --host=mips-pc-linux-gnu --build=mips-pc-linux-gnu --with-includes=/usr/mips-linux/include --with-libraries=/usr/mips-linux/lib --with-awt=qt --with-qtdir=/home/sbkim/work/mips-qt --with-jikes --disable-debug
 
It compiled OK, but when I did 'make check' 9 of 123 tests failed.
There are two type of errors which occurred.

1. divtest failed...
 
40000000 1 / 40000000
40000000 1 % 0
80000000 1 / 80000000
80000000 1 % 0
40000000 -1 / c0000000
40000000 -1 % 0
80000000 -1 / java.lang.ArithmeticException
80000000 -1 % java.lang.ArithmeticException
40000000 2 / 20000000
40000000 2 % 0
80000000 2 / c0000000
80000000 2 % 0
40000000 -2 / e0000000
40000000 -2 % 0
80000000 -2 / 40000000
80000000 -2 % 0
2. error compiling...
Eight tests failed printing the same error messages like,
 
error compiling:
java.lang.ClassCastException: can't cast `[C' to `java/util/zip/ZipEntry'
        at at.dms.classfile.ZipClassDirectory.packageExists(ClassPath.java:388)
        at at.dms.classfile.ClassPath.packageExists(ClassPath.java:221)
        at at.dms.kjc.KjcClassReader.packageExists(KjcClassReader.java:110)
        at at.dms.kjc.JPackageImport.exists(JPackageImport.java:128)
        at at.dms.kjc.JPackageImport.analyse(JPackageImport.java:108)
        at at.dms.kjc.JCompilationUnit.checkBody(JCompilationUnit.java:257)
        at at.dms.kjc.Main.checkBody(Main.java:409)
        at at.dms.kjc.Main.run(Main.java:183)
        at at.dms.kjc.Main.compile(Main.java:69)
        at at.dms.kjc.Main.main(Main.java:60)
 
What's the matter? Did I make a mistake during configuration?
Is the 'Anonymous CVS link' on the kaffe.org site right place to get kaffe source?
In case, I attach the whole 'make check' output.
 
 
Thanks in advance.
Best Regards.
Kim, Seong Beom
 
 
 
----- Original Message -----
Sent: Monday, December 30, 2002 6:16 PM
Subject: Re: [kaffe] Problems of Kaffe on mips-linux platform

First, an unmodifled Kaffe.1.0.7 release source tree
will not give you a working MIPS version of Kaffe.
The necessary patches to the release sources should be in
The changes were also merged with the Kaffe.org
CVS repository, so if you're working from development
sources, you should have them - along with all the
fun problems that come with working from development
sources.
 
Assuming you've got the right Kaffe sources,
I see a couple more potential problems.  One is that you
are using unix-pthreads instead of the Kaffe internal
"jthread" multithreading scheme.  There have been
problems with Linux/UNIX pthreads for MIPS in many
versions of the kernel and gnu libraries, and I have
avoided pthreads in all my MIPS/Linux work, to
avoid confusing the issue.  I would recommend
dropping the --with-threads configure option and
letting the build default to jthreads.
 
The other potential problem is that most MIPS/Linux
kernel sources up until very recently had problems
with context management during some exceptional
signal conditions that happen to turn up in Kaffe. 
Most 2.4.17-level sources don't have the fixes, though
Monta Vista's just might.  If updating your
Kaffe sources and using jthreads doesn't fix things, 
I would encourage you to get more up-to-date kernel
sources, either from ftp://ftp.mips.com/pub/linux/mips/ 
or from the CVS archive at linux-mips.org (which is
another development tree, with all the fun associated, etc.). 
I actually rather doubt that this is your problem, since
in general one  needs to be doing floating-point operations
to see the problems, but if you're going to use Kaffe,
you will ultimately need those fixes.
 
When you say that you are testing your Kaffe build,
is this to say that all of the "make check" regression
tests run?  It took me a while to get all those to work
(i.e. to generate the patch above), but once they did,
all the AWT stuff I tried worked fine.  But I did not try
QT!
 
            Regards,
 
            Kevin K.
----- Original Message -----
Sent: Monday, December 30, 2002 8:05 AM
Subject: [kaffe] Problems of Kaffe on mips-linux platform

Dear Kaffe experts.
 
Because it is my first time to post message in this mailing list,
let me introduce a little bit.
 
Hello, my name is Seongbeom Kim, and I'm working for a digital television project
that requires Java virtual machine. I've chosen Kaffe for our virtual machine
because it is one of few VM solutions for mips-linux platform.
 
The specification of our system is...
-------------------------------------------------------------------------------------------------------
Kaffe version:                   Kaffe 1.0.7
Reference board:            TeraLogic Cougar-L board
CPU:                                MIPS
OS:                                  Linux (kernel 2.4.17  monta vista linux RedHat 7.1)
AWT:                                QTE (QTE 3.0.3)
cross compiling with:       mips-linux-gcc (egcs-2.91.66)
configure option:              --target=mips-pc-linux-gnu --host=mips-pc-linux-gnu --build=mips-pc-linux-gnu
                                        --with-engine=intrp --with-threads=unix-pthreads
                                        --with-includes=/usr/mips-linux/include --with-libraries=/usr/mips-linux/lib
-------------------------------------------------------------------------------------------------------
 
What I have done with this development is...
1. Test build on i386-linux-QTE platform: it had no problem at all with virtual frame buffer feature in embedded QT.
2. QTE test on mips-linux: I verified it with test programs.
3. Cross compiling for mips-linux-qte platform: build done, test compile & running for simple text based application done successfully.
 
The problems are...
1. When I try to running simple AWT example, the main thread hangs in Toolkit.createNative() and does not proceed.
The code in Toolkit.java>>>
 
static void createNative ( Component c ) {
 WMEvent e = null;
 
 synchronized ( Toolkit.class ) {
  // even if this could be done in a central location, we defer this
  // as much as possible because it might involve polling (for non-threaded
  // AWTs), slowing down the startup time
  if ( eventThread == null ) {
   startDispatch();
  }
 }
 
System.out.println( "startDispatch() done..." ); <<---------- does not print this message (hangs in startDispatch())
 
 // do we need some kind of a context switch ?
 ...
}
2. After some modifications in Java codes such as inserting debugging messages, there happens strange errors.
 
[root@target /root]# javac -v HelloWorld.java
[ start compilation in verbose mode ]
java.lang.VerifyError: In class java/io/PushbackReader$PushbackBuffer in method <init> with signature (Ljava/io/PushbackReader;Ljava/io/PushbackReader$1;I)V at pc 5: sp 7 not in range [4, 6]
        at java.io.PushbackReader.<init>(PushbackReader.java:27)
        at java.io.PushbackReader.<init>(PushbackReader.java:32)
        at at.dms.compiler.tools.antlr.extra.InputBuffer.<init>(InputBuffer.java:69)
        at at.dms.compiler.tools.antlr.extra.InputBuffer.<init>(InputBuffer.java:82)
        at at.dms.kjc.Main.parseFile(Main.java:325)
        at at.dms.kjc.Main.run(Main.java:147)
        at at.dms.kjc.Main.compile(Main.java:69)
        at at.dms.kjc.Main.main(Main.java:60)
This error is only solved when I remove entire Kaffe tree, re-install source, re-configure and re-make it.
'make distclean' cannot solve this problem.
 
 
Does anyone know about these problems?
Please help me, I'm in a really big trouble. :(
 
Thanks in advance.
 
 
-----------------------------------
Seong-beom Kim
Research Engineer
Marusys, Co. Ltd.
Seoul, Korea
+82-2-3445-3999 (117)
[root@target regression]# make check
make  check-TESTS
make[1]: Entering directory `/home/sbkim/work/cross/kaffe/test/regression'
PASS: HelloWorldApp.class.save
PASS: HelloWorldApp.java
PASS: TestIntLong.java
PASS: TestFloatDouble.java
PASS: DoubleCvt.java
PASS: DoubleNeg.java
PASS: DoubleConst.java
PASS: DoublePrint.java
PASS: DoubleComp.java
PASS: ModuloTest.java
PASS: LongNeg.java
PASS: FPUStack.java
FAIL: divtest.java
PASS: Str.java
PASS: Str2.java
PASS: InternHog.java
PASS: IndexTest.java
PASS: StackDump.java
PASS: CatchLimits.class.save
PASS: tname.java
PASS: ttest.java
PASS: ThreadInterrupt.java
PASS: ThreadState.java
PASS: UncaughtException.java
PASS: IllegalWait.java
PASS: Preempt.java
PASS: TestSerializable.java
PASS: TestSerializable2.java
PASS: SerializationCompatibility.java
error compiling:
java.lang.ClassCastException: can't cast `[C' to `java/util/zip/ZipEntry'
        at at.dms.classfile.ZipClassDirectory.packageExists(ClassPath.java:388)
        at at.dms.classfile.ClassPath.packageExists(ClassPath.java:221)
        at at.dms.kjc.KjcClassReader.packageExists(KjcClassReader.java:110)
        at at.dms.kjc.JPackageImport.exists(JPackageImport.java:128)
        at at.dms.kjc.JPackageImport.analyse(JPackageImport.java:108)
        at at.dms.kjc.JCompilationUnit.checkBody(JCompilationUnit.java:257)
        at at.dms.kjc.Main.checkBody(Main.java:409)
        at at.dms.kjc.Main.run(Main.java:183)
        at at.dms.kjc.Main.compile(Main.java:69)
        at at.dms.kjc.Main.main(Main.java:60)
FAIL: SerialPersistentFields.java
PASS: TestSerialVersions.java
PASS: TestSerialPersistent.java
PASS: TestSerialFields.java
PASS: TestObjectStreamField.java
PASS: ReflectInterfaces.java
PASS: InnerTest.java
PASS: SerialUID.java
PASS: TestCasts.java
PASS: Alias.java
PASS: NullPointerTest.java
PASS: NullInvoke.java
PASS: TableSwitch.java
PASS: LostFrame.java
PASS: ConstructorTest.java
PASS: burford.java
PASS: IllegalInterface.java
PASS: GetInterfaces.java
PASS: IntfTest.java
PASS: SignedShort.java
PASS: CharCvt.java
PASS: BadFloatTest.java
PASS: ProcessTest.java
PASS: UDPTest.java
PASS: SoTimeout.java
PASS: wc.java
PASS: FileTest.java
PASS: FileChecks.java
PASS: finalexc.java
PASS: finaltest.java
PASS: finaltest2.java
PASS: forNameTest.java
PASS: LoaderTest.java
PASS: ArrayForName.java
PASS: KaffeVerifyBug.java
PASS: Schtum.java
PASS: Reflect.java
PASS: MethodBug.java
PASS: Bean.java
error compiling:
java.lang.ClassCastException: can't cast `[C' to `java/util/zip/ZipEntry'
        at at.dms.classfile.ZipClassDirectory.packageExists(ClassPath.java:388)
        at at.dms.classfile.ClassPath.packageExists(ClassPath.java:221)
        at at.dms.kjc.KjcClassReader.packageExists(KjcClassReader.java:110)
        at at.dms.kjc.JPackageImport.exists(JPackageImport.java:128)
        at at.dms.kjc.JPackageImport.analyse(JPackageImport.java:108)
        at at.dms.kjc.JCompilationUnit.checkBody(JCompilationUnit.java:257)
        at at.dms.kjc.Main.checkBody(Main.java:409)
        at at.dms.kjc.Main.run(Main.java:183)
        at at.dms.kjc.Main.compile(Main.java:69)
        at at.dms.kjc.Main.main(Main.java:60)
FAIL: SortTest.java
PASS: HashTest.java
PASS: MapTest.java
PASS: URLTest.java
PASS: PropertiesTest.java
PASS: ReaderTest.java
PASS: CharArrayReaderTest.java
PASS: LineNumberReaderTest.java
PASS: BufferedReaderTest.java
PASS: ReaderReadVoidTest.java
PASS: PipeTest.java
PASS: GetField.java
PASS: LostTrampolineFrame.java
error compiling:
java.lang.ClassCastException: can't cast `[C' to `java/util/zip/ZipEntry'
        at at.dms.classfile.ZipClassDirectory.packageExists(ClassPath.java:388)
        at at.dms.classfile.ClassPath.packageExists(ClassPath.java:221)
        at at.dms.kjc.KjcClassReader.packageExists(KjcClassReader.java:110)
        at at.dms.kjc.JPackageImport.exists(JPackageImport.java:128)
        at at.dms.kjc.JPackageImport.analyse(JPackageImport.java:108)
        at at.dms.kjc.JCompilationUnit.checkBody(JCompilationUnit.java:257)
        at at.dms.kjc.Main.checkBody(Main.java:409)
        at at.dms.kjc.Main.run(Main.java:183)
        at at.dms.kjc.Main.compile(Main.java:69)
        at at.dms.kjc.Main.main(Main.java:60)
FAIL: ReflectInvoke.java
PASS: InvTarExcTest.java
PASS: SystemLoaderTest.java
PASS: NoClassDefTest.java
PASS: CLTest.java
PASS: CLTestConc.java
PASS: CLTestJLock.java
PASS: CLTestLie.java
PASS: CLTestFindLoaded.java
PASS: ClassDeadLock.java
PASS: ExceptionTest.java
PASS: ExceptionTestClassLoader.java
PASS: ExceptionTestClassLoader2.java
PASS: TestClassRef.java
error compiling:
java.lang.ClassCastException: can't cast `[C' to `java/util/zip/ZipEntry'
        at at.dms.classfile.ZipClassDirectory.packageExists(ClassPath.java:388)
        at at.dms.classfile.ClassPath.packageExists(ClassPath.java:221)
        at at.dms.kjc.KjcClassReader.packageExists(KjcClassReader.java:110)
        at at.dms.kjc.JPackageImport.exists(JPackageImport.java:128)
        at at.dms.kjc.JPackageImport.analyse(JPackageImport.java:108)
        at at.dms.kjc.JCompilationUnit.checkBody(JCompilationUnit.java:257)
        at at.dms.kjc.Main.checkBody(Main.java:409)
        at at.dms.kjc.Main.run(Main.java:183)
        at at.dms.kjc.Main.compile(Main.java:69)
        at at.dms.kjc.Main.main(Main.java:60)
FAIL: ClassGC.java
PASS: GCTest.java
PASS: ThreadLocalTest.java
error compiling:
java.lang.ClassCastException: can't cast `[C' to `java/util/zip/ZipEntry'
        at at.dms.classfile.ZipClassDirectory.packageExists(ClassPath.java:388)
        at at.dms.classfile.ClassPath.packageExists(ClassPath.java:221)
        at at.dms.kjc.KjcClassReader.packageExists(KjcClassReader.java:110)
        at at.dms.kjc.JPackageImport.exists(JPackageImport.java:128)
        at at.dms.kjc.JPackageImport.analyse(JPackageImport.java:108)
        at at.dms.kjc.JCompilationUnit.checkBody(JCompilationUnit.java:257)
        at at.dms.kjc.Main.checkBody(Main.java:409)
        at at.dms.kjc.Main.run(Main.java:183)
        at at.dms.kjc.Main.compile(Main.java:69)
        at at.dms.kjc.Main.main(Main.java:60)
FAIL: BeanBug.java
PASS: BitSetTest.java
PASS: ExceptionInInitializerTest.java
PASS: InitTest.java
PASS: ProcessClassTest.java
PASS: ProcessClassInst.java
error compiling:
java.lang.ClassCastException: can't cast `[C' to `java/util/zip/ZipEntry'
        at at.dms.classfile.ZipClassDirectory.packageExists(ClassPath.java:388)
        at at.dms.classfile.ClassPath.packageExists(ClassPath.java:221)
        at at.dms.kjc.KjcClassReader.packageExists(KjcClassReader.java:110)
        at at.dms.kjc.JPackageImport.exists(JPackageImport.java:128)
        at at.dms.kjc.JPackageImport.analyse(JPackageImport.java:108)
        at at.dms.kjc.JCompilationUnit.checkBody(JCompilationUnit.java:257)
        at at.dms.kjc.Main.checkBody(Main.java:409)
        at at.dms.kjc.Main.run(Main.java:183)
        at at.dms.kjc.Main.compile(Main.java:69)
        at at.dms.kjc.Main.main(Main.java:60)
FAIL: ProcessClassStop.java
PASS: FindSystemClass.java
PASS: ProcessClassLockTest.java
PASS: DoubleBug.java
PASS: TestUnlock.java
PASS: MarkResetTest.java
PASS: HashtableTest1.java
PASS: ReflectMultiArray.java
PASS: ExecTest.java
PASS: CatchDeath.java
PASS: ThreadStop.java
PASS: DeadThread.java
PASS: tthrd1.java
PASS: DosTimeVerify.java
error compiling:
java.lang.ClassCastException: can't cast `[C' to `java/util/zip/ZipEntry'
        at at.dms.classfile.ZipClassDirectory.packageExists(ClassPath.java:388)
        at at.dms.classfile.ClassPath.packageExists(ClassPath.java:221)
        at at.dms.kjc.KjcClassReader.packageExists(KjcClassReader.java:110)
        at at.dms.kjc.JPackageImport.exists(JPackageImport.java:128)
        at at.dms.kjc.JPackageImport.analyse(JPackageImport.java:108)
        at at.dms.kjc.JCompilationUnit.checkBody(JCompilationUnit.java:257)
        at at.dms.kjc.Main.checkBody(Main.java:409)
        at at.dms.kjc.Main.run(Main.java:183)
        at at.dms.kjc.Main.compile(Main.java:69)
        at at.dms.kjc.Main.main(Main.java:60)
FAIL: ZipVerify.java
error compiling:
java.lang.ClassCastException: can't cast `[C' to `java/util/zip/ZipEntry'
        at at.dms.classfile.ZipClassDirectory.packageExists(ClassPath.java:388)
        at at.dms.classfile.ClassPath.packageExists(ClassPath.java:221)
        at at.dms.kjc.KjcClassReader.packageExists(KjcClassReader.java:110)
        at at.dms.kjc.JPackageImport.exists(JPackageImport.java:128)
        at at.dms.kjc.JPackageImport.analyse(JPackageImport.java:108)
        at at.dms.kjc.JCompilationUnit.checkBody(JCompilationUnit.java:257)
        at at.dms.kjc.Main.checkBody(Main.java:409)
        at at.dms.kjc.Main.run(Main.java:183)
        at at.dms.kjc.Main.compile(Main.java:69)
        at at.dms.kjc.Main.main(Main.java:60)
FAIL: ZipTest.java
PASS: TruncatedClass.java
PASS: SoInterrupt.java
PASS: sysdepCallMethod.java
=====================
9 of 123 tests failed
=====================
make[1]: *** [check-TESTS] Error 1
make[1]: Leaving directory `/home/sbkim/work/cross/kaffe/test/regression'
make: *** [check-am] Error 2


Reply via email to