also the finalizer thread dies with the following code:
AVAudioPlayer audioPlayer = AVAudioPlayer.alloc();
AVAudioPlayer player = typeHint != null
? audioPlayer.initWithContentsOfURLFileTypeHintError(url, typeHint, nsErrorPtr)
: audioPlayer.initWithContentsOfURLError(url, nsErrorPtr);
Most probably, this is due to the fact that the object created by (AVAudioPlayer.alloc()) was released later in initWithContentsOfURLFileTypeHintError when the error occurred, while the java objects hold the peer.