[kaffe] kaffe awt and thread management
I'm testing kaffe in MIPS platform with Nano-X: my test program open a windows, but do not show anything in it (while the same program on Pc show the inner objects) Tracing the code, I see that the function kaffe-1.1.5/libraries/javalib/java/lang/VMThread.java:sleep() is calling the function vt.wait with parameter 250ms, but it never returns. From what I understand, that function calls /kaffe-1.1.5/libraries/clib/native/Object.c:java_lang_VMObject_wait, whose debugging message gives me 0x10276010 (0x102622f8) waiting for 0x102622f8, 0 It seems that here the parameter (250ms) became 0: do I understand correctly? And if so, why (and where) the 250 value was lost? (kaffe is ocmpiled with unix-jthreads) thanks giammy -- Gianluca Moro Visit http://ilpinguino.altervista.org/ [EMAIL PROTECTED] MyBlog http://blog.libero.it/giangiammy/ __ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Where to get prebuilt win32 binaries?
HI Dalibor, *gg* of course I understand your concerns and that you do not want to spend time building packages - but in fact windows should be many times easier than any linux distro out there. Just a simple zip-archive somewhere in ~robilad since you've built it already ... *please* *double please* *tripple please* I'd suggest either asking for a package on the Cygwin mailing list, or, if you are looking into learning a bit about cross-compiling, grabbing the excellent crosstools tarball from Dan Kegel's web site, and using that to build your own Cygwin compiler. OK, I'll ask them too, good point btw. Well, I leave the building with wine task untouched ;-) lg Clemens ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Where to get prebuilt win32 binaries?
Clemens Eisserer wrote: HI Dalibor, *gg* of course I understand your concerns and that you do not want to spend time building packages - but in fact windows should be many times easier than any linux distro out there. In essence, the only port for win32 that exists and builds and works a bit is the Cygwin port, which, by the nature of the beast, requires Cygwin, afaict. So preferrably, it should be in Cygwin, along with all the other nice software in there. I've received Cygwin patches for the previous versions from some Cygwin maintainers, so there may be someone willing to pick it up, and package it. I will ask around, though I believe the Cygwin folks I know are busy packaging databases. There is another port, which would not need Cygwin, but that port would need someone to merge it over (config/i386/ming32 from pocketlinux module in kaffe's CVS), and in the last years noone really volunteered, so feel free to go at it. Merging in ports into Kaffe is not that hard, if you have the tools (in this case, mingw32), time and interest. Just a simple zip-archive somewhere in ~robilad since you've built it already ... *please* *double please* *tripple please* Actually ... it's all gone now. :( I've managed to trash my win98 partition last night (HIMEM.SYS went into neverland), so I'll be doing the windows reinstallation ritual again, eventually, since I need qt4 on win32 for some other things. I can't promise when I'll have a Cygwin setup back, though. (Yeah, I have not bought computers with Windows in a while, so Win98 is the very latest and finest in Microsoft operating system I own. :) cheers, dalibor topic ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Getting kaffe to use nano-X AWT
All, I'm a bit struggling getting to run nano-X AWT. I (cross)compile using the following switches (amongst others): --without-kaffe-x-awt \ --with-kaffe-nanox-awt --with-nanox-include (..) --with-nanox-library (...) \ --without-classpath-gtk-awt \ When I run with # kaffe-bin -Xkaffe-nanox-awt -Xbootclasspath:/tmp/nfs/jre/lib/rt.jar FirstAWT I get: java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit at java.awt.Toolkit.getDefaultToolkit (Toolkit.java:535) (...) Caused by: java.lang.UnsatisfiedLinkError: Could not find library 'gtkpeer' (...) Apparently, the build is OK, since a kaffe-bin -version shows me the --Xkaffe-nanox-awt switch, but when I use this, kaffe is still looking for gtk. Any suggestion is very welcome ! Thanks, Wim Note: I'm using the 1.1.5 release ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Getting kaffe to use nano-X AWT
Hi, I was getting the same problem: in the archive there's the thread, anyway, with the help of Dalibor, I get to the following command line which tells kaffe to use Nano-X: /usr/local/kaffe/bin/kaffe -Dkaffe.awt.nativelib=nanoxawt -Xbootclasspath/p:/path/to/kaffeawt.jar Hello which platform are you using: I'm testing on a MIPS machine. bye giammy --- [EMAIL PROTECTED] wrote: All, I'm a bit struggling getting to run nano-X AWT. I (cross)compile using the following switches (amongst others): --without-kaffe-x-awt \ --with-kaffe-nanox-awt --with-nanox-include (..) --with-nanox-library (...) \ --without-classpath-gtk-awt \ When I run with # kaffe-bin -Xkaffe-nanox-awt -Xbootclasspath:/tmp/nfs/jre/lib/rt.jar FirstAWT I get: java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit at java.awt.Toolkit.getDefaultToolkit (Toolkit.java:535) (...) Caused by: java.lang.UnsatisfiedLinkError: Could not find library 'gtkpeer' (...) Apparently, the build is OK, since a kaffe-bin -version shows me the --Xkaffe-nanox-awt switch, but when I use this, kaffe is still looking for gtk. Any suggestion is very welcome ! Thanks, Wim Note: I'm using the 1.1.5 release ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe -- Gianluca Moro Visit http://ilpinguino.altervista.org/ [EMAIL PROTECTED] MyBlog http://blog.libero.it/giangiammy/ __ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] CVS kaffe (jserv): configure.ac: Improve Nano-X detection.
PatchSet 6936 Date: 2005/09/30 14:54:50 Author: jserv Branch: HEAD Tag: (none) Log: 2005-09-30 Jim Huang [EMAIL PROTECTED] * configure.ac: Improve Nano-X detection. * libraries/clib/awt/classpath-qt/componentevent.cpp, libraries/clib/awt/classpath-qt/mainqtthread.cpp, libraries/clib/awt/classpath-qt/qtframepeer.cpp: Add regular includes. * libraries/javalib/Makefile.am.in: Fixlet to Nano-X AWT. * po/zh_CN.po, po/zh_TW.po: Fix typo. Members: ChangeLog:1.4458-1.4459 configure:1.494-1.495 configure.ac:1.175-1.176 kaffe/kaffevm/boehm-gc/boehm/configure:1.5-1.6 libltdl/configure:1.90-1.91 libraries/clib/awt/classpath-qt/componentevent.cpp:1.4-1.5 libraries/clib/awt/classpath-qt/mainqtthread.cpp:1.2-1.3 libraries/clib/awt/classpath-qt/qtframepeer.cpp:1.4-1.5 libraries/clib/awt/nano-X/font.c:1.1-1.2 libraries/javalib/Makefile.am:1.396-1.397 libraries/javalib/Makefile.am.in:1.49-1.50 libraries/javalib/Makefile.in:1.489-1.490 po/zh_CN.po:1.6-1.7 po/zh_TW.po:1.22-1.23 Index: kaffe/ChangeLog diff -u kaffe/ChangeLog:1.4458 kaffe/ChangeLog:1.4459 --- kaffe/ChangeLog:1.4458 Fri Sep 30 00:46:10 2005 +++ kaffe/ChangeLog Fri Sep 30 14:54:50 2005 @@ -1,3 +1,17 @@ +2005-09-30 Jim Huang [EMAIL PROTECTED] + + * configure.ac: Improve Nano-X detection. + + * libraries/clib/awt/classpath-qt/componentevent.cpp, + libraries/clib/awt/classpath-qt/mainqtthread.cpp, + libraries/clib/awt/classpath-qt/qtframepeer.cpp: + Add regular includes. + + * libraries/javalib/Makefile.am.in: Fixlet to Nano-X AWT. + + * po/zh_CN.po, + po/zh_TW.po: Fix typo. + 2005-09-30 Dalibor Topic [EMAIL PROTECTED] * kaffe/scripts/javadoc.in, Index: kaffe/configure diff -u kaffe/configure:1.494 kaffe/configure:1.495 --- kaffe/configure:1.494 Wed Sep 28 02:01:58 2005 +++ kaffe/configure Fri Sep 30 14:54:51 2005 @@ -1298,7 +1298,7 @@ else echo $as_me: WARNING: no configuration information is in $ac_dir 2 fi -cd $ac_popdir +cd $ac_popdir done fi @@ -2852,8 +2852,7 @@ cat conftest.err 5 echo $as_me:$LINENO: \$? = $ac_status 5 (exit $ac_status); } -{ ac_try='test -z $ac_c_werror_flag -|| test ! -s conftest.err' +{ ac_try='test -z $ac_c_werror_flag || test ! -s conftest.err' { (eval echo $as_me:$LINENO: \$ac_try\) 5 (eval $ac_try) 25 ac_status=$? @@ -2911,8 +2910,7 @@ cat conftest.err 5 echo $as_me:$LINENO: \$? = $ac_status 5 (exit $ac_status); } -{ ac_try='test -z $ac_c_werror_flag -|| test ! -s conftest.err' +{ ac_try='test -z $ac_c_werror_flag || test ! -s conftest.err' { (eval echo $as_me:$LINENO: \$ac_try\) 5 (eval $ac_try) 25 ac_status=$? @@ -3028,8 +3026,7 @@ cat conftest.err 5 echo $as_me:$LINENO: \$? = $ac_status 5 (exit $ac_status); } -{ ac_try='test -z $ac_c_werror_flag -|| test ! -s conftest.err' +{ ac_try='test -z $ac_c_werror_flag || test ! -s conftest.err' { (eval echo $as_me:$LINENO: \$ac_try\) 5 (eval $ac_try) 25 ac_status=$? @@ -3083,8 +3080,7 @@ cat conftest.err 5 echo $as_me:$LINENO: \$? = $ac_status 5 (exit $ac_status); } -{ ac_try='test -z $ac_c_werror_flag -|| test ! -s conftest.err' +{ ac_try='test -z $ac_c_werror_flag || test ! -s conftest.err' { (eval echo $as_me:$LINENO: \$ac_try\) 5 (eval $ac_try) 25 ac_status=$? @@ -3129,8 +3125,7 @@ cat conftest.err 5 echo $as_me:$LINENO: \$? = $ac_status 5 (exit $ac_status); } -{ ac_try='test -z $ac_c_werror_flag -|| test ! -s conftest.err' +{ ac_try='test -z $ac_c_werror_flag || test ! -s conftest.err' { (eval echo $as_me:$LINENO: \$ac_try\) 5 (eval $ac_try) 25 ac_status=$? @@ -3174,8 +3169,7 @@ cat conftest.err 5 echo $as_me:$LINENO: \$? = $ac_status 5 (exit $ac_status); } -{ ac_try='test -z $ac_c_werror_flag -|| test ! -s conftest.err' +{ ac_try='test -z $ac_c_werror_flag || test ! -s conftest.err' { (eval echo $as_me:$LINENO: \$ac_try\) 5 (eval $ac_try) 25 ac_status=$? @@ -3432,8 +3426,7 @@ cat conftest.err 5 echo $as_me:$LINENO: \$? = $ac_status 5 (exit $ac_status); } -{ ac_try='test -z $ac_c_werror_flag -|| test ! -s conftest.err' +{ ac_try='test -z $ac_c_werror_flag || test ! -s conftest.err' { (eval echo $as_me:$LINENO: \$ac_try\) 5 (eval $ac_try) 25 ac_status=$? @@ -3585,8 +3578,7 @@ cat conftest.err 5 echo $as_me:$LINENO: \$? = $ac_status 5
Re: [kaffe] kaffe awt and thread management on MIPS
Hi, I compiled my kaffe on mips with the following ./configure --with-jikes=no --with-engine=intrp --enable-pure-java-math --without-esd --without-kaffe-x-awt --with-kaffe-nanox-awt --with-rt-jar=/home/AMDgiammy/kaffe-1.1.5/libraries/javalib/rt.jar --without-classpath-gtk-awt --enable-debug --with-nanox-include=/usr/include/microwin --with-nanox-library=/usr/lib --with-threads=unix-jthreads perhaps the problem on threads in the MIPS porting can be solved with ad appropriate configuration of ./configure or CFLAGS or so: I found in the web, for example setenv CFLAGS -G 0 -mno-abicalls -fno-pic -mcpu=r4300 -mips2 but such a configuration fails in the configuration, while finding the size of a void *. Is there someone who compiled a more recent version of kaffe (I'm working on 1.1.5), and have a working configuration? (I doubt to be able to find a bug on the config/mips/* side :-) thanks giammy --- Dalibor Topic [EMAIL PROTECTED] wrote: Gianluca Moro wrote: I'm testing kaffe in MIPS platform with Nano-X: my test program open a windows, but do not show anything in it (while the same program on Pc show the inner objects) Tracing the code, I see that the function kaffe-1.1.5/libraries/javalib/java/lang/VMThread.java:sleep() is calling the function vt.wait with parameter 250ms, but it never returns. From what I understand, that function calls /kaffe-1.1.5/libraries/clib/native/Object.c:java_lang_VMObject_wait, whose debugging message gives me 0x10276010 (0x102622f8) waiting for 0x102622f8, 0 It seems that here the parameter (250ms) became 0: do I understand correctly? And if so, why (and where) the 250 value was lost? (kaffe is ocmpiled with unix-jthreads) Interesting. That might suggest there is a bug in the config/mips/* implementation of the ABI, or in the JNI code. You can try bulding Kaffe with libffi, which comes from gcc, and is in general up to date with different ABI changes. If it's a bug in the JNI code, you could look at fixing the compiler warnings in kaffe/kaffevm/jni* directory. cheers, dalibor topic -- Gianluca Moro Visit http://ilpinguino.altervista.org/ [EMAIL PROTECTED] MyBlog http://blog.libero.it/giangiammy/ __ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] kaffe awt and thread management (and libffi)
You can try bulding Kaffe with libffi, which comes from gcc, and is just looking, but it seems that libffi has not been ported to mips architecture :-( anyway, thanks giammy -- Gianluca Moro Visit http://ilpinguino.altervista.org/ [EMAIL PROTECTED] MyBlog http://blog.libero.it/giangiammy/ __ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] kaffe awt and thread management on MIPS
On Fri, Sep 30, 2005 at 08:15:48AM -0700, Gianluca Moro wrote: Hi, I compiled my kaffe on mips with the following [...] Is there someone who compiled a more recent version of kaffe (I'm working on 1.1.5), and have a working configuration? (I doubt to be able to find a bug on the config/mips/* side :-) Hi Gianluca, Recently, I am working on JIT and XScale series, and I have commited some Nano-X related fixes into cvs repository. Could you please take it a try with cvs head? However, thank you for sending and sharing the previous information about Nano-X AWT backend and threading on MIPS, which is another great platform Kaffe should support. cheers, Jim Huang (jserv AT kaffe.org) ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Re: kaffe awt and thread management (and libffi)
Gianluca == Gianluca Moro [EMAIL PROTECTED] writes: You can try bulding Kaffe with libffi, which comes from gcc, and is Gianluca just looking, but it seems that libffi has not been ported to Gianluca mips architecture :-( Hmm, actually MIPS is one of the oldest libffi ports. I'm not sure where the libffi you're using comes from. The one in the gcc cvs repository is the most up-to-date. Unfortunately libffi hasn't had a separate release in a number of years. Tom ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] kaffe fails to build if --with-stats is passed to configure
if kaffe is build with --with-stats it will fail because sys/resource.h is not included in stats.c. this patch that fixes this. Changelog: 2005-09-30 Pietro Ferrari [EMAIL PROTECTED] * kaffe/kaffevm/stats.c: include sys/resource.h patch: Index: stats.c === RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/stats.c,v retrieving revision 1.10 diff -u -r1.10 stats.c --- stats.c 19 Jul 2005 16:27:35 - 1.10 +++ stats.c 30 Sep 2005 20:29:53 - @@ -22,6 +22,7 @@ #include support.h #include debug.h #include stats.h +#include sys/resource.h #if defined(KAFFE_STATS) ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Bug when using getReuseAddress() on a socket
Hello, kaffe-1.1.6 has a bug in libraries/javalib/gnu/java/net/PlainSocketImpl.java: when you use getOption(int) in order to ask it for SO_REUSEADDR, you get an Integer back which is either 0 or 1. It should be a Boolean instead, as getReuseAddress() executed on a socket expects this. Patch attached, hope it helps. I just tested it here with a ServerSocket.getReuseAddress() and it looks good (no more exceptions signalling an internal error). -- Nico GMX DSL = Maximale Leistung zum minimalen Preis! 2000 MB nur 2,99, Flatrate ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl PlainSocketImpl.java-SO_REUSEADDR.patch Description: Binary data ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] CVS kaffe (jserv): Fixlet to compilation error when --with-stats enabled.
PatchSet 6937 Date: 2005/10/01 02:18:46 Author: jserv Branch: HEAD Tag: (none) Log: Fixlet to compilation error when --with-stats enabled. 2005-10-01 Jim Huang [EMAIL PROTECTED] * kaffe/kaffevm/stats.c: Fixlet to compilation error when --with-stats enabled. Reported by Pietro Ferrari [EMAIL PROTECTED]. Members: ChangeLog:1.4459-1.4460 kaffe/kaffevm/stats.c:1.10-1.11 Index: kaffe/ChangeLog diff -u kaffe/ChangeLog:1.4459 kaffe/ChangeLog:1.4460 --- kaffe/ChangeLog:1.4459 Fri Sep 30 14:54:50 2005 +++ kaffe/ChangeLog Sat Oct 1 02:18:46 2005 @@ -1,3 +1,9 @@ +2005-10-01 Jim Huang [EMAIL PROTECTED] + + * kaffe/kaffevm/stats.c: Fixlet to compilation error when + --with-stats enabled. + Reported by Pietro Ferrari [EMAIL PROTECTED]. + 2005-09-30 Jim Huang [EMAIL PROTECTED] * configure.ac: Improve Nano-X detection. Index: kaffe/kaffe/kaffevm/stats.c diff -u kaffe/kaffe/kaffevm/stats.c:1.10 kaffe/kaffe/kaffevm/stats.c:1.11 --- kaffe/kaffe/kaffevm/stats.c:1.10Tue Jul 19 16:27:35 2005 +++ kaffe/kaffe/kaffevm/stats.c Sat Oct 1 02:18:49 2005 @@ -24,6 +24,7 @@ #include stats.h #if defined(KAFFE_STATS) +#include sys/resource.h timespent fulljit; counter jitmem; ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] CVS kaffe (jserv): Fixlet to porper type of PlainSocketImpl.getOption.
PatchSet 6938 Date: 2005/10/01 02:59:48 Author: jserv Branch: HEAD Tag: (none) Log: Fixlet to porper type of PlainSocketImpl.getOption. 2005-10-01 Jim Huang [EMAIL PROTECTED] * libraries/javalib/gnu/java/net/PlainSocketImpl.java (getOption): Fixlet. When you use getOption(int) in order to ask it for SO_REUSEADDR, you get an Integer back which is either 0 or 1. It should be a Boolean instead, as getReuseAddress() executed on a socket expects this. Patched by: Nico R. [EMAIL PROTECTED] Members: ChangeLog:1.4460-1.4461 libraries/javalib/gnu/java/net/PlainSocketImpl.java:1.7-1.8 Index: kaffe/ChangeLog diff -u kaffe/ChangeLog:1.4460 kaffe/ChangeLog:1.4461 --- kaffe/ChangeLog:1.4460 Sat Oct 1 02:18:46 2005 +++ kaffe/ChangeLog Sat Oct 1 02:59:48 2005 @@ -1,8 +1,17 @@ 2005-10-01 Jim Huang [EMAIL PROTECTED] + * libraries/javalib/gnu/java/net/PlainSocketImpl.java (getOption): + Fixlet. When you use getOption(int) in order to ask it for + SO_REUSEADDR, you get an Integer back which is either 0 or 1. It + should be a Boolean instead, as getReuseAddress() executed on a + socket expects this. + Patched by: Nico R. [EMAIL PROTECTED] + +2005-10-01 Jim Huang [EMAIL PROTECTED] + * kaffe/kaffevm/stats.c: Fixlet to compilation error when --with-stats enabled. - Reported by Pietro Ferrari [EMAIL PROTECTED]. + Reported by: Pietro Ferrari [EMAIL PROTECTED]. 2005-09-30 Jim Huang [EMAIL PROTECTED] @@ -53,8 +62,6 @@ kaffe/kaffevm/systems/unix-jthreads/jthread.h, (jthread_exit_when_done): Removed bad NONRETURNING tag. - - 2005-09-24 Guilhem Lavaux [EMAIL PROTECTED] * kaffe/kaffevm/kaffe-gc/gc-mem.c Index: kaffe/libraries/javalib/gnu/java/net/PlainSocketImpl.java diff -u kaffe/libraries/javalib/gnu/java/net/PlainSocketImpl.java:1.7 kaffe/libraries/javalib/gnu/java/net/PlainSocketImpl.java:1.8 --- kaffe/libraries/javalib/gnu/java/net/PlainSocketImpl.java:1.7 Fri May 6 15:24:32 2005 +++ kaffe/libraries/javalib/gnu/java/net/PlainSocketImpl.java Sat Oct 1 02:59:48 2005 @@ -4,6 +4,9 @@ * Copyright (c) 1997, 1998 * Transvirtual Technologies, Inc. All rights reserved. * + * Copyright (c) 2005 + * Kaffe.org contributors, see ChangeLog for details. All rights reserved. + * * See the file license.terms for information on usage and redistribution * of this file. */ @@ -232,8 +235,8 @@ case SO_SNDBUF: case SO_RCVBUF: case SO_LINGER: - case SO_REUSEADDR: return new Integer(socketGetOption(option)); + case SO_REUSEADDR: case TCP_NODELAY: return new Boolean(socketGetOption(option) != 0); case SO_TIMEOUT: ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe