Thread: [Jamvm-general] JSR 308: symbol JVM_GetClassTypeAnnotations not defined for JamVM + OpenJDK 8
Brought to you by:
rlougher
From: Xerxes R. <xe...@za...> - 2013-03-28 14:05:51
|
Hi Robert First big thank you! I have been browsing through the list of changes to get JSR 292 working; http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/log/ well done! Today i have tested to use the new JSR 292 fixed JamVM in combination with the latest IcedTea 8 build-system and OpenJDK 8 b80. Using this initial icedtea 8 patch: http://old.nabble.com/file/p35228844/icedtea8-jamvm.patch icedtea8-jamvm.patch ... I was about to celebrate and pop up the champagne or at least drink a large cup of ice tea after a successful build of OpenJDK 8 using JamVM + JSR 292 celebrate... but instead I discovered this: ./java -verbose:jni -version [Failed to open library /home/xranby/icedtea-8-b80/openjdk.build/images/j2sdk-image/jre/lib/i386/libjava.so: /home/xranby/icedtea-8-b80/openjdk.build/images/j2sdk-image/jre/lib/i386/libjava.so: symbol JVM_GetClassTypeAnnotations, version SUNWprivate_1.1 not defined in file libjvm.so with link time reference] Error initialising natives: couldn't open libjava.so: use -verbose:jni for more information Error initialising VM (initialiseNatives) Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. Apparently: OpenJDK 8 have quite recently merged in the new JSR 308 and this require some new functionality inside the libjvm.so JSR 308: Introduced Type Annotations http://openjdk.java.net/projects/type-annotations/ http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-December/007747.html http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8004823 http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/35431a769282 Cheers Xerxes -- View this message in context: http://old.nabble.com/JSR-308%3A-symbol-JVM_GetClassTypeAnnotations-not-defined-for-JamVM-%2B-OpenJDK-8-tp35228844p35228844.html Sent from the JamVM mailing list archive at Nabble.com. |
From: Andrew H. <gnu...@re...> - 2013-03-28 14:34:31
|
----- Original Message ----- > > Hi Robert > > First big thank you! I have been browsing through the list of changes > to get > JSR 292 working; > http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/log/ > well done! > > Today i have tested to use the new JSR 292 fixed JamVM in combination > with > the latest IcedTea 8 build-system and OpenJDK 8 b80. Using this > initial > icedtea 8 patch: > http://old.nabble.com/file/p35228844/icedtea8-jamvm.patch > icedtea8-jamvm.patch ... This patch looks fine and can be committed for me. Thanks for testing JamVM on IcedTea 3.x! :-D > I was about to celebrate and pop up the champagne or at least drink a > large > cup of ice tea after a successful build of OpenJDK 8 using JamVM + > JSR 292 > celebrate... but instead I discovered this: > > ./java -verbose:jni -version > [Failed to open library > /home/xranby/icedtea-8-b80/openjdk.build/images/j2sdk-image/jre/lib/i386/libjava.so: > /home/xranby/icedtea-8-b80/openjdk.build/images/j2sdk-image/jre/lib/i386/libjava.so: > symbol JVM_GetClassTypeAnnotations, version SUNWprivate_1.1 not > defined in > file libjvm.so with link time reference] > Error initialising natives: couldn't open libjava.so: use > -verbose:jni for > more information > Error initialising VM (initialiseNatives) > Error: Could not create the Java Virtual Machine. > Error: A fatal exception has occurred. Program will exit. > > Apparently: OpenJDK 8 have quite recently merged in the new JSR 308 > and this > require some new functionality inside the libjvm.so > JSR 308: Introduced Type Annotations > http://openjdk.java.net/projects/type-annotations/ > http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-December/007747.html > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8004823 > http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/35431a769282 > This doesn't look too bad for Rob to add. It's just more classfile metadata like the ones for the existing annotations. Hopefully, GNU Classpath will be able to use it eventually too. > Cheers > Xerxes > -- > View this message in context: > http://old.nabble.com/JSR-308%3A-symbol-JVM_GetClassTypeAnnotations-not-defined-for-JamVM-%2B-OpenJDK-8-tp35228844p35228844.html > Sent from the JamVM mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Own the Future-Intel® Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. > Compete for recognition, cash, and the chance to get your game > on Steam. $5K grand prize plus 10 genre and skill prizes. > Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d > _______________________________________________ > Jamvm-general mailing list > Jam...@li... > https://lists.sourceforge.net/lists/listinfo/jamvm-general > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 |
From: Robert L. <rob...@gm...> - 2013-04-02 18:38:37
|
On 28 March 2013 14:34, Andrew Hughes <gnu...@re...> wrote: > This doesn't look too bad for Rob to add. It's just more classfile metadata > like the ones for the existing annotations. Hopefully, GNU Classpath will be > able to use it eventually too. > You're right. It's fairly trivial as in OpenJDK all parsing of the annotation data is done in Java. The VM just needs to attach the bytes somehow to the annotated class, method or field without too much overhead (remembering that most classes have no annotations). Unfortunately how annotations wer stored in JamVM was pretty dreadful, so I've spent the weekend re-working it! Thanks, Rob. omewhere without too much overhead >> Cheers >> Xerxes >> -- >> View this message in context: >> http://old.nabble.com/JSR-308%3A-symbol-JVM_GetClassTypeAnnotations-not-defined-for-JamVM-%2B-OpenJDK-8-tp35228844p35228844.html >> Sent from the JamVM mailing list archive at Nabble.com. >> >> >> ------------------------------------------------------------------------------ >> Own the Future-Intel® Level Up Game Demo Contest 2013 >> Rise to greatness in Intel's independent game demo contest. >> Compete for recognition, cash, and the chance to get your game >> on Steam. $5K grand prize plus 10 genre and skill prizes. >> Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d >> _______________________________________________ >> Jamvm-general mailing list >> Jam...@li... >> https://lists.sourceforge.net/lists/listinfo/jamvm-general >> > > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > > ------------------------------------------------------------------------------ > Own the Future-Intel® Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. > Compete for recognition, cash, and the chance to get your game > on Steam. $5K grand prize plus 10 genre and skill prizes. > Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d > _______________________________________________ > Jamvm-general mailing list > Jam...@li... > https://lists.sourceforge.net/lists/listinfo/jamvm-general |
From: Robert L. <rob...@gm...> - 2013-04-02 18:19:53
|
Hi Xerxes, On 28 March 2013 14:05, Xerxes Rånby <xe...@za...> wrote: > > Hi Robert > > First big thank you! I have been browsing through the list of changes to > get > JSR 292 working; > http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/log/ > well done! > > Yes, it's all complete now. I have done some testing with JRuby and of course there's the jtreg tests. > Today i have tested to use the new JSR 292 fixed JamVM in combination with > the latest IcedTea 8 build-system and OpenJDK 8 b80. ... ./java -verbose:jni -version > [Failed to open library > > /home/xranby/icedtea-8-b80/openjdk.build/images/j2sdk-image/jre/lib/i386/libjava.so: > > /home/xranby/icedtea-8-b80/openjdk.build/images/j2sdk-image/jre/lib/i386/libjava.so: > symbol JVM_GetClassTypeAnnotations, version SUNWprivate_1.1 not defined in > file libjvm.so with link time reference] > ... > Apparently: OpenJDK 8 have quite recently merged in the new JSR 308 and > this > require some new functionality inside the libjvm.so > JSR 308: Introduced Type Annotations > http://openjdk.java.net/projects/type-annotations/ > > http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-December/007747.html > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8004823 > http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/35431a769282 > > Thanks for letting me know - I was still using a version of OpenJDK 8 from the end of December - must remember to update more often! Rob. > Cheers > Xerxes > -- > View this message in context: > http://old.nabble.com/JSR-308%3A-symbol-JVM_GetClassTypeAnnotations-not-defined-for-JamVM-%2B-OpenJDK-8-tp35228844p35228844.html > Sent from the JamVM mailing list archive at Nabble.com. > > > > ------------------------------------------------------------------------------ > Own the Future-Intel® Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. > Compete for recognition, cash, and the chance to get your game > on Steam. $5K grand prize plus 10 genre and skill prizes. > Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d > _______________________________________________ > Jamvm-general mailing list > Jam...@li... > https://lists.sourceforge.net/lists/listinfo/jamvm-general > |
From: Robert L. <rob...@gm...> - 2013-04-04 14:45:36
|
Hi Xerxes, On 28 March 2013 14:05, Xerxes Rånby <xe...@za...> wrote: > > Apparently: OpenJDK 8 have quite recently merged in the new JSR 308 and this > require some new functionality inside the libjvm.so > JSR 308: Introduced Type Annotations > http://openjdk.java.net/projects/type-annotations/ > http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-December/007747.html > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8004823 > http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/35431a769282 > I've now pushed JSR 308 support in JamVM: http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=10b7c81c597809b2aaf28c8243453a21c33d4af3 This relies on improvements in storage of annotations here: http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=0330f06b5839f4d8c316b46d92de9396dd7e95ad Unfortunately this isn't going to help much in testing JSR 292 with IcedTea 3 (OpenJDK 8)! With the lastest versions of OpenJDK 8, the JSR 292 jtreg tests are currently crashing. I've not had time to look at all the crashes in detail, but the first appears to be related to uses of interface default methods - another new feature of JDK 8. It's likely that the JDK has been updated to use them - I'm hopeful that nothing has changed in the JSR 292 internals. I started looking at interface default methods last week, before stopping work to do JSR 308. From the looks of it, it can be handled by some modifications to the existing code in JamVM for so-called Miranda methods. Hopefully, it'll only take a couple of days. The new JSR 292 implementation in JDK 8 was backported to 7 updates (I believe 7u14), so JamVMs JSR 292 implementation should work with it, although I haven't had time to try it myself (yet). Thanks, Rob. > Cheers > Xerxes > -- > View this message in context: http://old.nabble.com/JSR-308%3A-symbol-JVM_GetClassTypeAnnotations-not-defined-for-JamVM-%2B-OpenJDK-8-tp35228844p35228844.html > Sent from the JamVM mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Own the Future-Intel® Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. > Compete for recognition, cash, and the chance to get your game > on Steam. $5K grand prize plus 10 genre and skill prizes. > Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d > _______________________________________________ > Jamvm-general mailing list > Jam...@li... > https://lists.sourceforge.net/lists/listinfo/jamvm-general |
From: Xerxes R. <xe...@za...> - 2013-04-09 12:31:42
|
Robert Lougher wrote: > > Hi Xerxes, > > I've now pushed JSR 308 support in JamVM: > > http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=10b7c81c597809b2aaf28c8243453a21c33d4af3 > > This relies on improvements in storage of annotations here: > > http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=0330f06b5839f4d8c316b46d92de9396dd7e95ad > > Unfortunately this isn't going to help much in testing JSR 292 with > IcedTea 3 (OpenJDK 8)! With the lastest versions of OpenJDK 8, the > JSR 292 jtreg tests are currently crashing. I've not had time to look > at all the crashes in detail, but the first appears to be related to > uses of interface default methods - another new feature of JDK 8. > It's likely that the JDK has been updated to use them - I'm hopeful > that nothing has changed in the JSR 292 internals. > > I started looking at interface default methods last week, before > stopping work to do JSR 308. From the looks of it, it can be handled > by some modifications to the existing code in JamVM for so-called > Miranda methods. Hopefully, it'll only take a couple of days. > > The new JSR 292 implementation in JDK 8 was backported to 7 updates (I > believe 7u14), so JamVMs JSR 292 implementation should work with it, > although I haven't had time to try it myself (yet). > > Thanks, > Rob. > I have worked on a new icedtea 3 patch: http://old.nabble.com/file/p35272149/icedtea-3-openjdk-8-b80-jamvm.patch icedtea-3-openjdk-8-b80-jamvm.patch This time OpenJDK 8 gets built using the JamVM libjvm.so and yes i agree something with "default methods" in OpenJDK 8 break the build, at least i see a related missing JVM_IsVMGeneratedMethodIx method during linking: Linking libhprof.so /usr/bin/gcc-4.6 -Xlinker --hash-style=both -Xlinker -z -Xlinker defs -Xlinker -O1 -shared -L/home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/lib/i386 -L/home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/lib/i386/server -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN -Xlinker -version-script=/home/xranby/icedtea-8-b80/openjdk-boot/jdk/makefiles/mapfiles/libhprof/mapfile-vers -Xlinker -soname=libhprof.so -o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/lib/i386/libhprof.so /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/debug_malloc.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_blocks.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_check.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_class.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_cpu.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_error.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_event.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_frame.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_init.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_io.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_ioname.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_listener.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_loader.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_md.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_monitor.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_object.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_reference.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_site.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_stack.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_string.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_table.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_tag.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_tls.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_trace.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_tracker.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_util.o -ldl /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libverify/check_code.o: In function `verify_method': /home/xranby/icedtea-8-b80/openjdk-boot/jdk/src/share/native/common/check_code.c:988: undefined reference to `JVM_IsVMGeneratedMethodIx' collect2: ld returned 1 exit status make[3]: *** [/home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/lib/i386/libverify.so] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory `/home/xranby/icedtea-8-b80/openjdk-boot/jdk/makefiles' Cheers Xerxes -- View this message in context: http://old.nabble.com/JSR-308%3A-symbol-JVM_GetClassTypeAnnotations-not-defined-for-JamVM-%2B-OpenJDK-8-tp35228844p35272149.html Sent from the JamVM mailing list archive at Nabble.com. |
From: Xerxes R. <xe...@za...> - 2013-04-15 11:51:30
|
Xerxes Rånby wrote: > > > Robert Lougher wrote: >> >> Hi Xerxes, >> >> I've now pushed JSR 308 support in JamVM: >> >> http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=10b7c81c597809b2aaf28c8243453a21c33d4af3 >> >> This relies on improvements in storage of annotations here: >> >> http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=0330f06b5839f4d8c316b46d92de9396dd7e95ad >> >> Unfortunately this isn't going to help much in testing JSR 292 with >> IcedTea 3 (OpenJDK 8)! With the lastest versions of OpenJDK 8, the >> JSR 292 jtreg tests are currently crashing. I've not had time to look >> at all the crashes in detail, but the first appears to be related to >> uses of interface default methods - another new feature of JDK 8. >> It's likely that the JDK has been updated to use them - I'm hopeful >> that nothing has changed in the JSR 292 internals. >> >> I started looking at interface default methods last week, before >> stopping work to do JSR 308. From the looks of it, it can be handled >> by some modifications to the existing code in JamVM for so-called >> Miranda methods. Hopefully, it'll only take a couple of days. >> >> The new JSR 292 implementation in JDK 8 was backported to 7 updates (I >> believe 7u14), so JamVMs JSR 292 implementation should work with it, >> although I haven't had time to try it myself (yet). >> >> Thanks, >> Rob. >> > echo "Linking libverify.so" > ... > /home/xranby/icedtea-8-b80/openjdk-boot/jdk/src/share/native/common/check_code.c:988: > undefined reference to `JVM_IsVMGeneratedMethodIx' > > Thank you Robert This issue is fixed, libverify.so is now linked correctly. http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=2040912557d789b1867b612811d0ddcf21e9def5 - JVM_IsVMGeneratedMethodIx stub Cheers Xerxes -- View this message in context: http://old.nabble.com/JSR-308%3A-symbol-JVM_GetClassTypeAnnotations-not-defined-for-JamVM-%2B-OpenJDK-8-tp35228844p35296155.html Sent from the JamVM mailing list archive at Nabble.com. |