Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6213473

JCK1.5: JNI call made with exception when -Xcheck:jni is used.

    Details

    • Subcomponent:
    • Introduced In Build:
      mantis
    • Introduced In Version:
    • Resolved In Build:
      b04
    • CPU:
      generic, x86
    • OS:
      linux, solaris

      Backports

        Description

        JDK : 5.0, 5.0u1, 5.0u2, 6.0
        JCK : jck1.5
        Platform[s] : Sparc Sol10 and RH3.0 was tested. (windows 2000 passed)
        switch/Mode : -Xcheck:jni ( passed with default)
        Note: : This switch didn't tested on 5.0 or 5.0u1
        JCK test owner : http://javaweb.eng/jck/usr/owners.jto
        Failing Test :
         api/java_applet/Applet/index.html#ACMethods
         api/java_applet/Applet/index.html#NewAudioClip
         api/java_lang/Thread/index.html#isAlive
         api/java_lang/Thread/index.html#stop1
         api/javax_sound/midi/ControllerEventListener/index.html#Listener
         api/javax_sound/midi/Instrument/index.html#getCtor
         api/javax_sound/midi/MetaEventListener/index.html#Listener
         api/javax_sound/midi/MidiChannel/index.html#MidiChannel
         api/javax_sound/midi/MidiChannel/index.html#Mono
         api/javax_sound/midi/MidiChannel/index.html#MuteOmni
         api/javax_sound/midi/MidiChannel/index.html#PitchBend
         api/javax_sound/midi/MidiChannel/index.html#Pressure
         api/javax_sound/midi/MidiChannel/index.html#Program
         api/javax_sound/midi/MidiChannel/index.html#Solo
         api/javax_sound/midi/MidiChannel/index.html#control
         api/javax_sound/midi/MidiChannel/index.html#localControl
         api/javax_sound/midi/MidiDevice/index.html#get
         api/javax_sound/midi/MidiDevice/index.html#openClose
         api/javax_sound/midi/MidiDevice/index.html#recvTransm
         api/javax_sound/midi/MidiSystem/index.html#MidiSystem
         api/javax_sound/midi/MidiSystem/index.html#get
         api/javax_sound/midi/MidiSystem/index.html#getFile
         api/javax_sound/midi/Receiver/index.html#Receiver
         api/javax_sound/midi/Sequencer/index.html#Listener
         api/javax_sound/midi/Sequencer/index.html#Loop
         api/javax_sound/midi/Sequencer/index.html#MuteSolo
         api/javax_sound/midi/Sequencer/index.html#Play
         api/javax_sound/midi/Sequencer/index.html#Record
         api/javax_sound/midi/Sequencer/index.html#Sequencer
         api/javax_sound/midi/Sequencer/index.html#Sync
         api/javax_sound/midi/Sequencer/index.html#Tempo
         api/javax_sound/midi/Soundbank/index.html#Instrument
         api/javax_sound/midi/Soundbank/index.html#Resource
         api/javax_sound/midi/Soundbank/index.html#Soundbank
         api/javax_sound/midi/Soundbank/index.html#get
         api/javax_sound/midi/SoundbankResource/index.html#getCtor
         api/javax_sound/midi/SoundbankResource/index.html#getData
         api/javax_sound/midi/SoundbankResource/index.html#getName
         api/javax_sound/midi/Synthesizer/index.html#Synthesizer
         api/javax_sound/midi/Synthesizer/index.html#Voice
         api/javax_sound/midi/Synthesizer/index.html#getInstruments
         api/javax_sound/midi/Synthesizer/index.html#load
         api/javax_sound/midi/Synthesizer/index.html#remap
         api/javax_sound/midi/Synthesizer/index.html#unload
         api/javax_sound/sampled/AudioInputStream/index.html#Ctor
         api/javax_sound/sampled/AudioSystem/index.html#EaseOfUse
         api/javax_sound/sampled/AudioSystem/index.html#getLine
         api/javax_sound/sampled/AudioSystem/index.html#getMixer
         api/javax_sound/sampled/AudioSystem/index.html#getMixerInfo
         api/javax_sound/sampled/AudioSystem/index.html#getSourceLineInfo
         api/javax_sound/sampled/AudioSystem/index.html#getTargetLineInfo
         api/javax_sound/sampled/AudioSystem/index.html#isLineSupported
         api/javax_sound/sampled/Clip/index.html#ClipTests
         api/javax_sound/sampled/Line/index.html#Line
         api/javax_sound/sampled/Line/index.html#Open
         api/javax_sound/sampled/LineListener/index.html#LineListener
         api/javax_sound/sampled/Mixer/index.html#Mixer
         api/javax_sound/sampled/Mixer/index.html#getLine
         api/javax_sound/sampled/Mixer/index.html#getMaxLines
         api/javax_sound/sampled/Mixer/index.html#getSourceLineInfo
         api/javax_sound/sampled/Mixer/index.html#getSourceLines
         api/javax_sound/sampled/Mixer/index.html#getTargetLineInfo
         api/javax_sound/sampled/Mixer/index.html#getTargetLines
         api/javax_sound/sampled/Mixer/index.html#isLineSupported
         api/javax_sound/sampled/Mixer/index.html#isSynchronizSupported
         api/javax_sound/sampled/Mixer/index.html#open
         api/javax_sound/sampled/Mixer/index.html#synchronize
         api/javax_sound/sampled/Mixer/index.html#unsynchronize
         api/javax_sound/sampled/SourceDataLine/index.html#SourceDataLine
         api/javax_sound/sampled/SourceDataLine/index.html#open
         api/javax_sound/sampled/SourceDataLine/index.html#write
         api/javax_sound/sampled/TargetDataLine/index.html#TargetDataLine
         api/javax_sound/sampled/TargetDataLine/index.html#open
         api/javax_sound/sampled/TargetDataLine/index.html#read

        VM failures:
        -------------

        unexpected exit code: exit code 134
         
        vm/jdwp/ThreadReference/Stop/stop001/stop001.html
        vm/jni/NewWeakGlobalRef/nwgr001/nwgr00101m1/nwgr00101m1.html
        vm/jvmti/GetCurrentContendedMonitor/gccm001/gccm00102/gccm00102.html

        unexpected exit code: exit code 139
         
        vm/jvmti/SetJNIFunctionTable/sjni001/sjni00101/sjni00101.html


        Test source location:
        =====================


        /net/koori.sfbay/onestop/jck/1.5/latest/binaries/JCK-runtime-15/tests/api/java_applet/Applet/ACMethodsTests.java


        jtr file location:
        ==================
        /net/cady/export/dtf/unified/results/tiger_u2/b04/jck/jck-jck_runtime-rhas3_amd64_Xcheck:jni-2005-01-03-10-19-10-0736/workDir/api/java_applet/Applet/index_ACMethods.jtr

        It may move to
        /net/jsqalab/export/results/5.0u2/b04/jck/jck-jck_runtime-rhas3_amd64_Xcheck:jni-2005-01-03-10-19-10-0736/workDir/api/java_applet/Applet/index_ACMethods.jtr


        How to reproduce:
        ====================
        ACMethods.ksh -Xcheck:jni
        --------Script START---------------------
        #!/bin/ksh
        #
        # README: Modify these threev variables to fit your need:
        #
        # - ${executeClass}
        # - ${excludeCmd}
        # - ${executeClassArgs}
        # - ${executeContextArgs}
        # - ${executeTestURL}
        #
        #################################

        SWITCH=${1+$@}
        A=""
        executeClass="javasoft.sqe.tests.api.java.applet.Applet.ACMethodsTests"

        excludeCmd=""
        executeClassArgs=""
        executeteTestURL="-TestURL file:///net/jtgb4u4c.sfbay/export/sail1/testarea/jck1.5.b28/JCK-runtime-15/tests/api/java_applet/Applet/index.html#ACMethods"


        #executeContextArgs is used for vm testing.
        executeContextArgs=""



        #This is where you want the JDK to be use.
        #Example: JDK=/net/jdk/export/disk8/local.java/jdk1.3.1
        #/usr/local/java/jdk1.4.0_beta_refresh


        #This is where you want the JCK to be use.
        #Example: TESTBASE=/net/jdk/export/disk8/local.java/jck1.3a


        case `uname -s` in
          SunOS|Linux)
           DRIVE=/net/cady/export
           ;;
         *)
           # Map your drive y: to \\cady\export
           DRIVE="y:"
           ;;
        esac

        TESTBASE=$DRIVE/net/koori/onestop/jck/1.5/latest/binaries
        JCK=${TESTBASE}/JCK-runtime-15
        TESTBASE2=$DRIVE/net/jtgb4u4c/export/sail1/testarea/jck1.5
        JCK2=${TESTBASE2}/JCK-runtime-15

        JDK=$DRIVE/jdk1.6.0/promoted/all/b17/binaries/

        #JDK=$DRIVE/jdk1.5.0_02/promoted/all/b04/binaries/
        #JDK=$DRIVE/jdk1.5.0_01/latest/binaries/
        #JDK=$DRIVE/jdk1.5.0/latest/binaries/
        #JDK=$DRIVE/jdk1.5.0/latest/binaries/


        case `uname -s` in
          SunOS)
           ARCH=`uname -p`
           case $ARCH in
            sparc)
              sharedJDK=$JDK/solaris-sparcv9
              LIB_OS=SunOS.sparc
              ;;
            i386)
              sharedJDK=$JDK/solaris-i586
              LIB_OS=SunOS.x86
              ;;
           esac
           ;;
          Linux)
           sharedJDK=$JDK/linux-i586
           LIB_OS=linux.i386
           ;;
          *)
           sharedJDK=$JDK/windows-i586
           ARCH=wintel
           LIB_OS=win32
           ;;
        esac

        case `uname -s` in
         SunOS | Linux)

          CLASSPATH=${JCK}/classes:${JCK}/javatest.jar
          PATH=$sharedJDK/bin:$JDK/bin:$PATH
          ;;
         *)
          CLASSPATH="${JCK}/classes;${JCK}/javatest.jar"
          PATH="$sharedJDK/bin;$JDK/bin;$CLASSPATH;$PATH"
          ;;

        esac


        #DISPLAY=${DISPLAY-$HOST:0.0}

        if `echo $SWITCH|grep "\-d64" >/dev/null`; then
          LD_LIBRARY_PATH=${JCK2}/lib/sparcv9
        else
          LD_LIBRARY_PATH=${JCK2}/lib/$LIB_OS:$JCK2/lib/$LIB_OS/jmx
        fi

        export PATH CLASSPATH DISPLAY LD_LIBRARY_PATH

        echo $LD_LIBRARY_PATH

        echo $sharedJDK
        echo $CLASSPATH
        java ${SWITCH} -version

        ((x=0))
        while (( $x != 1 ))
        do

        echo testing $x
        echo $SWITCH
        #JDK=/export/jdk/b13/solaris-i586/jdk1.6.0/bin
        java ${SWITCH} -verify $A -Xfuture -cp $CLASSPATH -Djava.security.policy=${JCK}/lib/jck.policy -Djava.security.auth.policy=${JCK}/lib/java.auth.policy -Djava.security.auth.login.config=${JCK}/lib/java.login.config ${executeClass} ${excludeCmd} ${executeClassArgs} ${executeContextArgs} ${executeteTestURL}

        echo $?
        (( x = $x + 1 ))
        done


        --------Script END----------------------

        Test output:
        =============
        FATAL ERROR in native method: JNI call made with exception pending
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
        - locked <0x0000002adaa60530> (a java.util.Vector)
        - locked <0x0000002adaa605c0> (a java.util.Vector)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1668)
        at java.lang.Runtime.loadLibrary0(Runtime.java:822)
        - locked <0x0000002adaa74530> (a java.lang.Runtime)
        at java.lang.System.loadLibrary(System.java:992)
        at com.sun.media.sound.JSSecurityManager.loadLibrary(JSSecurityManager.java:74)
        at com.sun.media.sound.Platform.loadLibraries(Platform.java:162)
        at com.sun.media.sound.Platform.<clinit>(Platform.java:75)
        at com.sun.media.sound.Toolkit.getPCMConvertedAudioInputStream(Toolkit.java:197)
        at com.sun.media.sound.JavaSoundAudioClip.loadAudioData(JavaSoundAudioClip.java:290)
        at com.sun.media.sound.JavaSoundAudioClip.<init>(JavaSoundAudioClip.java:93)
        at sun.applet.AppletAudioClip.createAppletAudioClip(AppletAudioClip.java:108)
        at sun.applet.AppletAudioClip.<init>(AppletAudioClip.java:49)
        at java.applet.Applet.newAudioClip(Applet.java:273)
        at javasoft.sqe.tests.api.java.applet.Applet.NewStubAudioClip.<init>(NewStubAudioClip.java:26)
        at javasoft.sqe.tests.api.java.applet.Applet.StubAppletContext.getAudioClip(StubAppletContext.java:43)
        at java.applet.Applet.getAudioClip(Applet.java:289)
        at javasoft.sqe.tests.api.java.applet.Applet.ACMethodsTests.Applet20131(ACMethodsTests.java:273)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:399)
        at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
        at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:127)
        at javasoft.sqe.tests.api.java.applet.Applet.ACMethodsTests.main(ACMethodsTests.java:29)
        result: Failed. unexpected exit code: exit code 134
        Specific Machine Info:
        =====================
        For Solaris[sparc/x86] ->
        jtg-s121>uname -a
        SunOS jtg-s121 5.10 s10_74 sun4u sparc SUNW,Ultra-60

        For Linux ->
        [dtftest@bela jck]$ uname -a
        Linux bela 2.4.21-9.ELsmp #1 SMP Thu Jan 8 16:52:31 EST 2004 x86_64 x86_64 x86_64 GNU/Linux


        ###@###.### 2005-1-03 20:36:25 GMT
        ###@###.### 2005-1-06 18:08:17 GMT


        ###@###.### 2005-1-24 22:36:45 GMT

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  bobv Bob Vandette
                  Reporter:
                  tacheung Tak Wing Cheung (Inactive)
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: