[kaffe] Problems of Kaffe on mips-linux platform

Kim, Seong Beom sbkim at mail.marusys.com
Wed Jan 1 23:16:02 PST 2003


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 ----- 
  From: Kevin D. Kissell 
  To: Kim, Seong Beom ; kaffe at kaffe.org 
  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" 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: kaffe at kaffe.org 
    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 at 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)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://kaffe.org/pipermail/kaffe/attachments/20030102/e7e27483/attachment-0010.htm 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: checks.txt
Url: http://kaffe.org/pipermail/kaffe/attachments/20030102/e7e27483/attachment-0003.txt 


More information about the kaffe mailing list