Re: [kaffe] Problems of Kaffe on mips-linux platform
Hi Dalibor Thank you for your help, I'm learning more and more about Kaffe now. ;-) To follow your sugesstion, I downloaded KJC from http://www.dms.at/kopi site. Unlike jikes, the kjc is only composed of java class files. Because '--with-jikes' seems require executable, I don't know how to configure '--with-jikes=/path-to/a-working-version-of/kjc ' option. So... what I did is replacing $KAFFE_HOME/libraries/javalib/kjc.jar with newer version, configuring with the following options (no jikes specified here), making, and finally doing 'make check'. ### configure option begins here CC=mips-linux-gcc CFLAGS="-mcpu=r5000" \ CXX=mips-linux-c++ CXXFLAGS="-mcpu=r5000" \ KAFFEH=/usr/local/kaffe/bin/kaffeh \ ac_cv_c_char_unsigned=no \ ac_cv_long_division_broken=yes \ ac_cv_long_modulo_broken=yes \ ac_cv_long_long_modulo_broken=no \ ac_cv_strtod_m0_broken=no \ ac_cv_header_jpeglib_h=yes \ ac_cv_lib_jpeg_jpeg_read_header=yes \ ac_cv_lib_png_png_create_info_struct=yes \ kaffe_cv_signal_one_shot=no \ lt_cv_dlopen_self=yes lt_cv_dlopen_self_static=no \ ~/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 \ --disable-debug \ --disable-xprofiling \ --disable-xdebugging \ --disable-feedback \ --without-profiling \ --without-stats \ --disable-gcj ### ends here Unfotunately, regression test failed with the same error messages, so I send you java.util.zip.* classes and regression test log. Could you give some advice to this mess? I doubt some configuration mistakes in cross compiling environment, but I don't know what to do... :-( Anyway, I'm making slow progress and I hope my experience will make kaffe more stable & portable. Thanks in advance. Sincerely, Kim, Seong Beom - Original Message - From: "Dalibor Topic" <[EMAIL PROTECTED]> To: "Kim, Seong Beom" <[EMAIL PROTECTED]>; "Kevin D. Kissell" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Saturday, January 04, 2003 7:38 PM Subject: Re: [kaffe] Problems of Kaffe on mips-linux platform > Hi Kim, > > --- "Kim, Seong Beom" <[EMAIL PROTECTED]> wrote: > > > 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. > > That one looks very strange. Could you recompile the > class library using kjc 2.1B (i.e. don't specify > jikes, but > --with-jikes=/path-to/a-working-version-of/kjc ), and > see if it still fails? > > Could you send me the java.util.zip.*.class files, and > I'll run them through the bcel verifier. (But please > don't send the whole rt.jar ;) > > best regards, > > dalibor topic > > __ > Do you Yahoo!? > Yahoo! Mail Plus - Powerful. Affordable. Sign up now. > http://mailplus.yahoo.com > > ___ > kaffe mailing list > [EMAIL PROTECTED] > http://kaffe.org/cgi-bin/mailman/listinfo/kaffe java_util_zip_classes.tgz Description: application/compressed 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 PASS: divtest.java PASS: Str.java PASS: Str2.java PASS: InternHog.java PASS: IndexTest.java PASS:
Re: [kaffe] Problems of Kaffe on mips-linux platform
Hi Kim, --- "Kim, Seong Beom" <[EMAIL PROTECTED]> wrote: > 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. That one looks very strange. Could you recompile the class library using kjc 2.1B (i.e. don't specify jikes, but --with-jikes=/path-to/a-working-version-of/kjc ), and see if it still fails? Could you send me the java.util.zip.*.class files, and I'll run them through the bcel verifier. (But please don't send the whole rt.jar ;) best regards, dalibor topic __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Problems of Kaffe on mips-linux platform
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... 4000 1 / 40004000 1 % 08000 1 / 80008000 1 % 04000 -1 / c0004000 -1 % 08000 -1 / java.lang.ArithmeticException8000 -1 % java.lang.ArithmeticException4000 2 / 20004000 2 % 08000 2 / c0008000 2 % 04000 -2 / e0004000 -2 % 08000 -2 / 40008000 -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 - From: Kevin D. Kissell To: Kim, Seong Beom ; [EMAIL PROTECTED] 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 ftp://ftp.paralogos.com/pub/kaffe/mips/kaffe-1.0.7.patch_kevink_021001 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"
Re: [kaffe] Problems of Kaffe on mips-linux platform
--- "Kim, Seong Beom" <[EMAIL PROTECTED]> wrote: > 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 > 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.(PushbackReader.java:27) > at > java.io.PushbackReader.(PushbackReader.java:32) > at > at.dms.compiler.tools.antlr.extra.InputBuffer.(InputBuffer.java:69) > at > at.dms.compiler.tools.antlr.extra.InputBuffer.(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. :( I assume that you're using jikes with a version > 1.13 to compile kaffe's class library. You need to make sure you use jikes 1.13. Kaffe's class library sources trigger a bug in jikes >1.13 versions leading to the verifier problems you are experiencing. Check out this mail fr more information: http://www.kaffe.org/pipermail/kaffe/2002-March/007730.html The latest version of jikes should be o.k. too, but you'd need to do some manual work in order to get it to generate the type of class files kaffe can work with. Jikes 1.18 generates Java 1.4 class files by default, and they need some support methods kaffe doesn't implement yet. My advice is to just use jikes 1.13, as that should just work. best regards, dalibor topic __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
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 ftp://ftp.paralogos.com/pub/kaffe/mips/kaffe-1.0.7.patch_kevink_021001 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 - From: Kim, Seong Beom To: [EMAIL PROTECTED] 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]#
[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 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.(PushbackReader.java:27) at java.io.PushbackReader.(PushbackReader.java:32) at at.dms.compiler.tools.antlr.extra.InputBuffer.(InputBuffer.java:69) at at.dms.compiler.tools.antlr.extra.InputBuffer.(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 KimResearch EngineerMarusys, Co. Ltd.Seoul, Korea+82-2-3445-3999 (117)