Tune plugin crash (JS)

Another plugin crashing intermittently within the listener callback. Who is managing bugs for SDKBOX?
(Cocos2d-x 3.12, tune plugin 2.3.1.1)

Crashed: NSOperationQueue 0x13fe990e0 :: NSOperation 0x143de83c0 (QOS: LEGACY)
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x6000000004102810

Crashed: NSOperationQueue 0x13fe990e0 :: NSOperation 0x143de83c0 (QOS: LEGACY)
0  battlestars-afl-iOS            0x100779a3c cocos2d::Scheduler::schedule(void (cocos2d::Ref::*)(float), cocos2d::Ref*, float, unsigned int, float, bool) + 3592328
1  battlestars-afl-iOS            0x100080528 TuneListenerJs::onMobileAppTrackerDidSucceedWithData(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (PluginTuneJSHelper.cpp:33)
2  battlestars-afl-iOS            0x1001354cc sdkbox::PluginTune::setDeepLink(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 4296660172
3  battlestars-afl-iOS            0x1000ee3e8 -[TuneTracker notifyDelegateSuccessMessage:] + 4296369128
4  battlestars-afl-iOS            0x1000f047c -[TuneTracker queueRequestDidSucceedWithData:] + 4296377468
5  battlestars-afl-iOS            0x1000d7728 __27-[TuneEventQueue dumpQueue]_block_invoke_2 + 4296275752
6  battlestars-afl-iOS            0x1000d74bc __27-[TuneEventQueue dumpQueue]_block_invoke + 4296275132
7  Foundation                     0x182890540 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 16
8  Foundation                     0x1827e2870 -[NSBlockOperation main] + 96
9  Foundation                     0x1827d2e48 -[__NSOperationInternal _start:] + 604
10 Foundation                     0x182892934 __NSOQSchedule_f + 224
11 libdispatch.dylib              0x18192147c _dispatch_client_callout + 16
12 libdispatch.dylib              0x18192d4c0 _dispatch_queue_drain + 864
13 libdispatch.dylib              0x181924f80 _dispatch_queue_invoke + 464
14 libdispatch.dylib              0x18192f390 _dispatch_root_queue_drain + 728
15 libdispatch.dylib              0x18192f0b0 _dispatch_worker_thread3 + 112
16 libsystem_pthread.dylib        0x181b39470 _pthread_wqthread + 1092
17 libsystem_pthread.dylib        0x181b39020 start_wqthread + 4

We’ll try to reproduce it and let you know, we wasn’t be able to test 3.12 completely since 3.12 breaks the build toolchain…

Is it crash if you don’t call setDeepLink in onMobileAppTrackerDidSucceedWithData callback ?

Our code has not been calling setDeepLink, that must be called internally within the plugin implementation.

Listener that caused crashes was just logging:

    sdkbox.PluginTune.setListener({
        onEnqueuedAction: function (data) {
            console.log('Tune:onEnqueuedAction ' + data);
        },
        onSucceed: function (data) {
            console.log('Tune:onSucceed ' + data);
        },
        onFailed: function (data) {
            console.log('Tune:onFailed ' + data);
        },
        onReceiveDeeplink: function (data, timeout) {
            console.log('Tune:onReceiveDeeplink ' + data);
        },
        onFailDeeplink: function (errorString) {
            console.log('Tune:onFailDeeplink ' + errorString);
        }
    });

using setDeepLink somewhere ?
or
can you show your all test code ?
or
can you make a pull request here https://github.com/sdkbox/sdkbox-sample-tune/tree/master/js

Thanks!
Jimmy

Hi Jimmy

No, not using setDeepLink in our code.

This is production code, not test code, and its a crash reported intermittently in Fabric (Crashlytics), so I don’t have test code to share that reproduces the issue.

I’ve shown the listener code above, the only other calls from within script are init and measureSession. And in the iOS app delegate it follows the integration instructions and sample code.

Thanks