sablevm-developer Mailing List for SableVM (Page 58)
Brought to you by:
egagnon
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(27) |
Aug
(22) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(30) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(32) |
Oct
|
Nov
|
Dec
|
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(69) |
Sep
(10) |
Oct
(31) |
Nov
(15) |
Dec
(58) |
2003 |
Jan
(33) |
Feb
(81) |
Mar
(85) |
Apr
(24) |
May
(15) |
Jun
(14) |
Jul
(6) |
Aug
(9) |
Sep
(101) |
Oct
(59) |
Nov
(142) |
Dec
(34) |
2004 |
Jan
(107) |
Feb
(164) |
Mar
(181) |
Apr
(96) |
May
(81) |
Jun
(71) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Etienne M. G. <eti...@uq...> - 2002-08-21 15:26:11
|
Hi Grzegorz, It would be interesting that you also generate method, instruction and exception traces as I have suggested to Mark, with the 1.0.3 version (with or without the xxx_Runtime.c patch). I'm really intrigued by the fact that 1.0.3 does not work for you, but 1.0.1 does. Maybe I should investigate using "cvs diff"... I'll give this a *brief* look. Etienne On Tue, Aug 20, 2002 at 11:53:14PM +0200, Grzegorz Prokopski wrote: > W li?cie z wto, 20-08-2002, godz. 23:30, Mark Wielaard pisze: > > Hi, > > > > On Tue, 2002-08-20 at 21:10, Grzegorz Prokopski wrote: > > > W li?cie z wto, 20-08-2002, godz. 20:55, Mark Wielaard pisze: > > > > I am going to try to update to the CVS version and try again. > > > If it fails - try 1.0.1 and report the result please. > > Then I downloaded the 1.0.1 versions: > > sablevm-1.0.1.tar.gz, sablevm-class-library-1.0.1.tar.gz and > > sablevm-native-library-1.0.1.tar.gz. > > Unpacked sablevm-1.0.1.tar.gz, unpacked the other two archives inside > > the sablevm-1.0.1 directory and replaced the system.h, system.c and > > jni_system_specific.h files with the patched CVS versions. This produced > > a binary that got a little bit further as can be seen in the attached > > output file but gives a java/lang/ExceptionInInitializerError at the > > end. > yes, but it got much further it seems. > > > I hope someone else will get better results. I will probably not have > > more time to play with this stuff before the weekend. If you have > > specific things you want me to try out please let me know, but I won't > > have time to debug this on my own right now. > I'd happily try it myself, but unfortunatelly debian machines admins > still haven't installed needed packages on the only PowerPC that is > freely available to debian developers. > [I don't have access to any other PowerPC machine] > > Idea: > The problem may be because the assemmbler part may not be working like > it should. If that's the case - please disable assember code for > a moment and try that "plain C" version of "test&swap" function (which > should never ever be used for real ;) > > Please pass --enable-debugging-features option to configure, so that > we knew you're using most "safe" settings. > > That's very simple test. > I am curious if that makes any difference and if results are always > the same for every run. > > Regards > > GBP > > > > > > ------------------------------------------------------- > This sf.net email is sponsored by: OSDN - Tired of that same old > cell phone? Get a new here for FREE! > https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390 > _______________________________________________ > Sablevm-developer mailing list > Sab...@li... > https://lists.sourceforge.net/lists/listinfo/sablevm-developer -- Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: Etienne M. G. <eti...@uq...> - 2002-08-21 15:20:28
|
On Wed, Aug 21, 2002 at 09:25:08AM +0200, Mark Wielaard wrote: > I think the assembler is OK. I found a different implementation in > libgcj (which is similar but a little but more clever by using xor to > use just one register where I use one for tmp and result. And John > Leuner said he used the same assembler code for Kissme on powerpc. > But I have changed it to just the plain C version of the code for now. You can probably simply revert to the assembly version; the CAS operation is unlikely to cause important side effects in single threaded code, other than causing an IllegalMonitorStateException, if the code does not assing the right value in the object header (*pword). > I am using the debug build from build-many: > > ./configure \ > --prefix=$LOCATION \ > --program-suffix=-debug \ > --libdir=$LOCATION/lib/sablevm-debug \ > --enable-debugging-features \ > --disable-signals-for-exceptions \ > --with-gc=copying \ > --with-obj-layout=bidirectional \ > --with-threading=switch > Good. > Didn't make a difference :{ > And it always gives the same result (this is with patched 1.0.1). The fist thing we want to do it to locate the problem more precisely, using sablevm-debug. So, here are 3 things to do: 1- Run: $ sablevm-debug -p "sablevm.verbose.methods" HelloWorld 2>&1 | tail -1000 > output-methods.txt 2- Run: $ sablevm-debug -p "sablevm.verbose.methods" -p "sablevm.verbose.instructions" HelloWorld 2>&1 | tail -1000 > output-instructions.txt 3- After doihg 1 and 2 above (not before), modify src/libsablevm/interpreter.c, replacing the "#ifdef COMMENT" at the start of the exception handling code by "#ifndef COMMENT", then rebuild and re-install sablevm-debug. 4- Run: $ sablevm-debug HelloWorld 2>&1 > output-exceptions.txt 5- Send a gzipped version of output-*.txt files to this list, for investigation. 6- Revert back the src/libsablevm/interpreter.c change in 3. 7- Rebuild and reinstall sablevm-debug. Be warned that verbose instruction and method trace options are extremely verbose (due to the important number of executd methods and instructions). This is why the "tail" filter is important... Have fun! Etienne -- Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: Mark W. <ma...@kl...> - 2002-08-21 07:25:57
|
Hi, On Tue, 2002-08-20 at 23:53, Grzegorz Prokopski wrote: > Idea: > The problem may be because the assemmbler part may not be working like > it should. If that's the case - please disable assember code for > a moment and try that "plain C" version of "test&swap" function (which > should never ever be used for real ;) I think the assembler is OK. I found a different implementation in libgcj (which is similar but a little but more clever by using xor to use just one register where I use one for tmp and result. And John Leuner said he used the same assembler code for Kissme on powerpc. But I have changed it to just the plain C version of the code for now. > Please pass --enable-debugging-features option to configure, so that > we knew you're using most "safe" settings. I am using the debug build from build-many: ./configure \ --prefix=$LOCATION \ --program-suffix=-debug \ --libdir=$LOCATION/lib/sablevm-debug \ --enable-debugging-features \ --disable-signals-for-exceptions \ --with-gc=copying \ --with-obj-layout=bidirectional \ --with-threading=switch > That's very simple test. > I am curious if that makes any difference and if results are always > the same for every run. Didn't make a difference :{ And it always gives the same result (this is with patched 1.0.1). Cheers, Mark |
From: Grzegorz P. <gr...@se...> - 2002-08-20 21:52:50
|
W li=B6cie z wto, 20-08-2002, godz. 23:30, Mark Wielaard pisze:=20 > Hi, >=20 > On Tue, 2002-08-20 at 21:10, Grzegorz Prokopski wrote: > > W li=B6cie z wto, 20-08-2002, godz. 20:55, Mark Wielaard pisze:=20 > > > I am going to try to update to the CVS version and try again. > > If it fails - try 1.0.1 and report the result please. > Then I downloaded the 1.0.1 versions: > sablevm-1.0.1.tar.gz, sablevm-class-library-1.0.1.tar.gz and > sablevm-native-library-1.0.1.tar.gz. > Unpacked sablevm-1.0.1.tar.gz, unpacked the other two archives inside > the sablevm-1.0.1 directory and replaced the system.h, system.c and > jni_system_specific.h files with the patched CVS versions. This produced > a binary that got a little bit further as can be seen in the attached > output file but gives a java/lang/ExceptionInInitializerError at the > end. yes, but it got much further it seems. > I hope someone else will get better results. I will probably not have > more time to play with this stuff before the weekend. If you have > specific things you want me to try out please let me know, but I won't > have time to debug this on my own right now. I'd happily try it myself, but unfortunatelly debian machines admins still haven't installed needed packages on the only PowerPC that is freely available to debian developers. [I don't have access to any other PowerPC machine] Idea: The problem may be because the assemmbler part may not be working like it should. If that's the case - please disable assember code for a moment and try that "plain C" version of "test&swap" function (which should never ever be used for real ;) Please pass --enable-debugging-features option to configure, so that we knew you're using most "safe" settings. That's very simple test. I am curious if that makes any difference and if results are always the same for every run. Regards GBP |
From: Mark W. <ma...@kl...> - 2002-08-20 21:31:33
|
Hi, On Tue, 2002-08-20 at 21:10, Grzegorz Prokopski wrote: > W li=B6cie z wto, 20-08-2002, godz. 20:55, Mark Wielaard pisze:=20 > > I am going to try to update to the CVS version and try again. > If it fails - try 1.0.1 and report the result please. Here are some datapoints. I didn't have time to do extensive testing or debugging to know what is really happening. The reports below are with the sablevm-debug version. I commented out all other flavors in the build-many script. First I updated the CVS version and extracted the sablevm-class-library-1.0.3.tar.gz and sablevm-native-library-1.0.3.tar.gz files in that directory. Patched the files as attached and disabled all other builds except the debug one in the build-many script. Then I did a ./build-many /usr/local/sablevm. This produced the exact same result as reported before. (Note that it is slightly different from the output that you posted but almost the same.) Then I downloaded the 1.0.1 versions: sablevm-1.0.1.tar.gz, sablevm-class-library-1.0.1.tar.gz and sablevm-native-library-1.0.1.tar.gz. Unpacked sablevm-1.0.1.tar.gz, unpacked the other two archives inside the sablevm-1.0.1 directory and replaced the system.h, system.c and jni_system_specific.h files with the patched CVS versions. This produced a binary that got a little bit further as can be seen in the attached output file but gives a java/lang/ExceptionInInitializerError at the end. I hope someone else will get better results. I will probably not have more time to play with this stuff before the weekend. If you have specific things you want me to try out please let me know, but I won't have time to debug this on my own right now. Good night, Mark |
From: Archie C. <ar...@de...> - 2002-08-20 21:00:43
|
John Leuner writes: > Have you built that library? > > You need to build classpath with: > > configure --enable-gtk-peers According to sablevm-native-library-1.0.3/classpath-docs/INSTALL, it's "--enable-gtk-peer" and that's the default; you must specify "--disable-gtk-peer" to disable it. In any case, it appears to me that ./configure completely ignores this flag anyway. -Archie __________________________________________________________________________ Archie Cobbs * Packet Design * http://www.packetdesign.com |
From: Grzegorz P. <ga...@de...> - 2002-08-20 19:10:11
|
W li=B6cie z wto, 20-08-2002, godz. 20:55, Mark Wielaard pisze:=20 > Hi, >=20 > On Tue, 2002-08-20 at 16:41, Grzegorz Prokopski wrote: > > I updated debian packages to 1.0.3 version and now I am unable > > to run even HelloWorld.jar. > >=20 > > Short output is this: > > [...] >=20 > Interesting. This is the exact same output I reported in my previous > mail <http://www.geocrawler.com/lists/3/SourceForge/4435/0/9343566/>. > But that was based on a 1.0.2 system. Yes, I saw the similiarity. > Seems we are doing the same thing wrong. Which might mean that the > powerpc port is further along then I thought. No, why. I'd say it's right there, very near. Just fetch 1.0.1 version and add your PowerPC stuff to it! > I am going to try to update to the CVS version and try again. If it fails - try 1.0.1 and report the result please. Regards GBP |
From: Mark W. <ma...@kl...> - 2002-08-20 18:56:00
|
Hi, On Tue, 2002-08-20 at 16:41, Grzegorz Prokopski wrote: > I updated debian packages to 1.0.3 version and now I am unable > to run even HelloWorld.jar. > > Short output is this: > [...] Interesting. This is the exact same output I reported in my previous mail <http://www.geocrawler.com/lists/3/SourceForge/4435/0/9343566/>. But that was based on a 1.0.2 system. Seems we are doing the same thing wrong. Which might mean that the powerpc port is further along then I thought. I am going to try to update to the CVS version and try again. Cheers, Mark |
From: Grzegorz P. <gr...@se...> - 2002-08-20 18:49:14
|
W li=B6cie z wto, 20-08-2002, godz. 20:11, Etienne M. Gagnon pisze:=20 > On Tue, Aug 20, 2002 at 07:21:32PM +0200, Grzegorz Prokopski wrote: > > > About the GTK stuff: I'll look at it when I'm finished. > > Great! > > but wait a minute - so... it never worked? were you testing peers in > > any way? >=20 > Never tested the stuff (upstream Classpath never claimed stuff to be > really working, anyway); Really? But... http://people.debian.org/~jewel/kissme/shots/kissme_awt.png in=20 http://mail.gnu.org/pipermail/classpath/2002-July/002444.html seems to prove sth. different. I wanted to see only that. > was out of Ph.D. scope. ;-) Aahh - that's another story Sidethought: but who's scope is that in then? GBP |
From: Etienne M. G. <eti...@uq...> - 2002-08-20 18:24:25
|
On Tue, Aug 20, 2002 at 07:21:32PM +0200, Grzegorz Prokopski wrote: > > About the GTK stuff: I'll look at it when I'm finished. > Great! > but wait a minute - so... it never worked? were you testing peers in > any way? Never tested the stuff (upstream Classpath never claimed stuff to be really working, anyway); was out of Ph.D. scope. ;-) Etienne -- Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: Grzegorz P. <gr...@se...> - 2002-08-20 18:24:22
|
W li=B6cie z wto, 20-08-2002, godz. 20:04, Etienne M. Gagnon pisze:=20 > On Tue, Aug 20, 2002 at 07:21:32PM +0200, Grzegorz Prokopski wrote: > > They are (of course) at http://debian.sente.pl/debian - just take the > > *.diff.gz files - there's everything in them. > > or take also *.dsc and *.orig.tar.gz files, then dpkg-source -x them. > > then go into created directories one by one and issue > > dpkg-buildpackage -rfakeroot > > it is (almost) the same as: > > fakeroot ./debian/rules binary > > (rules is just a Makefile) > I'm sure you do understand I don't have time to learn about debian > packaging scripts (and so on) at this point, but I'm sure others will > help. :-) Yes I do - I was only testing you ;-) with hope, that you may already know the "internals" a little bit more. But I think - another irc session (an hour or maybe two) and you'll be ready for it. Seriously - I don't have any other non-potato machine but the one I use. So if anyone could try those 1.0.3 packages - debs and maybe even compile them from sources - I'd be thankful. > > BTW: how's your work going? > Progressing. :-) I hope you finish it soon so that we could work on SableVM (together) a bit more. > That's all for today! Self-discipline is Good Thing :-] Regards GBP |
From: Etienne M. G. <eti...@uq...> - 2002-08-20 18:08:48
|
On Tue, Aug 20, 2002 at 07:21:32PM +0200, Grzegorz Prokopski wrote: > They are (of course) at http://debian.sente.pl/debian - just take the > *.diff.gz files - there's everything in them. > or take also *.dsc and *.orig.tar.gz files, then dpkg-source -x them. > then go into created directories one by one and issue > dpkg-buildpackage -rfakeroot > it is (almost) the same as: > fakeroot ./debian/rules binary > (rules is just a Makefile) I'm sure you do understand I don't have time to learn about debian packaging scripts (and so on) at this point, but I'm sure others will help. :-) > BTW: how's your work going? Progressing. :-) That's all for today! Etienne -- Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: Grzegorz P. <gr...@se...> - 2002-08-20 17:20:53
|
W li=B6cie z wto, 20-08-2002, godz. 18:36, Etienne M. Gagnon pisze:=20 > Hi Grzegorz, >=20 > On Tue, Aug 20, 2002 at 04:41:55PM +0200, Grzegorz Prokopski wrote: > > I updated debian packages to 1.0.3 version and now I am unable > > to run even HelloWorld.jar. > >... > > it is not a problem with non-existant /usr/lib/sablevm/classes-1.0.3. > >...=20 > > For now I reverted to 1.0.1. > > b) should be resolved rather quickly (not in next year) >=20 > I uninstalled all sablevm versions from my machine, restartd my shell > (to clear the PATH search path), downloaded the three *-1.0.3.tar.gz > packages, extracted the "build" script, and ran: Ups... that's really strange. > So, you have probably missed one of the installation steps. I suggest > you uninstall all previous sablevm versions from your machine, and > restart installation from pristine packages. hmm... strange, because I don't "just build from source", but I builded debs - the same way as before - for 1.0.1 > As you probably use an unusual build procedure for building the deb > package, please send your scripts so that more eyes look at it. They are (of course) at http://debian.sente.pl/debian - just take the *.diff.gz files - there's everything in them. or take also *.dsc and *.orig.tar.gz files, then dpkg-source -x them. then go into created directories one by one and issue dpkg-buildpackage -rfakeroot it is (almost) the same as: fakeroot ./debian/rules binary (rules is just a Makefile) There must have sth. changed or it's some strange side effect. My "deb update" means patching new source with old debianizing diff, so I didn't change anything really. > Or, maybe there's a strange system-specific bug in sablevm? I've ran > my tests on Debian sid (with jikes frozen to "testing"'s 1.15 > version). I have 1.15-2 jikes installed and "on hold". > About the GTK stuff: I'll look at it when I'm finished. Great! but wait a minute - so... it never worked? were you testing peers in any way? BTW: how's your work going? > About the Bug tracking messages: You can subscribe to the sablevm-bugs I will. GBP |
From: Etienne M. G. <eti...@uq...> - 2002-08-20 16:49:42
|
Hi Grzegorz, On Tue, Aug 20, 2002 at 04:41:55PM +0200, Grzegorz Prokopski wrote: > I updated debian packages to 1.0.3 version and now I am unable > to run even HelloWorld.jar. >... > it is not a problem with non-existant /usr/lib/sablevm/classes-1.0.3. >... > For now I reverted to 1.0.1. > b) should be resolved rather quickly (not in next year) I uninstalled all sablevm versions from my machine, restartd my shell (to clear the PATH search path), downloaded the three *-1.0.3.tar.gz packages, extracted the "build" script, and ran: $ build /home/egagnon/work # with no trailing "/" ... $ type sablevm /home/egagnon/work/bin/sablevm $ sablevm -Yc HelloWorld.jar HelloWorld Hello World! $ So, you have probably missed one of the installation steps. I suggest you uninstall all previous sablevm versions from your machine, and restart installation from pristine packages. As you probably use an unusual build procedure for building the deb package, please send your scripts so that more eyes look at it. Or, maybe there's a strange system-specific bug in sablevm? I've ran my tests on Debian sid (with jikes frozen to "testing"'s 1.15 version). ------------ About the GTK stuff: I'll look at it when I'm finished. ------------ About the Bug tracking messages: You can subscribe to the sablevm-bugs ML. Keeping separate MLs allows one to chose what to receive or not, in digest format or not. ------------ Have fun! Etienne -- Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: John L. <je...@pi...> - 2002-08-20 16:28:49
|
On Tue, 2002-08-20 at 17:16, Grzegorz Prokopski wrote: > W li=B6cie z wto, 20-08-2002, godz. 17:46, John Leuner pisze:=20 > > Have you built that library? > > You need to build classpath with: > > configure --enable-gtk-peers > I wonder if you _really_ have read my mail till the end. :-/ :-) I skimmed over the last part. > I rebuilded sablevm-nativelib-1.0.1 adding --enable-gtk-peers > explicitely to ./configure (if it's not "default" there for sablevm?). > I didn't notoice any change. >=20 > I'd be grateful if you try to help me :-) once again >=20 > Best regards >=20 > Grzegorz B. Prokopski >=20 > PS: Does this work for you with sablevm? I have used the GTK peers with kissme.=20 I assume the other Classpath dynamically-loaded native code works with sablevm, so it's probably not a JNI issue. I haven't got TestAWT to work yet. (It loads and displays) but doesn't work (with kissme). John Leuner =20 > Here's the error: > > > greg@greg:~/deb-pkgs/sablevm/testing$ /usr/bin/sablevm -Y TestAWT > > > INSET:java.awt.Insets(top=3D0,bottom=3D0,left=3D0,right=3D0) > > > loading gtkpeer > > > java.lang.UnsatisfiedLinkError: Could not load library > > > /usr/lib/sablevm/libgnu-java-awt-peer-gtk-1.0.1.so at >=20 > And here I show you part of the content of /usr/lib/sablevm > > > greg@greg:~/deb-pkgs/sablevm/testing$ ls -al > > > /usr/lib/sablevm/libgnu-java-awt-peer-gtk* =20 > > > -rw-r--r-- 1 root root 71972 2002-08-13 13:42 > > > /usr/lib/sablevm/libgnu-java-awt-peer-gtk-1.0.1.so > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > where you can easily find the library > > > -rw-r--r-- 1 root root 810 2002-08-13 13:42 > > > /usr/lib/sablevm/libgnu-java-awt-peer-gtk.la > > > lrwxrwxrwx 1 root root 33 2002-08-20 15:59 > > > /usr/lib/sablevm/libgnu-java-awt-peer-gtk.so -> > > > libgnu-java-awt-peer-gtk-1.0.1.so >=20 |
From: Grzegorz P. <ga...@de...> - 2002-08-20 16:15:25
|
W li=B6cie z wto, 20-08-2002, godz. 17:46, John Leuner pisze:=20 > Have you built that library? > You need to build classpath with: > configure --enable-gtk-peers I wonder if you _really_ have read my mail till the end. :-/ Here's the error: > > greg@greg:~/deb-pkgs/sablevm/testing$ /usr/bin/sablevm -Y TestAWT > > INSET:java.awt.Insets(top=3D0,bottom=3D0,left=3D0,right=3D0) > > loading gtkpeer > > java.lang.UnsatisfiedLinkError: Could not load library > > /usr/lib/sablevm/libgnu-java-awt-peer-gtk-1.0.1.so at And here I show you part of the content of /usr/lib/sablevm > > greg@greg:~/deb-pkgs/sablevm/testing$ ls -al > > /usr/lib/sablevm/libgnu-java-awt-peer-gtk* =20 > > -rw-r--r-- 1 root root 71972 2002-08-13 13:42 > > /usr/lib/sablevm/libgnu-java-awt-peer-gtk-1.0.1.so ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ where you can easily find the library > > -rw-r--r-- 1 root root 810 2002-08-13 13:42 > > /usr/lib/sablevm/libgnu-java-awt-peer-gtk.la > > lrwxrwxrwx 1 root root 33 2002-08-20 15:59 > > /usr/lib/sablevm/libgnu-java-awt-peer-gtk.so -> > > libgnu-java-awt-peer-gtk-1.0.1.so I rebuilded sablevm-nativelib-1.0.1 adding --enable-gtk-peers explicitely to ./configure (if it's not "default" there for sablevm?). I didn't notoice any change. I'd be grateful if you try to help me :-) once again Best regards Grzegorz B. Prokopski PS: Does this work for you with sablevm? |
From: John L. <je...@pi...> - 2002-08-20 15:50:08
|
Have you built that library? You need to build classpath with: configure --enable-gtk-peers John On Tue, 2002-08-20 at 15:53, Grzegorz Prokopski wrote: > Hi! > > In the course of testing debian packages I fetched TestAWT.java from > GNU Classpath CVS, compiled it with jikes and ran. > > greg@greg:~/deb-pkgs/sablevm/testing$ /usr/bin/sablevm -Y TestAWT > INSET:java.awt.Insets(top=0,bottom=0,left=0,right=0) > loading gtkpeer > java.lang.UnsatisfiedLinkError: Could not load library > /usr/lib/sablevm/libgnu-java-awt-peer-gtk-1.0.1.so at > java.lang.Runtime.load(Runtime.java:633) > at java.lang.Runtime.loadLibrary(Runtime.java:656) > at java.lang.System.loadLibrary(System.java:620) > at gnu.java.awt.peer.gtk.GtkToolkit.static{}(GtkToolkit.java:74) > at java.lang.Class.step8(Class.java) > at java.lang.Class.initialize(Class.java:200) > at java.lang.VMClassLoader.initializeClass(VMClassLoader.java) > at java.lang.Class.forName(Class.java:350) > at java.lang.Class.forName(Class.java:268) > at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:406) > at java.awt.MenuComponent.static{}(MenuComponent.java:84) > at java.lang.Class.step8(Class.java) > at java.lang.Class.initialize(Class.java:200) > at java.lang.Class.step7(Class.java) > at java.lang.Class.initialize(Class.java:184) > at MainWindow.MainWindow(TestAWT.java:127) > at TestAWT.main(TestAWT.java:53) > at java.lang.VirtualMachine.invokeMain(VirtualMachine.java) > at java.lang.VirtualMachine.main(VirtualMachine.java:88) > [it hangs here] > > greg@greg:~/deb-pkgs/sablevm/testing$ ls -al > /usr/lib/sablevm/libgnu-java-awt-peer-gtk* > -rw-r--r-- 1 root root 71972 2002-08-13 13:42 > /usr/lib/sablevm/libgnu-java-awt-peer-gtk-1.0.1.so > -rw-r--r-- 1 root root 810 2002-08-13 13:42 > /usr/lib/sablevm/libgnu-java-awt-peer-gtk.la > lrwxrwxrwx 1 root root 33 2002-08-20 15:59 > /usr/lib/sablevm/libgnu-java-awt-peer-gtk.so -> > libgnu-java-awt-peer-gtk-1.0.1.so > > Again - this can be easily my packaging failure - that's why I ask > for help on the ML and I don't put it into BTS. > > Any ideas or hints? > > Grzegorz B. Prokopski > > PS: It would be nice to have sablevm-dev list subscribed to all BTS > submissions. > > |
From: Grzegorz P. <ga...@de...> - 2002-08-20 14:52:54
|
Hi! In the course of testing debian packages I fetched TestAWT.java from GNU Classpath CVS, compiled it with jikes and ran. greg@greg:~/deb-pkgs/sablevm/testing$ /usr/bin/sablevm -Y TestAWT INSET:java.awt.Insets(top=3D0,bottom=3D0,left=3D0,right=3D0) loading gtkpeer java.lang.UnsatisfiedLinkError: Could not load library /usr/lib/sablevm/libgnu-java-awt-peer-gtk-1.0.1.so at java.lang.Runtime.load(Runtime.java:633) at java.lang.Runtime.loadLibrary(Runtime.java:656) at java.lang.System.loadLibrary(System.java:620) at gnu.java.awt.peer.gtk.GtkToolkit.static{}(GtkToolkit.java:74) at java.lang.Class.step8(Class.java) at java.lang.Class.initialize(Class.java:200) at java.lang.VMClassLoader.initializeClass(VMClassLoader.java) at java.lang.Class.forName(Class.java:350) at java.lang.Class.forName(Class.java:268) at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:406) at java.awt.MenuComponent.static{}(MenuComponent.java:84) at java.lang.Class.step8(Class.java) at java.lang.Class.initialize(Class.java:200) at java.lang.Class.step7(Class.java) at java.lang.Class.initialize(Class.java:184) at MainWindow.MainWindow(TestAWT.java:127) at TestAWT.main(TestAWT.java:53) at java.lang.VirtualMachine.invokeMain(VirtualMachine.java) at java.lang.VirtualMachine.main(VirtualMachine.java:88) [it hangs here] greg@greg:~/deb-pkgs/sablevm/testing$ ls -al /usr/lib/sablevm/libgnu-java-awt-peer-gtk* =20 -rw-r--r-- 1 root root 71972 2002-08-13 13:42 /usr/lib/sablevm/libgnu-java-awt-peer-gtk-1.0.1.so -rw-r--r-- 1 root root 810 2002-08-13 13:42 /usr/lib/sablevm/libgnu-java-awt-peer-gtk.la lrwxrwxrwx 1 root root 33 2002-08-20 15:59 /usr/lib/sablevm/libgnu-java-awt-peer-gtk.so -> libgnu-java-awt-peer-gtk-1.0.1.so Again - this can be easily my packaging failure - that's why I ask for help on the ML and I don't put it into BTS. Any ideas or hints? Grzegorz B. Prokopski PS: It would be nice to have sablevm-dev list subscribed to all BTS submissions. |
From: Grzegorz P. <ga...@de...> - 2002-08-20 14:41:07
|
Hi! I updated debian packages to 1.0.3 version and now I am unable to run even HelloWorld.jar. Short output is this: greg@greg:~$ java -jar HelloWorld.jar=20 /usr/bin/sablevm -Y --classpath=3DHelloWorld.jar: HelloWorld java/lang/UnsatisfiedLinkError Longer: greg:/home/greg# java -v -jar ./HelloWorld.jar=20 /usr/bin/sablevm -Y --classpath=3D./HelloWorld.jar: -v HelloWorld [verbose jni: JNI_CreateJavaVM] [verbose gc: allocating initial heap (16777216 bytes)] [verbose class: loading "java/lang/Object"] [verbose class: loading "java/io/Serializable"] [verbose class: loading "java/lang/Cloneable"] [verbose class: creating "[B"] [verbose class: loading "java/lang/Class"] [verbose class: loading "java/lang/StackTraceElement"] [verbose class: loading "java/lang/reflect/Constructor"] [verbose class: loading "java/lang/reflect/AccessibleObject"] [verbose class: loading "java/lang/reflect/Member"] [verbose class: loading "java/lang/reflect/Field"] [verbose class: loading "java/lang/reflect/Method"] [verbose class: loading "java/lang/StringCreator"] [verbose class: loading "java/lang/VirtualMachine"] [verbose class: creating "[Z"] ................. [verbose class: loading "java/util/AbstractMap$BasicMapEntry"] [verbose class: loading "java/util/Map$Entry"] [verbose class: creating "[Ljava/util/Hashtable$HashEntry;"] [verbose class: loading "java/util/StringTokenizer"] [verbose class: loading "java/util/Enumeration"] [verbose class: creating "[Ljava/lang/String;"] [verbose class: loading "java/lang/StringBuffer"] [verbose class: loading "java/lang/VMSecurityManager"] java/lang/UnsatisfiedLinkError [verbose gc: total gc time =3D 0 sec 0 usec] I tried Archie's patch for FreeBSD but it didn't help. it is not a problem with non-existant /usr/lib/sablevm/classes-1.0.3. For now I reverted to 1.0.1. Grzegorz B. Prokopski PS: I decided not to file a bug in BTS, as this: a) can be some packaging/system/my fault problem type b) should be resolved rather quickly (not in next year) c) I am sure I will remember about it ;-) |
From: Grzegorz P. <ga...@de...> - 2002-08-20 00:21:10
|
W li=B6cie z nie, 18-08-2002, godz. 02:02, Mark Wielaard pisze:=20 > OK, after spending a couple of hours learning powerpc assembly and the > gcc asm constraints I think that I have something that might be what is > needed for powerpc. Unfortunately it doesn't work correctly yet, but > looking at the output of --verbose I get the impression that we are > almost there. Here are the last 15 lines for sablevm --verbose Hello: It looks like PowerPC is the first big-endian system SableVM is being compiled on. We can suspect that it is causing some problems. Don't know exactly how's that about PowerPC accepting both big and low-endian data[1] in Linux. I checked data sizes for types used in jni_system_specific.h - they _are_ the same as for ia32 and alpha, so no mistake there. page size _is_ 4 kb according to [2]. about your assembler code - if you're not sure if it works: 1) ask at some devel/port list, for ex. debian-powerpc@l.d.o. 2) you could also _for testing only_ disable assembler stuff and put "C" version there. If it sometimes goes beyond the point it is now - then it's sth. wrong with this assembler part. Keep in mind that if you do that - SableVM will probably randomly break in different places or sth. I have requested installation of build-depends of SableVM on PowerPC(unstable), ia64(woody) and hppa(woody) debian developer's machines. PowerPC - because you started it and I'd like to test it too. ia64 - because it's crucial to get _this_ arch working - we all will be using it (at some point in the future) hppa - because it's already using gcc 3.x - and there can be some interesting differences to work out (may be), however I don't expect too much of them. Anyway - transition to gcc 3.2 for all debian arches will start soon. I'll send a status report as soon as I have sth interesting ;-) That's really great you started the PowerPC port. Keep up with it! Regards Grzegorz B. Prokopski [1] http://developer.apple.com/techpubs/hardware/DeviceManagers/pci_srvcs/pci_c= ards_drivers/PCI_BOOK.24e.html [2] http://www.cwi.nl/~manegold/Calibrator/DB/DB.shtml |
From: Archie C. <ar...@de...> - 2002-08-19 20:30:04
|
Etienne M. Gagnon writes: > > Maybe I'm just being stupid, but how do you file a new bug on the > > SableVM bug site on SourceForge? It seems like it's read-only... > > There should be a "submit new" link somewhere on the bug tracker page. > If you get to it, please file a bug report about the absence of a > direct link for bug submission on the sablevm web page. Yep, found it - I was just being stupid :-) > I'll investigate this after my thesis. Hint: Have you checked the > generated "line number table" using "javap -c -l"? (Probably, but just > checking...) No, but it was compiled with jikes.. and kaffe gets the line number right when running the same class :-) > Also, I've checked in the xxx_Runtime.c patch into CVS, and added your > name in AUTHORS; I assume you agree to license your patch under the > LGPL, right? :-) Yes. FYI, when you (or anyone) has more time, an interesting thing to try is to run the kaffe regression suite using 'sablevm' as the java VM instead of kaffe (just edit tests/regression/TestScript). There are a lot of differences, many of which point to unimplemented features in SableVM but at least a few are bugs. Also, the kaffe regression suite has a lot of tests for weird corner cases having to do with threads, classloaders, etc. Presumably you don't want bug reports for all the unimplemented stuff.. Thanks, -Archie __________________________________________________________________________ Archie Cobbs * Packet Design * http://www.packetdesign.com |
From: Etienne M. G. <eti...@uq...> - 2002-08-19 19:46:58
|
On Mon, Aug 19, 2002 at 10:24:39AM -0700, Archie Cobbs wrote: > Maybe I'm just being stupid, but how do you file a new bug on the > SableVM bug site on SourceForge? It seems like it's read-only... There should be a "submit new" link somewhere on the bug tracker page. If you get to it, please file a bug report about the absence of a direct link for bug submission on the sablevm web page. > Anyway, here's the bug: I'll investigate this after my thesis. Hint: Have you checked the generated "line number table" using "javap -c -l"? (Probably, but just checking...) Also, I've checked in the xxx_Runtime.c patch into CVS, and added your name in AUTHORS; I assume you agree to license your patch under the LGPL, right? :-) The CVS code also has the _svmf_iflush() calls in place, in case somebody wants to experiment inline-threading on processors with distinct instr. and data caches. To build the CVS code, you need to run the following: $ aclocal ; libtoolize ; autoconf ; autoheader ; automake --foreign -a using the latest GNU auto tools. Have fun! Etienne -- Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: Archie C. <ar...@de...> - 2002-08-19 17:30:12
|
Maybe I'm just being stupid, but how do you file a new bug on the SableVM bug site on SourceForge? It seems like it's read-only... Anyway, here's the bug: class LineNum { public static void main (String args[]) { try { // blank line // blank line // blank line ((Object)null).hashCode(); } catch (Exception c) { c.printStackTrace(); } } } This program prints: $ sablevm LineNum java.lang.NullPointerException at LineNum.main(LineNum.java:3) at java.lang.VirtualMachine.invokeMain(VirtualMachine.java) at java.lang.VirtualMachine.main(VirtualMachine.java:88) Notice the "LineNum.java:3" -- that should be "LineNum.java:7" instead. -Archie __________________________________________________________________________ Archie Cobbs * Packet Design * http://www.packetdesign.com |
From: Archie C. <ar...@de...> - 2002-08-19 05:15:04
|
Etienne M. Gagnon writes: > I've compiled the DoublePrint class, and ran it with sablevm (1.0.3) > without any problem. It prints "HelloWorld". Try the sablevm-debug > version. (I've attached the .class file i've compiled [I had lost > yours]). Thanks Etienne- I found the problem. There is a simple bug in the keeping of the linked list of native libraries associated with a ClassLoader. The patch below fixes it for me. I still have no idea how this can work on Linux but not FreeBSD... Cheers, -Archie __________________________________________________________________________ Archie Cobbs * Packet Design * http://www.packetdesign.com --- sablevm-1.0.3/src/libsablevm/java_lang_Runtime.c Tue Aug 6 03:27:22 2002 +++ sablevm-1.0.3/src/libsablevm/java_lang_Runtime.c Sun Aug 18 21:56:25 2002 @@ -254,6 +254,9 @@ (*(class_loader_info->native_library_list_tail))->name = filename; (*(class_loader_info->native_library_list_tail))->handle = handle; + class_loader_info->native_library_list_tail = + &(*(class_loader_info->native_library_list_tail))->next; + result = 1; end: |
From: Etienne M. G. <eti...@uq...> - 2002-08-18 18:31:37
|
Hi all! I'm taking a couple of minutes (my break of the day), to write a few words. --- I've release 1.0.3. The main difference is that I fixed a configure bug. My test for detecting i*86-*-gnu was flawed and always failed. This means that on x86/GNU-Linux, the slower direct-threaded engine was selected for the default build. I added the missing configure macro call. Note to porters: If you are porting to a system with a unified dat/instruction cache (x86 based, for example), you'll want to use the inline-threaded engine. Search for i*86-*-gnu in configure.ac and add your architecture to the test. --- First, a general note. In order to test SableVM on a new platform, and to be able to trace easily though it using a debugger like gdb, or better DDD (Data Display Debugger, a wonderful gdb X based front-end), you sould use the --enable-debugging-features. If you do not want all the assertion stuff (which is a good idea to keep around in the beginning), you can use --with=threading=switch. You can get both versions living together (and more) using the build-many script. In simpler terms: $ ./build-many /home/myself/sablevm-binary Then, you simply debug the "sablevm-debug" binary, which automatically links with a "gcc -O0" version of the native library. Of course, you can simply look inside the build-many script, and extract the commands to build only the components you need. Do not try to debug using the inline-threaded engine; you won't be able to step through most bytecode instructions (as they'll be inlined). --- It is important to test code ported to new platform with a version of sablevm that DO NOT use signals for detecting exceptions. The "sablevm-debug" and "sablevm-nosig" both qualify for such tests. This is because signals might wronfully catch an otherwize erroneous condition (e.g. segfault) and transform it into a NullPointerException. In some cases, the application will catch the (erroneous) exception and then have an unexpected behavior. This might well explain the failure on powerpc... --- To Mark Wielaard, I've quickly looked at your CAS (comp. and sw.) implementation. I do not know powerpc assembly, but your code seems relatively ok at fist sight. -- To Archie Cobbs I've compiled the DoublePrint class, and ran it with sablevm (1.0.3) without any problem. It prints "HelloWorld". Try the sablevm-debug version. (I've attached the .class file i've compiled [I had lost yours]). In case you wanted to see a trace of ALL exceptions thrown inluding ones that ARE catched (except class loading related ones, which are usually normal due to class loader delegation), replace the "#ifdef COMMENT" at the beginning of the exception handling code in src/libsablevm/interpreter.c by "#ifndef COMMENT". Do not forget to revert the code once you're done debugging. --- That's all for today. Have fun! Etienne -- Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |