Possible SDKCore bug - Recursion?

Not sure if this is the right place to report this, but we had an app crash on iOS using GroundSdk version 1.0.1 during testing. The error reporting tool (Crashlytics from fabric.io) showed what appears to be a very large stack trace (~5000 deep) with the following sequence (from oldest to newest) repeated many, many times:

SdkCore|Pdraw::StreamDemuxer::onChannelFlushed(Pdraw::Channel*) + 168|
SdkCore|Pdraw::Channel::flushDone() + 96|
SdkCore|Pdraw::AvcDecoder::completeFlush() + 300|
SdkCore|Pdraw::AvcDecoder::flush() + 96|
SdkCore|Pdraw::AvcDecoder::onChannelFlush(Pdraw::Channel*) + 88|
SdkCore|Pdraw::Channel::flush() + 92|
SdkCore|Pdraw::StreamDemuxer::flush() + 376|
SdkCore|Pdraw::StreamDemuxer::processFrame(vstrm_frame*) + 424|
SdkCore|Pdraw::StreamDemuxer::idrFrameSync() + 104|

The last calls prior to the crash were:
|0|libsystem_trace.dylib|_os_log_impl_flatten_and_send + 44|
|3|SdkCore|ulog_log_write + 124|
|4|SdkCore|Pdraw::StreamDemuxer::processFrame(vstrm_frame*) + 408|
|5|SdkCore|Pdraw::StreamDemuxer::idrFrameSync() + 104|

We’ve only seen it happen once so far, but figured I’d give a heads up since it didn’t seem to involve our code. It looks a bit like the stack size may have hit a limit?

Edit: This is with an Anafi.

Thanks for the report
Are you using 1.0.1b ?

I believe we built from source from the repo: https://github.com/Parrot-Developers/groundsdk-ios on July 19th. Hopefully that’s enough for you to pin down whether we have 1.0.1 or 1.0.1b. That repo seems to lack any “releases”, although some of the related repos do.


To check your GroundSDK version, when built from source, the best way is to check the position of the manifest project (<SDK>/.repo/manifests/), which should be visible via a simple git log. As the workspace is made up of multiple source repositories, we only tag the manifest (a file which gives the SHA1 of all other repositories) instead of every repo. But 1.0.1 or 1.0.1b are perfectly equivalent for iOS/Android builds :wink:

Regarding the recursion bug, do you have any information about what the app was doing when the issue occured? (i.e. did the issue happened randomly, or was it triggered by a drone configuration change?).
We’ll look into that!