Strage crash with a very long stack

Hi, I have a new crash in our app,

it is 100% reproducible, i`m digging to understand the cause however it is strange that I see 500 identical calls.
How is to possible to understand which java code related to that ?

We are using the latest MOE 1.3.3

Thanks

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.

@ekuleshov got a similar trace from an Apple review. We would need to look at the app that is causing this issue in order to debug it. Can you create a reduced test case that you can share publicly?

We are trying to remove the peer pointer in case of error.

In order to reproduce simply invoke
AVAudioPlayer audioPlayer = AVAudioPlayer.alloc();
AVAudioPlayer player = typeHint != null
? audioPlayer.initWithContentsOfURLFileTypeHintError(url, typeHint, nsErrorPtr)
: audioPlayer.initWithContentsOfURLError(url, nsErrorPtr);

with bad resource.

Kis, what happens in ObjC when AVAudioPlayer.initWithContentsOfURLError returns null ?
Should we release the pointer returned by alloc ?

The question not related to java.

audioPlayer.getPeer().setPeer(0);

did the job, no finalizer crash anymore :slight_smile:

We have released Moe SDK 1.3.6 which includes a NatJ fix that may solve this issue you are having.