RVM
  1. RVM
  2. RVM-442

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

          • Assignee:
            Daniel Frampton
            Reporter:
            Ian Rogers
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: