-
Bug
-
Resolution: Fixed
-
P4
-
17, 18
-
None
-
b08
import java.applet.AudioClip;
import java.io.IOException;
import java.net.URL;
public class AudioNpe {
public static void main(String[] args) throws IOException, InterruptedException {
URL url = new URL("https://file-examples-com.github.io/uploads/2017/11/file_example_WAV_1MG.wav");
AudioClip content = (AudioClip)url.getContent();
content.play();
Thread.sleep(10000L);
}
}
at java.lang.Thread.<init>(Thread.java:393)
at java.lang.Thread.<init>(Thread.java:760)
at com.sun.media.sound.JSSecurityManager.createThread(JSSecurityManager.java:115)
at com.sun.media.sound.DataPusher.start(DataPusher.java:117)
- locked <0x955> (a com.sun.media.sound.DataPusher)
at com.sun.media.sound.JavaSoundAudioClip.startImpl(JavaSoundAudioClip.java:202)
- locked <0x95e> (a com.sun.media.sound.JavaSoundAudioClip)
at com.sun.media.sound.JavaSoundAudioClip.play(JavaSoundAudioClip.java:152)
at main.java.AudioNpe.main(AudioNpe.java:12)
It happens because of bug in com.sun.media.sound.JSSecurityManager#createThread implementation: variable 'String name', which supposed to be used - actually unused and <null> thread name is passed to 'Thread' constructor.
import java.io.IOException;
import java.net.URL;
public class AudioNpe {
public static void main(String[] args) throws IOException, InterruptedException {
URL url = new URL("https://file-examples-com.github.io/uploads/2017/11/file_example_WAV_1MG.wav");
AudioClip content = (AudioClip)url.getContent();
content.play();
Thread.sleep(10000L);
}
}
at java.lang.Thread.<init>(Thread.java:393)
at java.lang.Thread.<init>(Thread.java:760)
at com.sun.media.sound.JSSecurityManager.createThread(JSSecurityManager.java:115)
at com.sun.media.sound.DataPusher.start(DataPusher.java:117)
- locked <0x955> (a com.sun.media.sound.DataPusher)
at com.sun.media.sound.JavaSoundAudioClip.startImpl(JavaSoundAudioClip.java:202)
- locked <0x95e> (a com.sun.media.sound.JavaSoundAudioClip)
at com.sun.media.sound.JavaSoundAudioClip.play(JavaSoundAudioClip.java:152)
at main.java.AudioNpe.main(AudioNpe.java:12)
It happens because of bug in com.sun.media.sound.JSSecurityManager#createThread implementation: variable 'String name', which supposed to be used - actually unused and <null> thread name is passed to 'Thread' constructor.