RVM

All poisoned tests fail PPC 32

Details

  • Number of attachments :
    0

Description

Since enabling poisoned read/write barrier tests we are passing them nearly fully on IA32 but failing them all on PPC32 [1]. We appear to be deadlocking early in the VM.boot process.

[1] http://jikesrvm.anu.edu.au/cattrack/results/excalibur.watson.ibm.com/sanity-ppc32/3456/regression_report

Activity

Hide
David Grove added a comment -

I'd like to at least understand why this is failing even if we don't fix it before making the 2.9.3 release.

Show
David Grove added a comment - I'd like to at least understand why this is failing even if we don't fix it before making the 2.9.3 release.
Hide
David Grove added a comment -

ok. I've poked at it a little bit and I'm not going to be able to clear this up quickly.

Show
David Grove added a comment - ok. I've poked at it a little bit and I'm not going to be able to clear this up quickly.
Hide
Daniel Frampton added a comment -

Testing old revisions it seems that BaseBasePoisoned worked on ppc32 when poisoning was committed but FullAdaptive did not.

This is on my list to look at this soon, but naturally will not be before 2.9.3.

Show
Daniel Frampton added a comment - Testing old revisions it seems that BaseBasePoisoned worked on ppc32 when poisoning was committed but FullAdaptive did not. This is on my list to look at this soon, but naturally will not be before 2.9.3.
Hide
David Grove added a comment -

Would like to see some investigation of this before 3.0 if possible (pending confirmation of sanity runs on excalibur over the weekend to see if it really is still a problem).

Show
David Grove added a comment - Would like to see some investigation of this before 3.0 if possible (pending confirmation of sanity runs on excalibur over the weekend to see if it really is still a problem).
Hide
David Grove added a comment -

testing on ppc64-aix. It looks like the problem occurs more or less at the same time as we are making the first JNI calls:

[piccolo:/home/dgrove/buildit/rvm-trunk] ./dist/BaseBasePoisoned_ppc64-aix/rvm -X:verboseBoot=20
Booting
Setting up static fields
Setting up current Processor
Doing thread initialization
Setting up memory manager: bootrecord = 0x0000000030000018
Initializing baseline compiler options to defaults
Fetching command-line arguments
Early stage processing of command line
Collector processing rest of boot options
Initializing bootstrap class loader: ./dist/BaseBasePoisoned_ppc64-aix/jksvm.jar:./dist/BaseBasePoisoned_ppc64-aix/rvmrt.jar
Running various class initializers
running class intializer for java.util.WeakHashMap
invoking method < BootstrapCL, Ljava/util/WeakHashMap; >.<clinit> ()V
running class intializer for org.jikesrvm.classloader.Atom$InternedStrings
invoking method < BootstrapCL, Lorg/jikesrvm/classloader/Atom$InternedStrings; >.<clinit> ()V
running class intializer for gnu.classpath.SystemProperties
invoking method < BootstrapCL, Lgnu/classpath/SystemProperties; >.<clinit> ()V
running class intializer for java.lang.Throwable$StaticData
invoking method < BootstrapCL, Ljava/lang/Throwable$StaticData; >.<clinit> ()V
running class intializer for java.lang.Runtime
invoking method < BootstrapCL, Ljava/lang/Runtime; >.<clinit> ()V
running class intializer for java.lang.System
invoking method < BootstrapCL, Ljava/lang/System; >.<clinit> ()V
running class intializer for sun.misc.Unsafe
invoking method < BootstrapCL, Lsun/misc/Unsafe; >.<clinit> ()V
running class intializer for java.lang.Character
invoking method < BootstrapCL, Ljava/lang/Character; >.<clinit> ()V
running class intializer for org.jikesrvm.classloader.TypeReferenceVector
invoking method < BootstrapCL, Lorg/jikesrvm/classloader/TypeReferenceVector; >.<clinit> ()V
running class intializer for org.jikesrvm.classloader.MethodVector
invoking method < BootstrapCL, Lorg/jikesrvm/classloader/MethodVector; >.<clinit> ()V
running class intializer for org.jikesrvm.classloader.FieldVector
invoking method < BootstrapCL, Lorg/jikesrvm/classloader/FieldVector; >.<clinit> ()V
running class intializer for java.lang.ThreadGroup
invoking method < BootstrapCL, Ljava/lang/ThreadGroup; >.<clinit> ()V
running class intializer for java.lang.ThreadLocal
invoking method < BootstrapCL, Ljava/lang/ThreadLocal; >.<clinit> ()V
running class intializer for java.lang.ThreadLocalMap
invoking method < BootstrapCL, Ljava/lang/ThreadLocalMap; >.<clinit> ()V
running class intializer for java.security.VMAccessController
invoking method < BootstrapCL, Ljava/security/VMAccessController; >.<clinit> ()V
Booting Lock
Booting scheduler
Setting up boot thread
Initializing JNI for boot thread
running class intializer for java.io.File
invoking method < BootstrapCL, Ljava/io/File; >.<clinit> ()V
running class intializer for java.lang.String
invoking method < BootstrapCL, Ljava/lang/String; >.<clinit> ()V
running class intializer for gnu.java.security.provider.DefaultPolicy
invoking method < BootstrapCL, Lgnu/java/security/provider/DefaultPolicy; >.<clinit> ()V
running class intializer for java.net.URL
invoking method < BootstrapCL, Ljava/net/URL; >.<clinit> ()V
running class intializer for java.net.URLClassLoader
invoking method < BootstrapCL, Ljava/net/URLClassLoader; >.<clinit> ()V
running class intializer for java.net.URLConnection
invoking method < BootstrapCL, Ljava/net/URLConnection; >.<clinit> ()V
running class intializer for gnu.java.net.protocol.jar.Connection$JarFileCache
invoking method < BootstrapCL, Lgnu/java/net/protocol/jar/Connection$JarFileCache; >.<clinit> ()V
running class intializer for java.lang.ClassLoader$StaticData
invoking method < BootstrapCL, Ljava/lang/ClassLoader$StaticData; >.<clinit> ()V
running class intializer for java.lang.Class$StaticData
invoking method < BootstrapCL, Ljava/lang/Class$StaticData; >.<clinit> ()V
running class intializer for java.nio.charset.Charset
has no clinit method
running class intializer for java.nio.charset.CharsetEncoder
invoking method < BootstrapCL, Ljava/nio/charset/CharsetEncoder; >.<clinit> ()V
running class intializer for java.nio.charset.CoderResult
invoking method < BootstrapCL, Ljava/nio/charset/CoderResult; >.<clinit> ()V
running class intializer for java.io.PrintWriter
invoking method < BootstrapCL, Ljava/io/PrintWriter; >.<clinit> ()V
running class intializer for java.io.PrintStream
invoking method < BootstrapCL, Ljava/io/PrintStream; >.<clinit> ()V
running class intializer for java.util.Locale
invoking method < BootstrapCL, Ljava/util/Locale; >.<clinit> ()V
running class intializer for java.util.ResourceBundle
invoking method < BootstrapCL, Ljava/util/ResourceBundle; >.<clinit> ()V
running class intializer for java.util.zip.CRC32
invoking method < BootstrapCL, Ljava/util/zip/CRC32; >.<clinit> ()V
running class intializer for java.util.zip.Inflater
invoking method < BootstrapCL, Ljava/util/zip/Inflater; >.<clinit> ()V
running class intializer for java.util.zip.DeflaterHuffman
invoking method < BootstrapCL, Ljava/util/zip/DeflaterHuffman; >.<clinit> ()V
running class intializer for java.util.zip.InflaterDynHeader
invoking method < BootstrapCL, Ljava/util/zip/InflaterDynHeader; >.<clinit> ()V
running class intializer for java.util.zip.InflaterHuffmanTree
invoking method < BootstrapCL, Ljava/util/zip/InflaterHuffmanTree; >.<clinit> ()V
Running late class initializers
[piccolo:/home/dgrove/buildit/rvm-trunk] ./dist/BaseBasePoisoned_ppc64-aix/rvm -X:verboseBoot=20
Booting
Setting up static fields
Setting up current Processor
Doing thread initialization
Setting up memory manager: bootrecord = 0x0000000030000018
Initializing baseline compiler options to defaults
Fetching command-line arguments
Early stage processing of command line
Collector processing rest of boot options
Initializing bootstrap class loader: ./dist/BaseBasePoisoned_ppc64-aix/jksvm.jar:./dist/BaseBasePoisoned_ppc64-aix/rvmrt.jar
Running various class initializers
running class intializer for java.util.WeakHashMap
invoking method < BootstrapCL, Ljava/util/WeakHashMap; >.<clinit> ()V
running class intializer for org.jikesrvm.classloader.Atom$InternedStrings
invoking method < BootstrapCL, Lorg/jikesrvm/classloader/Atom$InternedStrings; >.<clinit> ()V
running class intializer for gnu.classpath.SystemProperties
invoking method < BootstrapCL, Lgnu/classpath/SystemProperties; >.<clinit> ()V
running class intializer for java.lang.Throwable$StaticData
invoking method < BootstrapCL, Ljava/lang/Throwable$StaticData; >.<clinit> ()V
running class intializer for java.lang.Runtime
invoking method < BootstrapCL, Ljava/lang/Runtime; >.<clinit> ()V
running class intializer for java.lang.System
invoking method < BootstrapCL, Ljava/lang/System; >.<clinit> ()V
running class intializer for sun.misc.Unsafe
invoking method < BootstrapCL, Lsun/misc/Unsafe; >.<clinit> ()V
running class intializer for java.lang.Character
invoking method < BootstrapCL, Ljava/lang/Character; >.<clinit> ()V
running class intializer for org.jikesrvm.classloader.TypeReferenceVector
invoking method < BootstrapCL, Lorg/jikesrvm/classloader/TypeReferenceVector; >.<clinit> ()V
running class intializer for org.jikesrvm.classloader.MethodVector
invoking method < BootstrapCL, Lorg/jikesrvm/classloader/MethodVector; >.<clinit> ()V
running class intializer for org.jikesrvm.classloader.FieldVector
invoking method < BootstrapCL, Lorg/jikesrvm/classloader/FieldVector; >.<clinit> ()V
running class intializer for java.lang.ThreadGroup
invoking method < BootstrapCL, Ljava/lang/ThreadGroup; >.<clinit> ()V
running class intializer for java.lang.ThreadLocal
invoking method < BootstrapCL, Ljava/lang/ThreadLocal; >.<clinit> ()V
running class intializer for java.lang.ThreadLocalMap
invoking method < BootstrapCL, Ljava/lang/ThreadLocalMap; >.<clinit> ()V
running class intializer for java.security.VMAccessController
invoking method < BootstrapCL, Ljava/security/VMAccessController; >.<clinit> ()V
Booting Lock
Booting scheduler
Setting up boot thread
Initializing JNI for boot thread
running class intializer for java.io.File
invoking method < BootstrapCL, Ljava/io/File; >.<clinit> ()V
running class intializer for java.lang.String
invoking method < BootstrapCL, Ljava/lang/String; >.<clinit> ()V
running class intializer for gnu.java.security.provider.DefaultPolicy
invoking method < BootstrapCL, Lgnu/java/security/provider/DefaultPolicy; >.<clinit> ()V
running class intializer for java.net.URL
invoking method < BootstrapCL, Ljava/net/URL; >.<clinit> ()V
running class intializer for java.net.URLClassLoader
invoking method < BootstrapCL, Ljava/net/URLClassLoader; >.<clinit> ()V
running class intializer for java.net.URLConnection
invoking method < BootstrapCL, Ljava/net/URLConnection; >.<clinit> ()V
running class intializer for gnu.java.net.protocol.jar.Connection$JarFileCache
invoking method < BootstrapCL, Lgnu/java/net/protocol/jar/Connection$JarFileCache; >.<clinit> ()V
running class intializer for java.lang.ClassLoader$StaticData
invoking method < BootstrapCL, Ljava/lang/ClassLoader$StaticData; >.<clinit> ()V
running class intializer for java.lang.Class$StaticData
invoking method < BootstrapCL, Ljava/lang/Class$StaticData; >.<clinit> ()V
running class intializer for java.nio.charset.Charset
has no clinit method
running class intializer for java.nio.charset.CharsetEncoder
invoking method < BootstrapCL, Ljava/nio/charset/CharsetEncoder; >.<clinit> ()V
running class intializer for java.nio.charset.CoderResult
invoking method < BootstrapCL, Ljava/nio/charset/CoderResult; >.<clinit> ()V
running class intializer for java.io.PrintWriter
invoking method < BootstrapCL, Ljava/io/PrintWriter; >.<clinit> ()V
running class intializer for java.io.PrintStream
invoking method < BootstrapCL, Ljava/io/PrintStream; >.<clinit> ()V
running class intializer for java.util.Locale
invoking method < BootstrapCL, Ljava/util/Locale; >.<clinit> ()V
running class intializer for java.util.ResourceBundle
invoking method < BootstrapCL, Ljava/util/ResourceBundle; >.<clinit> ()V
running class intializer for java.util.zip.CRC32
invoking method < BootstrapCL, Ljava/util/zip/CRC32; >.<clinit> ()V
running class intializer for java.util.zip.Inflater
invoking method < BootstrapCL, Ljava/util/zip/Inflater; >.<clinit> ()V
running class intializer for java.util.zip.DeflaterHuffman
invoking method < BootstrapCL, Ljava/util/zip/DeflaterHuffman; >.<clinit> ()V
running class intializer for java.util.zip.InflaterDynHeader
invoking method < BootstrapCL, Ljava/util/zip/InflaterDynHeader; >.<clinit> ()V
running class intializer for java.util.zip.InflaterHuffmanTree
invoking method < BootstrapCL, Ljava/util/zip/InflaterHuffmanTree; >.<clinit> ()V
Running late class initializers
[Dynamic-linking native method org.jikesrvm.runtime.DynamicLibrary.runJNI_OnLoad (Lorg/vmmagic/unboxed/Address;)I
JikesRVM: WARNING: Virtual processor has ignored timer interrupt for 5000 ms.
This may indicate that a blocking system call has occured and the VM is deadlocked
.......

Show
David Grove added a comment - testing on ppc64-aix. It looks like the problem occurs more or less at the same time as we are making the first JNI calls: [piccolo:/home/dgrove/buildit/rvm-trunk] ./dist/BaseBasePoisoned_ppc64-aix/rvm -X:verboseBoot=20 Booting Setting up static fields Setting up current Processor Doing thread initialization Setting up memory manager: bootrecord = 0x0000000030000018 Initializing baseline compiler options to defaults Fetching command-line arguments Early stage processing of command line Collector processing rest of boot options Initializing bootstrap class loader: ./dist/BaseBasePoisoned_ppc64-aix/jksvm.jar:./dist/BaseBasePoisoned_ppc64-aix/rvmrt.jar Running various class initializers running class intializer for java.util.WeakHashMap invoking method < BootstrapCL, Ljava/util/WeakHashMap; >.<clinit> ()V running class intializer for org.jikesrvm.classloader.Atom$InternedStrings invoking method < BootstrapCL, Lorg/jikesrvm/classloader/Atom$InternedStrings; >.<clinit> ()V running class intializer for gnu.classpath.SystemProperties invoking method < BootstrapCL, Lgnu/classpath/SystemProperties; >.<clinit> ()V running class intializer for java.lang.Throwable$StaticData invoking method < BootstrapCL, Ljava/lang/Throwable$StaticData; >.<clinit> ()V running class intializer for java.lang.Runtime invoking method < BootstrapCL, Ljava/lang/Runtime; >.<clinit> ()V running class intializer for java.lang.System invoking method < BootstrapCL, Ljava/lang/System; >.<clinit> ()V running class intializer for sun.misc.Unsafe invoking method < BootstrapCL, Lsun/misc/Unsafe; >.<clinit> ()V running class intializer for java.lang.Character invoking method < BootstrapCL, Ljava/lang/Character; >.<clinit> ()V running class intializer for org.jikesrvm.classloader.TypeReferenceVector invoking method < BootstrapCL, Lorg/jikesrvm/classloader/TypeReferenceVector; >.<clinit> ()V running class intializer for org.jikesrvm.classloader.MethodVector invoking method < BootstrapCL, Lorg/jikesrvm/classloader/MethodVector; >.<clinit> ()V running class intializer for org.jikesrvm.classloader.FieldVector invoking method < BootstrapCL, Lorg/jikesrvm/classloader/FieldVector; >.<clinit> ()V running class intializer for java.lang.ThreadGroup invoking method < BootstrapCL, Ljava/lang/ThreadGroup; >.<clinit> ()V running class intializer for java.lang.ThreadLocal invoking method < BootstrapCL, Ljava/lang/ThreadLocal; >.<clinit> ()V running class intializer for java.lang.ThreadLocalMap invoking method < BootstrapCL, Ljava/lang/ThreadLocalMap; >.<clinit> ()V running class intializer for java.security.VMAccessController invoking method < BootstrapCL, Ljava/security/VMAccessController; >.<clinit> ()V Booting Lock Booting scheduler Setting up boot thread Initializing JNI for boot thread running class intializer for java.io.File invoking method < BootstrapCL, Ljava/io/File; >.<clinit> ()V running class intializer for java.lang.String invoking method < BootstrapCL, Ljava/lang/String; >.<clinit> ()V running class intializer for gnu.java.security.provider.DefaultPolicy invoking method < BootstrapCL, Lgnu/java/security/provider/DefaultPolicy; >.<clinit> ()V running class intializer for java.net.URL invoking method < BootstrapCL, Ljava/net/URL; >.<clinit> ()V running class intializer for java.net.URLClassLoader invoking method < BootstrapCL, Ljava/net/URLClassLoader; >.<clinit> ()V running class intializer for java.net.URLConnection invoking method < BootstrapCL, Ljava/net/URLConnection; >.<clinit> ()V running class intializer for gnu.java.net.protocol.jar.Connection$JarFileCache invoking method < BootstrapCL, Lgnu/java/net/protocol/jar/Connection$JarFileCache; >.<clinit> ()V running class intializer for java.lang.ClassLoader$StaticData invoking method < BootstrapCL, Ljava/lang/ClassLoader$StaticData; >.<clinit> ()V running class intializer for java.lang.Class$StaticData invoking method < BootstrapCL, Ljava/lang/Class$StaticData; >.<clinit> ()V running class intializer for java.nio.charset.Charset has no clinit method running class intializer for java.nio.charset.CharsetEncoder invoking method < BootstrapCL, Ljava/nio/charset/CharsetEncoder; >.<clinit> ()V running class intializer for java.nio.charset.CoderResult invoking method < BootstrapCL, Ljava/nio/charset/CoderResult; >.<clinit> ()V running class intializer for java.io.PrintWriter invoking method < BootstrapCL, Ljava/io/PrintWriter; >.<clinit> ()V running class intializer for java.io.PrintStream invoking method < BootstrapCL, Ljava/io/PrintStream; >.<clinit> ()V running class intializer for java.util.Locale invoking method < BootstrapCL, Ljava/util/Locale; >.<clinit> ()V running class intializer for java.util.ResourceBundle invoking method < BootstrapCL, Ljava/util/ResourceBundle; >.<clinit> ()V running class intializer for java.util.zip.CRC32 invoking method < BootstrapCL, Ljava/util/zip/CRC32; >.<clinit> ()V running class intializer for java.util.zip.Inflater invoking method < BootstrapCL, Ljava/util/zip/Inflater; >.<clinit> ()V running class intializer for java.util.zip.DeflaterHuffman invoking method < BootstrapCL, Ljava/util/zip/DeflaterHuffman; >.<clinit> ()V running class intializer for java.util.zip.InflaterDynHeader invoking method < BootstrapCL, Ljava/util/zip/InflaterDynHeader; >.<clinit> ()V running class intializer for java.util.zip.InflaterHuffmanTree invoking method < BootstrapCL, Ljava/util/zip/InflaterHuffmanTree; >.<clinit> ()V Running late class initializers [piccolo:/home/dgrove/buildit/rvm-trunk] ./dist/BaseBasePoisoned_ppc64-aix/rvm -X:verboseBoot=20 Booting Setting up static fields Setting up current Processor Doing thread initialization Setting up memory manager: bootrecord = 0x0000000030000018 Initializing baseline compiler options to defaults Fetching command-line arguments Early stage processing of command line Collector processing rest of boot options Initializing bootstrap class loader: ./dist/BaseBasePoisoned_ppc64-aix/jksvm.jar:./dist/BaseBasePoisoned_ppc64-aix/rvmrt.jar Running various class initializers running class intializer for java.util.WeakHashMap invoking method < BootstrapCL, Ljava/util/WeakHashMap; >.<clinit> ()V running class intializer for org.jikesrvm.classloader.Atom$InternedStrings invoking method < BootstrapCL, Lorg/jikesrvm/classloader/Atom$InternedStrings; >.<clinit> ()V running class intializer for gnu.classpath.SystemProperties invoking method < BootstrapCL, Lgnu/classpath/SystemProperties; >.<clinit> ()V running class intializer for java.lang.Throwable$StaticData invoking method < BootstrapCL, Ljava/lang/Throwable$StaticData; >.<clinit> ()V running class intializer for java.lang.Runtime invoking method < BootstrapCL, Ljava/lang/Runtime; >.<clinit> ()V running class intializer for java.lang.System invoking method < BootstrapCL, Ljava/lang/System; >.<clinit> ()V running class intializer for sun.misc.Unsafe invoking method < BootstrapCL, Lsun/misc/Unsafe; >.<clinit> ()V running class intializer for java.lang.Character invoking method < BootstrapCL, Ljava/lang/Character; >.<clinit> ()V running class intializer for org.jikesrvm.classloader.TypeReferenceVector invoking method < BootstrapCL, Lorg/jikesrvm/classloader/TypeReferenceVector; >.<clinit> ()V running class intializer for org.jikesrvm.classloader.MethodVector invoking method < BootstrapCL, Lorg/jikesrvm/classloader/MethodVector; >.<clinit> ()V running class intializer for org.jikesrvm.classloader.FieldVector invoking method < BootstrapCL, Lorg/jikesrvm/classloader/FieldVector; >.<clinit> ()V running class intializer for java.lang.ThreadGroup invoking method < BootstrapCL, Ljava/lang/ThreadGroup; >.<clinit> ()V running class intializer for java.lang.ThreadLocal invoking method < BootstrapCL, Ljava/lang/ThreadLocal; >.<clinit> ()V running class intializer for java.lang.ThreadLocalMap invoking method < BootstrapCL, Ljava/lang/ThreadLocalMap; >.<clinit> ()V running class intializer for java.security.VMAccessController invoking method < BootstrapCL, Ljava/security/VMAccessController; >.<clinit> ()V Booting Lock Booting scheduler Setting up boot thread Initializing JNI for boot thread running class intializer for java.io.File invoking method < BootstrapCL, Ljava/io/File; >.<clinit> ()V running class intializer for java.lang.String invoking method < BootstrapCL, Ljava/lang/String; >.<clinit> ()V running class intializer for gnu.java.security.provider.DefaultPolicy invoking method < BootstrapCL, Lgnu/java/security/provider/DefaultPolicy; >.<clinit> ()V running class intializer for java.net.URL invoking method < BootstrapCL, Ljava/net/URL; >.<clinit> ()V running class intializer for java.net.URLClassLoader invoking method < BootstrapCL, Ljava/net/URLClassLoader; >.<clinit> ()V running class intializer for java.net.URLConnection invoking method < BootstrapCL, Ljava/net/URLConnection; >.<clinit> ()V running class intializer for gnu.java.net.protocol.jar.Connection$JarFileCache invoking method < BootstrapCL, Lgnu/java/net/protocol/jar/Connection$JarFileCache; >.<clinit> ()V running class intializer for java.lang.ClassLoader$StaticData invoking method < BootstrapCL, Ljava/lang/ClassLoader$StaticData; >.<clinit> ()V running class intializer for java.lang.Class$StaticData invoking method < BootstrapCL, Ljava/lang/Class$StaticData; >.<clinit> ()V running class intializer for java.nio.charset.Charset has no clinit method running class intializer for java.nio.charset.CharsetEncoder invoking method < BootstrapCL, Ljava/nio/charset/CharsetEncoder; >.<clinit> ()V running class intializer for java.nio.charset.CoderResult invoking method < BootstrapCL, Ljava/nio/charset/CoderResult; >.<clinit> ()V running class intializer for java.io.PrintWriter invoking method < BootstrapCL, Ljava/io/PrintWriter; >.<clinit> ()V running class intializer for java.io.PrintStream invoking method < BootstrapCL, Ljava/io/PrintStream; >.<clinit> ()V running class intializer for java.util.Locale invoking method < BootstrapCL, Ljava/util/Locale; >.<clinit> ()V running class intializer for java.util.ResourceBundle invoking method < BootstrapCL, Ljava/util/ResourceBundle; >.<clinit> ()V running class intializer for java.util.zip.CRC32 invoking method < BootstrapCL, Ljava/util/zip/CRC32; >.<clinit> ()V running class intializer for java.util.zip.Inflater invoking method < BootstrapCL, Ljava/util/zip/Inflater; >.<clinit> ()V running class intializer for java.util.zip.DeflaterHuffman invoking method < BootstrapCL, Ljava/util/zip/DeflaterHuffman; >.<clinit> ()V running class intializer for java.util.zip.InflaterDynHeader invoking method < BootstrapCL, Ljava/util/zip/InflaterDynHeader; >.<clinit> ()V running class intializer for java.util.zip.InflaterHuffmanTree invoking method < BootstrapCL, Ljava/util/zip/InflaterHuffmanTree; >.<clinit> ()V Running late class initializers [Dynamic-linking native method org.jikesrvm.runtime.DynamicLibrary.runJNI_OnLoad (Lorg/vmmagic/unboxed/Address;)I JikesRVM: WARNING: Virtual processor has ignored timer interrupt for 5000 ms. This may indicate that a blocking system call has occured and the VM is deadlocked .......
Hide
David Grove added a comment -

The bug manifests as a SIGSEGV (hard crash) on ppc64-linux.

It's happening in the first JNI function that's invoked from the first native method we invoke (OnLoad in GNU Classpath's jcl.c):

JNIEXPORT jint JNICALL
JNI_OnLoad (JavaVM *vm, void *reserved _attribute_((unused)))
{
JNIEnv *env;
void *envp;

if ((*vm)->GetEnv (vm, &envp, JNI_VERSION_1_4) != JNI_OK)

{ return JNI_VERSION_1_4; }

env = (JNIEnv *) envp;
#if SIZEOF_VOID_P == 8
/** we get to here successfully */
rawDataClass = (*env)->FindClass (env, "gnu/classpath/Pointer64");
/** we segfault before we get to here */
if (rawDataClass != NULL)
rawDataClass = (*env)->NewGlobalRef (env, rawDataClass);

Show
David Grove added a comment - The bug manifests as a SIGSEGV (hard crash) on ppc64-linux. It's happening in the first JNI function that's invoked from the first native method we invoke (OnLoad in GNU Classpath's jcl.c): JNIEXPORT jint JNICALL JNI_OnLoad (JavaVM *vm, void *reserved _attribute_((unused))) { JNIEnv *env; void *envp; if ((*vm)->GetEnv (vm, &envp, JNI_VERSION_1_4) != JNI_OK) { return JNI_VERSION_1_4; } env = (JNIEnv *) envp; #if SIZEOF_VOID_P == 8 /** we get to here successfully */ rawDataClass = (*env)->FindClass (env, "gnu/classpath/Pointer64"); /** we segfault before we get to here */ if (rawDataClass != NULL) rawDataClass = (*env)->NewGlobalRef (env, rawDataClass);
Hide
Ian Rogers added a comment -

Poisoned is ok on PPC32-OSX, this issue seems related to AIX so I think Dave will be the only one able to fix it.

Show
Ian Rogers added a comment - Poisoned is ok on PPC32-OSX, this issue seems related to AIX so I think Dave will be the only one able to fix it.
Hide
David Grove added a comment -

I am looking at this, but it also fails on ppc-linux, so it is not AIX specific.

Show
David Grove added a comment - I am looking at this, but it also fails on ppc-linux, so it is not AIX specific.
Hide
Daniel Frampton added a comment -

Fixed in r14839.

Leaving open for Dave to double check the change (and confirm it is being included in 3.0) as the release is imminent.

Show
Daniel Frampton added a comment - Fixed in r14839. Leaving open for Dave to double check the change (and confirm it is being included in 3.0) as the release is imminent.
Hide
Daniel Frampton added a comment -

(we also need to check the status for 64 bit)

Show
Daniel Frampton added a comment - (we also need to check the status for 64 bit)
Hide
David Grove added a comment -

will respin 3.0.0 release branch to pick up fix.

Show
David Grove added a comment - will respin 3.0.0 release branch to pick up fix.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: