-
Bug
-
Resolution: Fixed
-
P2
-
7
-
b46
-
b57
-
x86
-
solaris_10, windows_xp
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2175102 | OpenJDK6 | Alex Menkov | P2 | Resolved | Fixed | b16 |
#!/bin/bash
export JAVA=/export/jdk/jdk1.7.0/bin/java
export CLASSPATH="/export/JCK/JCK-runtime-7/classes"
OPTS="-d64"
TESTS[0]="javasoft.sqe.tests.api.javax.sound.midi.ControllerEventListener.ListenerTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/ControllerEventListener/index.html#Listener" TESTS[1]="javasoft.sqe.tests.api.javax.sound.midi.Instrument.getCtorTests"
TESTS[2]="javasoft.sqe.tests.api.javax.sound.midi.MetaEventListener.ListenerTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/MetaEventListener/index.html#Listener"
TESTS[3]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.MidiChannelTests"
TESTS[4]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.MonoTests"
TESTS[5]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.MuteOmniTests"
TESTS[6]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.PitchBendTests"
TESTS[7]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.PressureTests"
TESTS[8]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.ProgramTests"
TESTS[9]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.SoloTests"
TESTS[10]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.controlTests"
TESTS[11]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.localControlTests"
TESTS[12]="javasoft.sqe.tests.api.javax.sound.midi.MidiDevice.getTests"
TESTS[13]="javasoft.sqe.tests.api.javax.sound.midi.MidiDevice.openCloseTests"
TESTS[14]="javasoft.sqe.tests.api.javax.sound.midi.MidiDevice.recvTransmTests"
TESTS[15]="javasoft.sqe.tests.api.javax.sound.midi.MidiSystem.getTests"
TESTS[16]="javasoft.sqe.tests.api.javax.sound.midi.Receiver.ReceiverTests"
TESTS[17]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.ListenerTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Listener -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Listener"
TESTS[18]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.LoopTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Loop -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Loop"
TESTS[19]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.MuteSoloTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Loop -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Loop"
TESTS[20]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.PlayTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Play -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Play"
TESTS[21]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.RecordTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Record -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Record"
TESTS[22]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.SequencerTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Sequencer -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Sequencer"
TESTS[23]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.SyncTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Sync -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Sync"
TESTS[24]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.TempoTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Tempo -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Tempo"
TESTS[25]="javasoft.sqe.tests.api.javax.sound.midi.Soundbank.InstrumentTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Instrument -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Instrument"
TESTS[26]="javasoft.sqe.tests.api.javax.sound.midi.Soundbank.ResourceTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Resource -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Resource"
TESTS[27]="javasoft.sqe.tests.api.javax.sound.midi.Soundbank.SoundbankTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Soundbank -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Soundbank"
TESTS[28]="javasoft.sqe.tests.api.javax.sound.midi.Soundbank.getTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#get -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#get"
TESTS[29]="javasoft.sqe.tests.api.javax.sound.midi.SoundbankResource.getCtorTests"
TESTS[20]="javasoft.sqe.tests.api.javax.sound.midi.SoundbankResource.getDataTests"
TESTS[31]="javasoft.sqe.tests.api.javax.sound.midi.SoundbankResource.getNameTests"
TESTS[32]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.SynthesizerTests"
TESTS[33]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.VoiceTests"
TESTS[34]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.getInstrumentsTests"
TESTS[35]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.loadTests"
TESTS[36]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.remapTests"
TESTS[37]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.unloadTests"
for ((i=0;i<38;i++)); do
echo ${TESTS[${i}]}
$JAVA $OPTS -version 1>$i 2>&1
$JAVA $OPTS ${TESTS[${i}]} 1>>$i 2>&1
done
JCK : JCK runtime 7 b10
J2SE : FAIL - since jdk 7 build 46
Platform[s] : FAIL - Solaris 10 x64 (pass on Solaris 10 sparc)
Java options : FAIL - -d64 (pass -d32)
JCK : JCK runtime 7 b10
J2SE : FAIL - since jdk 7 build 46
Platform[s] : FAIL - Win XP x86
Java options : FAIL - default
Starting form jdk7 b46 following tests fails on x64 Solaris 10 (64 bit bundles). Same failures were also seen in Win XP home 32 bit jvm.
api/javax_sound/midi/ControllerEventListener/index.html#Listener[ControllerEventListener2001]
api/javax_sound/midi/Instrument/index.html#getCtor[getCtor001]
api/javax_sound/midi/MetaEventListener/index.html#Listener[MetaEventListener2001]
api/javax_sound/midi/MidiChannel/index.html#MidiChannel[MidiChannel2001]
api/javax_sound/midi/MidiChannel/index.html#MidiChannel[MidiChannel2002]
api/javax_sound/midi/MidiChannel/index.html#Mono[Mono001]
api/javax_sound/midi/MidiChannel/index.html#Mono[Mono002]
api/javax_sound/midi/MidiChannel/index.html#MuteOmni[MuteOmni001]
api/javax_sound/midi/MidiChannel/index.html#MuteOmni[MuteOmni002]
api/javax_sound/midi/MidiChannel/index.html#MuteOmni[MuteOmni003]
api/javax_sound/midi/MidiChannel/index.html#PitchBend[PitchBend001]
api/javax_sound/midi/MidiChannel/index.html#Pressure[Pressure001]
api/javax_sound/midi/MidiChannel/index.html#Pressure[Pressure002]
api/javax_sound/midi/MidiChannel/index.html#Pressure[Pressure003]
api/javax_sound/midi/MidiChannel/index.html#Program[Program001]
api/javax_sound/midi/MidiChannel/index.html#Program[Program002]
api/javax_sound/midi/MidiChannel/index.html#Solo[Solo001]
api/javax_sound/midi/MidiChannel/index.html#control[control001]
api/javax_sound/midi/MidiChannel/index.html#control[control002]
api/javax_sound/midi/MidiChannel/index.html#control[control003]
api/javax_sound/midi/MidiChannel/index.html#control[control004]
api/javax_sound/midi/MidiChannel/index.html#localControl[localControl001]
api/javax_sound/midi/MidiDevice/index.html#get[get002]
api/javax_sound/midi/MidiDevice/index.html#get[get003]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose001]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose002]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose003]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose004]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose005]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose006]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose007]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm001]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm002]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm003]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm004]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm005]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm006]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm007]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm008]
api/javax_sound/midi/MidiSystem/index.html#get[get002]
api/javax_sound/midi/MidiSystem/index.html#get[get005]
api/javax_sound/midi/MidiSystem/index.html#get[get006]
api/javax_sound/midi/MidiSystem/index.html#get[get007]
api/javax_sound/midi/MidiSystem/index.html#get[get008]
api/javax_sound/midi/MidiSystem/index.html#get[get009]
api/javax_sound/midi/MidiSystem/index.html#get[get010]
api/javax_sound/midi/MidiSystem/index.html#get[get012]
api/javax_sound/midi/MidiSystem/index.html#get[get013]
api/javax_sound/midi/Receiver/index.html#Receiver[Receiver001]
api/javax_sound/midi/Receiver/index.html#Receiver[Receiver002]
api/javax_sound/midi/Receiver/index.html#Receiver[Receiver003]
api/javax_sound/midi/Receiver/index.html#Receiver[Receiver004]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener001]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener002]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener003]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener004]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener005]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener006]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener007]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener008]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop001]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop002]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop003]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop004]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop005]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop006]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop009]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop010]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop014]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop015]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop016]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop017]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop018]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop019]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop020]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop021]
api/javax_sound/midi/Sequencer/index.html#MuteSolo[MuteSolo001]
api/javax_sound/midi/Sequencer/index.html#MuteSolo[MuteSolo002]
api/javax_sound/midi/Sequencer/index.html#MuteSolo[MuteSolo003]
api/javax_sound/midi/Sequencer/index.html#MuteSolo[MuteSolo004]
api/javax_sound/midi/Sequencer/index.html#MuteSolo[MuteSolo009]
api/javax_sound/midi/Sequencer/index.html#Play[Play001]
api/javax_sound/midi/Sequencer/index.html#Play[Play002]
api/javax_sound/midi/Sequencer/index.html#Play[Play003]
api/javax_sound/midi/Sequencer/index.html#Record[Record001]
api/javax_sound/midi/Sequencer/index.html#Record[Record002]
api/javax_sound/midi/Sequencer/index.html#Record[Record003]
api/javax_sound/midi/Sequencer/index.html#Record[Record004]
api/javax_sound/midi/Sequencer/index.html#Record[Record005]
api/javax_sound/midi/Sequencer/index.html#Record[Record007]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer001]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer002]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer003]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer004]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer005]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer006]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer007]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer008]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer009]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer010]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer011]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer012]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer013]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer1001]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer2001]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer2002]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer2003]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer2004]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer2005]
api/javax_sound/midi/Sequencer/index.html#Sync[Sync001]
api/javax_sound/midi/Sequencer/index.html#Sync[Sync002]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo001]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo002]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo003]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo004]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo005]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo006]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo007]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo008]
api/javax_sound/midi/Soundbank/index.html#Instrument[Instrument001]
api/javax_sound/midi/Soundbank/index.html#Instrument[Instrument002]
api/javax_sound/midi/Soundbank/index.html#Instrument[Instrument003]
api/javax_sound/midi/Soundbank/index.html#Resource[Resource001]
api/javax_sound/midi/Soundbank/index.html#Resource[Resource002]
api/javax_sound/midi/Soundbank/index.html#Soundbank[Soundbank2002]
api/javax_sound/midi/Soundbank/index.html#get[get001]
api/javax_sound/midi/SoundbankResource/index.html#getCtor[getCtor001]
api/javax_sound/midi/SoundbankResource/index.html#getData[getCtor006]
api/javax_sound/midi/SoundbankResource/index.html#getData[getCtor007]
api/javax_sound/midi/SoundbankResource/index.html#getName[getName001]
api/javax_sound/midi/SoundbankResource/index.html#getName[getName002]
api/javax_sound/midi/SoundbankResource/index.html#getName[getName003]
api/javax_sound/midi/Synthesizer/index.html#Synthesizer[Synthesizer001]
api/javax_sound/midi/Synthesizer/index.html#Synthesizer[Synthesizer002]
api/javax_sound/midi/Synthesizer/index.html#Synthesizer[Synthesizer2001]
api/javax_sound/midi/Synthesizer/index.html#Voice[Voice001]
api/javax_sound/midi/Synthesizer/index.html#getInstruments[getInstruments001]
api/javax_sound/midi/Synthesizer/index.html#getInstruments[getInstruments002]
api/javax_sound/midi/Synthesizer/index.html#getInstruments[getInstruments003]
api/javax_sound/midi/Synthesizer/index.html#load[load001]
api/javax_sound/midi/Synthesizer/index.html#load[load002]
api/javax_sound/midi/Synthesizer/index.html#load[load003]
api/javax_sound/midi/Synthesizer/index.html#load[load005]
api/javax_sound/midi/Synthesizer/index.html#load[load007]
api/javax_sound/midi/Synthesizer/index.html#load[load008]
api/javax_sound/midi/Synthesizer/index.html#load[load010]
api/javax_sound/midi/Synthesizer/index.html#load[load011]
api/javax_sound/midi/Synthesizer/index.html#load[load012]
api/javax_sound/midi/Synthesizer/index.html#remap[remap001]
api/javax_sound/midi/Synthesizer/index.html#unload[unload002]
api/javax_sound/midi/Synthesizer/index.html#unload[unload003]
api/javax_sound/midi/Synthesizer/index.html#unload[unload005]
api/javax_sound/midi/Synthesizer/index.html#unload[unload07]
All these tests fails with the exception like this:
java.lang.IllegalArgumentException: No line matching interface SourceDataLine supporting format PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian is supported.
at javax.sound.sampled.AudioSystem.getLine(AudioSystem.java:476)
at javax.sound.sampled.AudioSystem.getSourceDataLine(AudioSystem.java:604)
at com.sun.media.sound.SoftSynthesizer.open(SoftSynthesizer.java:906)
at com.sun.media.sound.SoftSynthesizer.open(SoftSynthesizer.java:881)
at com.sun.media.sound.SoftSynthesizer.getReceiverReferenceCounting(SoftSynthesizer.java:1165)
at javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:431)
at javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:365)
at javasoft.sqe.tests.api.javax.sound.midi.ControllerEventListener.ListenerTests.ControllerEventListener2001(L
istenerTests.java:69)
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:623)
at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:406)
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.javax.sound.midi.ControllerEventListener.ListenerTests.main(ListenerTests.java:26)
Steps to reproduce:
1. Install jdk (for ex. to /export/jdk/jdk1.7.0)
2. Install JCK7 (for ex. to /export/JCK/JCK-runtime-7)
3. Prepare a simple script to run a tests. (See below)
All these tests passes on the same machine with b45 of jdk7.
Installed jck could be found at /java/re/jck/7/promoted/latest/binaries/JCK-runtime-7/
Test sources is at /java/re/jck/7/promoted/latest/binaries/JCK-runtime-7/tests
Further investigation shows that sound card was not properly installed on Win XP test machine.
Still there is a regression. For previous versions jck tests pass because they expect javax.sound.midi.MidiUnavailableException in case midi is not availible. From b46 not MidiUnavailableException but java.lang.IllegalArgumentException thrown.
Java docs (http://download.java.net/jdk7/docs/api/javax/sound/midi/package-summary.html) says abount 2 exception:
InvalidMidiDataException An InvalidMidiDataException indicates that inappropriate MIDI data was encountered.
MidiUnavailableException A MidiUnavailableException is thrown when a requested MIDI component cannot be opened or created because it is unavailable.
For example documentaion about javax.sound.midi.MidiSystem.getSequencer says
public static Sequencer getSequencer()
throws MidiUnavailableException
Obtains the default Sequencer, connected to a default device. The returned Sequencer instance is connected to the default Synthesizer, as returned by getSynthesizer(). If there is no Synthesizer available, or the default Synthesizer cannot be opened, the sequencer is connected to the default Receiver, as returned by getReceiver(). The connection is made by retrieving a Transmitter instance from the Sequencer and setting its Receiver. Closing and re-opening the sequencer will restore the connection to the default device.
This method is equivalent to calling getSequencer(true).
If the system property javax.sound.midi.Sequencer is defined or it is defined in the file "sound.properties", it is used to identify the default sequencer. For details, refer to the class description.
Returns:
the default sequencer, connected to a default Receiver
Throws:
MidiUnavailableException - if the sequencer is not available due to resource restrictions, or there is no Receiver available by any installed MidiDevice, or no sequencer is installed in the system.
export JAVA=/export/jdk/jdk1.7.0/bin/java
export CLASSPATH="/export/JCK/JCK-runtime-7/classes"
OPTS="-d64"
TESTS[0]="javasoft.sqe.tests.api.javax.sound.midi.ControllerEventListener.ListenerTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/ControllerEventListener/index.html#Listener" TESTS[1]="javasoft.sqe.tests.api.javax.sound.midi.Instrument.getCtorTests"
TESTS[2]="javasoft.sqe.tests.api.javax.sound.midi.MetaEventListener.ListenerTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/MetaEventListener/index.html#Listener"
TESTS[3]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.MidiChannelTests"
TESTS[4]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.MonoTests"
TESTS[5]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.MuteOmniTests"
TESTS[6]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.PitchBendTests"
TESTS[7]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.PressureTests"
TESTS[8]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.ProgramTests"
TESTS[9]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.SoloTests"
TESTS[10]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.controlTests"
TESTS[11]="javasoft.sqe.tests.api.javax.sound.midi.MidiChannel.localControlTests"
TESTS[12]="javasoft.sqe.tests.api.javax.sound.midi.MidiDevice.getTests"
TESTS[13]="javasoft.sqe.tests.api.javax.sound.midi.MidiDevice.openCloseTests"
TESTS[14]="javasoft.sqe.tests.api.javax.sound.midi.MidiDevice.recvTransmTests"
TESTS[15]="javasoft.sqe.tests.api.javax.sound.midi.MidiSystem.getTests"
TESTS[16]="javasoft.sqe.tests.api.javax.sound.midi.Receiver.ReceiverTests"
TESTS[17]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.ListenerTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Listener -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Listener"
TESTS[18]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.LoopTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Loop -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Loop"
TESTS[19]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.MuteSoloTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Loop -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Loop"
TESTS[20]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.PlayTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Play -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Play"
TESTS[21]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.RecordTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Record -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Record"
TESTS[22]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.SequencerTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Sequencer -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Sequencer"
TESTS[23]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.SyncTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Sync -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Sync"
TESTS[24]="javasoft.sqe.tests.api.javax.sound.midi.Sequencer.TempoTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Tempo -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Sequencer/index.html#Tempo"
TESTS[25]="javasoft.sqe.tests.api.javax.sound.midi.Soundbank.InstrumentTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Instrument -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Instrument"
TESTS[26]="javasoft.sqe.tests.api.javax.sound.midi.Soundbank.ResourceTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Resource -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Resource"
TESTS[27]="javasoft.sqe.tests.api.javax.sound.midi.Soundbank.SoundbankTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Soundbank -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#Soundbank"
TESTS[28]="javasoft.sqe.tests.api.javax.sound.midi.Soundbank.getTests -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#get -TestURL file:/export/JCK/JCK-runtime-7/tests/api/javax_sound/midi/Soundbank/index.html#get"
TESTS[29]="javasoft.sqe.tests.api.javax.sound.midi.SoundbankResource.getCtorTests"
TESTS[20]="javasoft.sqe.tests.api.javax.sound.midi.SoundbankResource.getDataTests"
TESTS[31]="javasoft.sqe.tests.api.javax.sound.midi.SoundbankResource.getNameTests"
TESTS[32]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.SynthesizerTests"
TESTS[33]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.VoiceTests"
TESTS[34]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.getInstrumentsTests"
TESTS[35]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.loadTests"
TESTS[36]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.remapTests"
TESTS[37]="javasoft.sqe.tests.api.javax.sound.midi.Synthesizer.unloadTests"
for ((i=0;i<38;i++)); do
echo ${TESTS[${i}]}
$JAVA $OPTS -version 1>$i 2>&1
$JAVA $OPTS ${TESTS[${i}]} 1>>$i 2>&1
done
JCK : JCK runtime 7 b10
J2SE : FAIL - since jdk 7 build 46
Platform[s] : FAIL - Solaris 10 x64 (pass on Solaris 10 sparc)
Java options : FAIL - -d64 (pass -d32)
JCK : JCK runtime 7 b10
J2SE : FAIL - since jdk 7 build 46
Platform[s] : FAIL - Win XP x86
Java options : FAIL - default
Starting form jdk7 b46 following tests fails on x64 Solaris 10 (64 bit bundles). Same failures were also seen in Win XP home 32 bit jvm.
api/javax_sound/midi/ControllerEventListener/index.html#Listener[ControllerEventListener2001]
api/javax_sound/midi/Instrument/index.html#getCtor[getCtor001]
api/javax_sound/midi/MetaEventListener/index.html#Listener[MetaEventListener2001]
api/javax_sound/midi/MidiChannel/index.html#MidiChannel[MidiChannel2001]
api/javax_sound/midi/MidiChannel/index.html#MidiChannel[MidiChannel2002]
api/javax_sound/midi/MidiChannel/index.html#Mono[Mono001]
api/javax_sound/midi/MidiChannel/index.html#Mono[Mono002]
api/javax_sound/midi/MidiChannel/index.html#MuteOmni[MuteOmni001]
api/javax_sound/midi/MidiChannel/index.html#MuteOmni[MuteOmni002]
api/javax_sound/midi/MidiChannel/index.html#MuteOmni[MuteOmni003]
api/javax_sound/midi/MidiChannel/index.html#PitchBend[PitchBend001]
api/javax_sound/midi/MidiChannel/index.html#Pressure[Pressure001]
api/javax_sound/midi/MidiChannel/index.html#Pressure[Pressure002]
api/javax_sound/midi/MidiChannel/index.html#Pressure[Pressure003]
api/javax_sound/midi/MidiChannel/index.html#Program[Program001]
api/javax_sound/midi/MidiChannel/index.html#Program[Program002]
api/javax_sound/midi/MidiChannel/index.html#Solo[Solo001]
api/javax_sound/midi/MidiChannel/index.html#control[control001]
api/javax_sound/midi/MidiChannel/index.html#control[control002]
api/javax_sound/midi/MidiChannel/index.html#control[control003]
api/javax_sound/midi/MidiChannel/index.html#control[control004]
api/javax_sound/midi/MidiChannel/index.html#localControl[localControl001]
api/javax_sound/midi/MidiDevice/index.html#get[get002]
api/javax_sound/midi/MidiDevice/index.html#get[get003]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose001]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose002]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose003]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose004]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose005]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose006]
api/javax_sound/midi/MidiDevice/index.html#openClose[openClose007]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm001]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm002]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm003]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm004]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm005]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm006]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm007]
api/javax_sound/midi/MidiDevice/index.html#recvTransm[recvTransm008]
api/javax_sound/midi/MidiSystem/index.html#get[get002]
api/javax_sound/midi/MidiSystem/index.html#get[get005]
api/javax_sound/midi/MidiSystem/index.html#get[get006]
api/javax_sound/midi/MidiSystem/index.html#get[get007]
api/javax_sound/midi/MidiSystem/index.html#get[get008]
api/javax_sound/midi/MidiSystem/index.html#get[get009]
api/javax_sound/midi/MidiSystem/index.html#get[get010]
api/javax_sound/midi/MidiSystem/index.html#get[get012]
api/javax_sound/midi/MidiSystem/index.html#get[get013]
api/javax_sound/midi/Receiver/index.html#Receiver[Receiver001]
api/javax_sound/midi/Receiver/index.html#Receiver[Receiver002]
api/javax_sound/midi/Receiver/index.html#Receiver[Receiver003]
api/javax_sound/midi/Receiver/index.html#Receiver[Receiver004]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener001]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener002]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener003]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener004]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener005]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener006]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener007]
api/javax_sound/midi/Sequencer/index.html#Listener[Listener008]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop001]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop002]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop003]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop004]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop005]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop006]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop009]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop010]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop014]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop015]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop016]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop017]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop018]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop019]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop020]
api/javax_sound/midi/Sequencer/index.html#Loop[Loop021]
api/javax_sound/midi/Sequencer/index.html#MuteSolo[MuteSolo001]
api/javax_sound/midi/Sequencer/index.html#MuteSolo[MuteSolo002]
api/javax_sound/midi/Sequencer/index.html#MuteSolo[MuteSolo003]
api/javax_sound/midi/Sequencer/index.html#MuteSolo[MuteSolo004]
api/javax_sound/midi/Sequencer/index.html#MuteSolo[MuteSolo009]
api/javax_sound/midi/Sequencer/index.html#Play[Play001]
api/javax_sound/midi/Sequencer/index.html#Play[Play002]
api/javax_sound/midi/Sequencer/index.html#Play[Play003]
api/javax_sound/midi/Sequencer/index.html#Record[Record001]
api/javax_sound/midi/Sequencer/index.html#Record[Record002]
api/javax_sound/midi/Sequencer/index.html#Record[Record003]
api/javax_sound/midi/Sequencer/index.html#Record[Record004]
api/javax_sound/midi/Sequencer/index.html#Record[Record005]
api/javax_sound/midi/Sequencer/index.html#Record[Record007]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer001]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer002]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer003]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer004]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer005]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer006]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer007]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer008]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer009]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer010]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer011]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer012]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer013]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer1001]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer2001]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer2002]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer2003]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer2004]
api/javax_sound/midi/Sequencer/index.html#Sequencer[Sequencer2005]
api/javax_sound/midi/Sequencer/index.html#Sync[Sync001]
api/javax_sound/midi/Sequencer/index.html#Sync[Sync002]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo001]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo002]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo003]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo004]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo005]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo006]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo007]
api/javax_sound/midi/Sequencer/index.html#Tempo[Tempo008]
api/javax_sound/midi/Soundbank/index.html#Instrument[Instrument001]
api/javax_sound/midi/Soundbank/index.html#Instrument[Instrument002]
api/javax_sound/midi/Soundbank/index.html#Instrument[Instrument003]
api/javax_sound/midi/Soundbank/index.html#Resource[Resource001]
api/javax_sound/midi/Soundbank/index.html#Resource[Resource002]
api/javax_sound/midi/Soundbank/index.html#Soundbank[Soundbank2002]
api/javax_sound/midi/Soundbank/index.html#get[get001]
api/javax_sound/midi/SoundbankResource/index.html#getCtor[getCtor001]
api/javax_sound/midi/SoundbankResource/index.html#getData[getCtor006]
api/javax_sound/midi/SoundbankResource/index.html#getData[getCtor007]
api/javax_sound/midi/SoundbankResource/index.html#getName[getName001]
api/javax_sound/midi/SoundbankResource/index.html#getName[getName002]
api/javax_sound/midi/SoundbankResource/index.html#getName[getName003]
api/javax_sound/midi/Synthesizer/index.html#Synthesizer[Synthesizer001]
api/javax_sound/midi/Synthesizer/index.html#Synthesizer[Synthesizer002]
api/javax_sound/midi/Synthesizer/index.html#Synthesizer[Synthesizer2001]
api/javax_sound/midi/Synthesizer/index.html#Voice[Voice001]
api/javax_sound/midi/Synthesizer/index.html#getInstruments[getInstruments001]
api/javax_sound/midi/Synthesizer/index.html#getInstruments[getInstruments002]
api/javax_sound/midi/Synthesizer/index.html#getInstruments[getInstruments003]
api/javax_sound/midi/Synthesizer/index.html#load[load001]
api/javax_sound/midi/Synthesizer/index.html#load[load002]
api/javax_sound/midi/Synthesizer/index.html#load[load003]
api/javax_sound/midi/Synthesizer/index.html#load[load005]
api/javax_sound/midi/Synthesizer/index.html#load[load007]
api/javax_sound/midi/Synthesizer/index.html#load[load008]
api/javax_sound/midi/Synthesizer/index.html#load[load010]
api/javax_sound/midi/Synthesizer/index.html#load[load011]
api/javax_sound/midi/Synthesizer/index.html#load[load012]
api/javax_sound/midi/Synthesizer/index.html#remap[remap001]
api/javax_sound/midi/Synthesizer/index.html#unload[unload002]
api/javax_sound/midi/Synthesizer/index.html#unload[unload003]
api/javax_sound/midi/Synthesizer/index.html#unload[unload005]
api/javax_sound/midi/Synthesizer/index.html#unload[unload07]
All these tests fails with the exception like this:
java.lang.IllegalArgumentException: No line matching interface SourceDataLine supporting format PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian is supported.
at javax.sound.sampled.AudioSystem.getLine(AudioSystem.java:476)
at javax.sound.sampled.AudioSystem.getSourceDataLine(AudioSystem.java:604)
at com.sun.media.sound.SoftSynthesizer.open(SoftSynthesizer.java:906)
at com.sun.media.sound.SoftSynthesizer.open(SoftSynthesizer.java:881)
at com.sun.media.sound.SoftSynthesizer.getReceiverReferenceCounting(SoftSynthesizer.java:1165)
at javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:431)
at javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:365)
at javasoft.sqe.tests.api.javax.sound.midi.ControllerEventListener.ListenerTests.ControllerEventListener2001(L
istenerTests.java:69)
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:623)
at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:406)
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.javax.sound.midi.ControllerEventListener.ListenerTests.main(ListenerTests.java:26)
Steps to reproduce:
1. Install jdk (for ex. to /export/jdk/jdk1.7.0)
2. Install JCK7 (for ex. to /export/JCK/JCK-runtime-7)
3. Prepare a simple script to run a tests. (See below)
All these tests passes on the same machine with b45 of jdk7.
Installed jck could be found at /java/re/jck/7/promoted/latest/binaries/JCK-runtime-7/
Test sources is at /java/re/jck/7/promoted/latest/binaries/JCK-runtime-7/tests
Further investigation shows that sound card was not properly installed on Win XP test machine.
Still there is a regression. For previous versions jck tests pass because they expect javax.sound.midi.MidiUnavailableException in case midi is not availible. From b46 not MidiUnavailableException but java.lang.IllegalArgumentException thrown.
Java docs (http://download.java.net/jdk7/docs/api/javax/sound/midi/package-summary.html) says abount 2 exception:
InvalidMidiDataException An InvalidMidiDataException indicates that inappropriate MIDI data was encountered.
MidiUnavailableException A MidiUnavailableException is thrown when a requested MIDI component cannot be opened or created because it is unavailable.
For example documentaion about javax.sound.midi.MidiSystem.getSequencer says
public static Sequencer getSequencer()
throws MidiUnavailableException
Obtains the default Sequencer, connected to a default device. The returned Sequencer instance is connected to the default Synthesizer, as returned by getSynthesizer(). If there is no Synthesizer available, or the default Synthesizer cannot be opened, the sequencer is connected to the default Receiver, as returned by getReceiver(). The connection is made by retrieving a Transmitter instance from the Sequencer and setting its Receiver. Closing and re-opening the sequencer will restore the connection to the default device.
This method is equivalent to calling getSequencer(true).
If the system property javax.sound.midi.Sequencer is defined or it is defined in the file "sound.properties", it is used to identify the default sequencer. For details, refer to the class description.
Returns:
the default sequencer, connected to a default Receiver
Throws:
MidiUnavailableException - if the sequencer is not available due to resource restrictions, or there is no Receiver available by any installed MidiDevice, or no sequencer is installed in the system.
- backported by
-
JDK-2175102 38 JCK api/javax_sound/midi/ tests fails starting from jdk7 b46
-
- Resolved
-