[Jamvm-general] Crash running OpenJDK 8 build.tools.generatenimbus.Generator, a regression since Ja
Brought to you by:
rlougher
From: Xerxes R. <xe...@za...> - 2013-04-22 11:38:41
|
The jamvm+openjdk 8 bootstrap compiler crash while running the Nimbus LAF build.tools.generatenimbus.Generator. /home/xranby/icedtea-8-b80/bootstrap/jdk1.7.0/bin/java -version openjdk version "1.8.0-fcs" OpenJDK Runtime Environment (build 1.8.0-fcs-xranby_2013_04_22_12_10-b00) JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching) based on jamvm source git commit: http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=da518b74fed8d3fe986543d222a45c54efdad5ef I can run the same generator correctly without observing any of the below mentioned three crash variants using JamVM + OpenJDK 7 based on JamVM source git commit: http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=0972452d441544f7dd29c55d64f1ce3a5db90d82 All logs below was produced on a 32bit x86 Ubuntu 12.04 system. Testcase: # inside a openjdk 8 source tree run: cd /home/xranby/icedtea-8-b80/openjdk/jdk/makefiles /home/xranby/icedtea-8-b80/bootstrap/jdk1.7.0/bin/java -Xms64M -Xmx1100M -XX:PermSize=32m -XX:MaxPermSize=160m -XX:ThreadStackSize=1536 -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -cp /home/xranby/icedtea-8-b80/openjdk.build/jdk/btclasses build.tools.generatenimbus.Generator -skinFile /home/xranby/icedtea-8-b80/openjdk/jdk/src/share/classes/javax/swing/plaf/nimbus/skin.laf -buildDir /home/xranby/icedtea-8-b80/openjdk.build/jdk/gensrc -packagePrefix javax.swing.plaf.nimbus -lafName Nimbus Starting program: /home/xranby/icedtea-8-b80/openjdk.build-boot/images/j2sdk-image/bin/java -Xms64M -Xmx1100M -XX:PermSize=32m -XX:MaxPermSize=160m -XX:ThreadStackSize=1536 -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -cp /home/xranby/icedtea-8-b80/openjdk.build/jdk/btclasses build.tools.generatenimbus.Generator -skinFile /home/xranby/icedtea-8-b80/openjdk/jdk/src/share/classes/javax/swing/plaf/nimbus/skin.laf -buildDir /home/xranby/icedtea-8-b80/openjdk.build/jdk/gensrc -packagePrefix javax.swing.plaf.nimbus -lafName Nimbus [Thread debugging using libthread_db enabled] [New Thread 0xb7fd8b40 (LWP 31143)] [New Thread 0x6e491b40 (LWP 31144)] [New Thread 0x6d8ffb40 (LWP 31145)] [New Thread 0x6d0feb40 (LWP 31146)] [New Thread 0x6c6ffb40 (LWP 31147)] ### GENERATING LAF CODE ################################ full :false skinFile :/home/xranby/icedtea-8-b80/openjdk/jdk/src/share/classes/javax/swing/plaf/nimbus/skin.laf buildDir :/home/xranby/icedtea-8-b80/openjdk.build/jdk/gensrc resourcesDir :/home/xranby/icedtea-8-b80/openjdk/jdk/makefiles packagePrefix :javax.swing.plaf.nimbus lafName :Nimbus "crash" varian 1: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -121783248 at java.lang.reflect.AnnotatedElement.isAnnotationPresent(AnnotatedElement.java:126) at com.sun.xml.internal.bind.v2.model.annotation.RuntimeInlineAnnotationReader.hasFieldAnnotation(RuntimeInlineAnnotationReader.java:50) at com.sun.xml.internal.bind.v2.model.annotation.RuntimeInlineAnnotationReader.hasFieldAnnotation(RuntimeInlineAnnotationReader.java:42) at com.sun.xml.internal.bind.v2.model.impl.ClassInfoImpl.findFieldProperties(ClassInfoImpl.java:367) at com.sun.xml.internal.bind.v2.model.impl.ClassInfoImpl.getProperties(ClassInfoImpl.java:296) at com.sun.xml.internal.bind.v2.model.impl.RuntimeClassInfoImpl.getProperties(RuntimeClassInfoImpl.java:171) at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:233) at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:89) at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:70) at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:199) at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:84) at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:70) at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:305) at com.sun.xml.internal.bind.v2.model.impl.RegistryInfoImpl.<init>(RegistryInfoImpl.java:89) at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.addRegistry(ModelBuilder.java:347) at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:317) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:445) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:283) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:126) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1148) at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:130) at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:221) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:487) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:171) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:131) at javax.xml.bind.ContextFinder.find(ContextFinder.java:346) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:394) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:298) at build.tools.generatenimbus.Generator.main(Generator.java:108) [New Thread 0x6b9ffb40 (LWP 31122)] crash variant 2: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7fd8b40 (LWP 31131)] prepare (mb=0xb76959d8, handlers=0x391280) at direct.c:600 600 info[pc + deflt] |= TARGET; (gdb) list 595 are at cache depth zero */ 596 #ifdef USE_CACHE 597 cache_depth[pc + deflt] = 0; 598 #endif 599 #ifdef INLINING 600 info[pc + deflt] |= TARGET; 601 #endif 602 603 for(i = 2; i < (npairs*2+2); i += 2) { 604 int dest = pc + ntohl(aligned_pc[i+1]); (gdb) p pc $1 = <value optimized out> (gdb) p deflt $2 = 402653184 (gdb) p info $3 = "\000" (gdb) bt #0 prepare (mb=0xb76959d8, handlers=0x391280) at direct.c:600 #1 0x00364d19 in executeJava () at interp.c:2403 #2 0x0035337d in invoke (ob=0x0, mb=0x6bb08df0, arg_array=0x72a90670, param_types=0x72a90508) at reflect.c:581 #3 0x00353696 in methodInvoke (ob=0x0, mb=0x6bb08df0, args_array=0x72a90670, ret_type=0x72a6b3d8, param_types=0x72a90508, no_access_check=1, depth=0) at reflect.c:694 #4 0x0037a3e4 in invokeMethod (reflect_ob=0x72a90618, ob=0x0, args_array=0x72a90670) at reflect.c:323 #5 0x003755fb in JVM_InvokeMethod (env=0x3909c0, method=0x72a90618, obj=0x0, args0=0x72a90670) at jvm.c:2665 #6 0x003eb772 in Java_sun_reflect_NativeMethodAccessorImpl_invoke0 (env=0x3909c0, unused=0x72a90690, m=0x72a90618, obj=0x0, args=0x72a90670) at /home/xranby/icedtea-8-b80/openjdk-boot/jdk/src/share/native/sun/reflect/NativeAccessors.c:33 #7 0x00370211 in static_JI_L (class=0x72a90690, mb=0x6bb0b3f8, ostack=0x727bd270) at jni-stubs.c:212 #8 0x0034ae9f in resolveNativeWrapper (class=0x72a90690, mb=0x6bb0b3f8, ostack=0x727bd270) at dll.c:231 #9 0x00364cc8 in executeJava () at interp.c:2392 #10 0x0034bb80 in executeMethodVaList (ob=0x0, class=0x72a659c8, mb=0x6d9ca018, jargs=0xb7fd82f0 "\001") at execute.c:129 #11 0x0034d4f6 in Jam_CallStaticVoidMethod (env=0x3909c0, clazz=0x72a659c8, methodID=0x6d9ca018) at jni.c:1232 #12 0x00134bb9 in JavaMain (_args=0xbfffadf8) at /home/xranby/icedtea-8-b80/openjdk-boot/jdk/src/share/bin/java.c:461 #13 0x0030cd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #14 0x0022fd3e in clone () from /lib/i386-linux-gnu/libc.so.6 crash variant 3: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7fd8b40 (LWP 31137)] executeJava () at interp.c:671 671 DEF_OPC_012_2( (gdb) bt #0 executeJava () at interp.c:671 #1 0x0035337d in invoke (ob=0x0, mb=0x6bb08ee0, arg_array=0x72a905f0, param_types=0x72a90488) at reflect.c:581 #2 0x00353696 in methodInvoke (ob=0x0, mb=0x6bb08ee0, args_array=0x72a905f0, ret_type=0x72a6b358, param_types=0x72a90488, no_access_check=1, depth=0) at reflect.c:694 #3 0x0037a3e4 in invokeMethod (reflect_ob=0x72a90598, ob=0x0, args_array=0x72a905f0) at reflect.c:323 #4 0x003755fb in JVM_InvokeMethod (env=0x3909c0, method=0x72a90598, obj=0x0, args0=0x72a905f0) at jvm.c:2665 #5 0x003eb772 in Java_sun_reflect_NativeMethodAccessorImpl_invoke0 (env=0x3909c0, unused=0x72a90610, m=0x72a90598, obj=0x0, args=0x72a905f0) at /home/xranby/icedtea-8-b80/openjdk-boot/jdk/src/share/native/sun/reflect/NativeAccessors.c:33 #6 0x00370211 in static_JI_L (class=0x72a90610, mb=0x6bb0b4e8, ostack=0x727bd270) at jni-stubs.c:212 #7 0x0034ae9f in resolveNativeWrapper (class=0x72a90610, mb=0x6bb0b4e8, ostack=0x727bd270) at dll.c:231 #8 0x00364cc8 in executeJava () at interp.c:2392 #9 0x0034bb80 in executeMethodVaList (ob=0x0, class=0x72a65958, mb=0x6d9ca0c0, jargs=0xb7fd82f0 "\001") at execute.c:129 #10 0x0034d4f6 in Jam_CallStaticVoidMethod (env=0x3909c0, clazz=0x72a65958, methodID=0x6d9ca0c0) at jni.c:1232 #11 0x00134bb9 in JavaMain (_args=0xbfffadf8) at /home/xranby/icedtea-8-b80/openjdk-boot/jdk/src/share/bin/java.c:461 #12 0x0030cd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #13 0x0022fd3e in clone () from /lib/i386-linux-gnu/libc.so.6 (gdb) To clarify if i use the system installed jamvm + OpenJDK 7 i am able to run the generator inside the OpenJDK 8 codebase OK, thus i believe the this to be an regression inside JamVM itself: xranby@xranby-ESPRIMO-P7935:~/icedtea-8-b80/openjdk/jdk/makefiles$ /usr/lib/jvm/java-7-openjdk-i386/bin/java -jamvm -Xms64M -Xmx1100M -XX:PermSize=32m -XX:MaxPermSize=160m -XX:ThreadStackSize=1536 -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -cp /home/xranby/icedtea-8-b80/openjdk.build/jdk/btclasses build.tools.generatenimbus.Generator -skinFile /home/xranby/icedtea-8-b80/openjdk/jdk/src/share/classes/javax/swing/plaf/nimbus/skin.laf -buildDir /home/xranby/icedtea-8-b80/openjdk.build/jdk/gensrc -packagePrefix javax.swing.plaf.nimbus -lafName Nimbus ### GENERATING LAF CODE ################################ full :false skinFile :/home/xranby/icedtea-8-b80/openjdk/jdk/src/share/classes/javax/swing/plaf/nimbus/skin.laf buildDir :/home/xranby/icedtea-8-b80/openjdk.build/jdk/gensrc resourcesDir :/home/xranby/icedtea-8-b80/openjdk/jdk/makefiles packagePrefix :javax.swing.plaf.nimbus lafName :Nimbus Generating source file: ArrowButtonPainter.java Generating source file: ButtonPainter.java ... Generating source file: TreePainter.java Generating source file: TreeCellPainter.java xranby@xranby-ESPRIMO-P7935:~/icedtea-8-b80/openjdk/jdk/makefiles$ -- View this message in context: http://old.nabble.com/Crash-running-OpenJDK-8-build.tools.generatenimbus.Generator%2C-a-regression-since-JamVM-%2B-OpenJDK-7-tp35322824p35322824.html Sent from the JamVM mailing list archive at Nabble.com. |