Jochen, can you extract a simple test class that reproduce the bug ? Also, methods of sun.misc.Unsafe are not protected again send null as arguments, so you have to do the check before calling unsafe.XXX.
Rémi On 11/16/2012 03:36 PM, Jochen Theodorou wrote: > Hi all, > > in another thread I was already explaining, that I do need for a certain > method call the initialized class, to select the right method. Remi for > example then adviced me to use Unsafe and the method > ensureClassInitialized... well after adding that I get a nice hs_err log > file with > >> Stack: [0x00007f8fc9ae4000,0x00007f8fc9be5000], sp=0x00007f8fc9be1520, >> free space=1013k >> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native >> code) >> V [libjvm.so+0x888857] Unsafe_EnsureClassInitialized+0x67 >> j sun.misc.Unsafe.ensureClassInitialized(Ljava/lang/Class;)V+0 >> j org.codehaus.groovy.vmplugin.v7.Selector$MethodSelector.getMetaClass()V+63 > Is this another bug? I assume it is... unless someone can explain me how > to workaround in my workaround ;) > > Anyway... since that is crashing the JVM (and it must be some special > case) I am wondering now how I can ensure class initialization in my > bootstrap method. Or another solution for the problem without changing > the language. > > Background is that in Groovy we may have something like this: > >> class A { >> static { >> A.metaClass.static.empty << {-> '123' } >> } >> } >> assert A.empty() == '123' > Since the method empty() does not exist before the static initializer is > executed, I have to somehow enforce the execution of that, because > otherwise the meta class will not have the empty() method. > > bye Jochen > _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev