Game crashing in LG G2 mini phone with TTF Font

Hi, my game is crashing in LG G2 mini phone using a TTF Font.
BTW the game is working well in other devices.

Here is the crash dump:

********** Crash dump: **********
Build fingerprint: ‘lge/g2mv_sca_com/g2mv:4.4.2/KOT49I/D62510a.1398742067:user/release-keys’
pid: 5876, tid: 5911, name: Thread-70290 >>> com.myapp <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000018
Stack frame #00 pc 0021e70e /data/app-lib/com.myapp-2/libcocos2dcpp.so (cocos2d::Texture2D::updateWithData(void const*, int, int, int, int)+77): Routine cocos2d::Texture2D::updateWithData(void const*, int, int, int, int) at …/proj.android/jni/…/…/cocos2d/cocos/./renderer/CCTexture2D.cpp:698
Stack frame #01 pc 00240995 /data/app-lib/com.myapp-2/libcocos2dcpp.so (cocos2d::FontAtlas::prepareLetterDefinitions(std::__1::basic_string<char16_t, std::__1::char_traits<char16_t>, std::__1::allocator<char16_t> > const&)+1336): Routine cocos2d::FontAtlas::prepareLetterDefinitions(std::__1::basic_string<char16_t, std::__1::char_traits<char16_t>, std::__1::allocator<char16_t> > const&) at …/proj.android/jni/…/…/cocos2d/cocos/./2d/CCFontAtlas.cpp:330
Stack frame #02 pc 001c8991 /data/app-lib/com.myapp-2/libcocos2dcpp.so (cocos2d::label::alignText()+112): Routine cocos2d::label::alignText() at …/proj.android/jni/…/…/cocos2d/cocos/./2d/CCLabel.cpp:580
Stack frame #03 pc 001c9887 /data/app-lib/com.myapp/libcocos2dcpp.so (cocos2d::label::updateContent()+166): Routine cocos2d::label::updateContent() at …/proj.android/jni/…/…/cocos2d/cocos/./2d/CCLabel.cpp:958
Stack frame #04 pc 001c9c55 /data/app-lib/com.myapp/libcocos2dcpp.so (cocos2d::label::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+100): Routine cocos2d::label::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int) at …/…/…/cocos2d/cocos/./2d/CCLabel.cpp:1064
Stack frame #05 pc 001d3c41 /data/app-libcom.myapp/libcocos2dcpp.so (cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+264): Routine cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int) at /…/proj.android/jni/…/…/cocos2d/cocos/./2d/CCNode.cpp:1285
Stack frame #06 pc 001d3c41 /data/app-lib/com.myapp/libcocos2dcpp.so (cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+264): Routine cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int) at …/proj.android/jni/…/…/cocos2d/cocos/./2d/CCNode.cpp:1285
Stack frame #07 pc 001d3c41 /data/app-lib/com.myapp/libcocos2dcpp.so (cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+264): Routine cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int) at …/proj.android/jni/…/…/cocos2d/cocos/./2d/CCNode.cpp:1285
Stack frame #08 pc 001be99d /data/app-lib/com.myapp/libcocos2dcpp.so (cocos2d::extension::ScrollView::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+280): Routine cocos2d::extension::ScrollView::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int) at …/proj.android/jni/…/…/cocos2d/extensions/GUI/CCScrollView/CCScrollView.cpp:626
Stack frame #09 pc 001d3c41 /data/app-lib/com.myapp/libcocos2dcpp.so (cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+264): Routine cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int) at …/proj.android/jni/…/…/cocos2d/cocos/./2d/CCNode.cpp:1285
Stack frame #10 pc 001d3c41 /data/app-lib/com.myapp/libcocos2dcpp.so (cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+264): Routine cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int) at …/proj.android/jni/…/…/cocos2d/cocos/./2d/CCNode.cpp:1285
Stack frame #11 pc 001d3c41 /data/app-lib/com.myapp/libcocos2dcpp.so (cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+264): Routine cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int) at …/proj.android/jni/…/…/cocos2d/cocos/./2d/CCNode.cpp:1285
Stack frame #12 pc 002002d3 /data/app-lib/com.myapp/libcocos2dcpp.so (cocos2d::Director::drawScene()+502): Routine cocos2d::Director::drawScene() at …/proj.android/jni/…/…/cocos2d/cocos/./base/CCDirector.cpp:319
Stack frame #13 pc 002017f5 /data/app-lib/com.myapp/libcocos2dcpp.so (cocos2d::DisplayLinkDirector::mainLoop()+32): Routine cocos2d::DisplayLinkDirector::mainLoop() at …/proj.android/jni/…/…/cocos2d/cocos/./base/CCDirector.cpp:1327
Stack frame #14 pc 00199dab /data/app-lib/com.myapp/libcocos2dcpp.so (Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeRender+10): Routine Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeRender at …/proj.android/jni/…/…/cocos2d/cocos/platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp:16
Stack frame #15 pc 0001d58c /system/lib/libdvm.so (dvmPlatformInvoke+112)
Stack frame #16 pc 0004dce3 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
Stack frame #17 pc 000269a0 /system/lib/libdvm.so
Stack frame #18 pc 0002da94 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
Stack frame #19 pc 0002b12c /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
Stack frame #20 pc 00060239 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
Stack frame #21 pc 0006025d /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, …)+20)
Stack frame #22 pc 00054f3b /system/lib/libdvm.so
Stack frame #23 pc 0000d358 /system/lib/libc.so (__thread_entry+72)
Stack frame #24 pc 0000d4f0 /system/lib/libc.so (pthread_create+240)
Crash dump is completed

What version of cocos2d-x? And when you say it is running on other devices, does that include other android devices? Same Android OS version?

Hi, I’ve applied this fix: https://github.com/cocos2d/cocos2d-x/issues/8874 and now is working well.

I’m getting the same issue as above - using Moto G (1st gen). Version is: cocos2d-x-3.2 Jul.17 2014

I see the issue when I put the app in the background and then return to the app. It is not consistent, sometimes it will reload, other times it will crash. When it does reload, there are often visual errors. Letters and numbers in the TTF font will be missing or they will be replaced with white blocks, covering the area that the number or letter would fill (ie. the ‘blocks’ are different shapes and sizes, which represent the text that should be there). In these cases, when I navigate to a different scene, the font appears as it should.

I have tried the fix above but I still seen the same errors.

Here is the crash dump…

********** Crash dump: **********
Build fingerprint: ‘motorola/falcon_retgb/falcon_umts:4.4.4/KXB21.14-L1.40/36:user/release-keys’
pid: 10548, tid: 10698, name: Thread-675 >>> com.my.app <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 000000bc
Stack frame #00 pc 00551110 /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::Texture2D::getPixelsWide() const+5): Routine cocos2d::Texture2D::getPixelsWide() const at <path_to_project>/proj.android/…/cocos2d/cocos/./renderer/CCTexture2D.cpp:475
Stack frame #01 pc 0045e371 /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::Sprite::setTextureCoords(cocos2d::Rect)+228): Routine cocos2d::Sprite::setTextureCoords(cocos2d::Rect) at <path_to_project>/proj.android/…/cocos2d/cocos/./2d/CCSprite.cpp:427
Stack frame #02 pc 0045e05f /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::Sprite::setTextureRect(cocos2d::Rect const&, bool, cocos2d::Size const&)+126): Routine cocos2d::Sprite::setTextureRect(cocos2d::Rect const&, bool, cocos2d::Size const&) at <path_to_project>/proj.android/…/cocos2d/cocos/./2d/CCSprite.cpp:370
Stack frame #03 pc 00410859 /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::label::updateQuads()+150): Routine cocos2d::label::updateQuads() at <path_to_project>/proj.android/…/cocos2d/cocos/./2d/CCLabel.cpp:666
Stack frame #04 pc 00410647 /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::label::alignText()+1218): Routine cocos2d::label::alignText() at <path_to_project>/proj.android/…/cocos2d/cocos/./2d/CCLabel.cpp:631
Stack frame #05 pc 00415221 /data/app-lib/com.my.app/libcocos2dcpp.so: Routine operator() at <path_to_project>/proj.android/…/cocos2d/cocos/./2d/CCLabel.cpp:276
Stack frame #06 pc 00415063 /data/app-lib/com.my.app/libcocos2dcpp.so: Routine _ZNSt3__18__invokeIRZN7cocos2d5LabelC1EPNS1_9FontAtlasENS1_14TextHAlignmentENS1_14TextVAlignmentEbbE3$0JPNS1_11EventCustomEEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSB_DpOSC at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/__functional_base:413
Stack frame #07 pc 0051219d /data/app-lib/com.my.app/libcocos2dcpp.so (std::__1::function<void (cocos2d::EventCustom*)>::operator()(cocos2d::EventCustom*) const+36): Routine std::__1::function<void (cocos2d::EventCustom*)>::operator()(cocos2d::EventCustom*) const at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/functional:1755
Stack frame #08 pc 00512171 /data/app-lib/com.my.app/libcocos2dcpp.so: Routine operator() at <path_to_project>/proj.android/…/cocos2d/cocos/./base/CCEventListenerCustom.cpp:58
Stack frame #09 pc 005120bf /data/app-lib/com.my.app/libcocos2dcpp.so: Routine _ZNSt3__18__invokeIRZN7cocos2d19EventListenerCustom4initERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_8functionIFvPNS1_11EventCustomEEEEE3$0JPNS1_5EventEEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSM_DpOSN at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/__functional_base:413
Stack frame #10 pc 00508907 /data/app-lib/com.my.app/libcocos2dcpp.so (std::__1::function<void (cocos2d::Event*)>::operator()(cocos2d::Event*) const+36): Routine std::__1::function<void (cocos2d::Event*)>::operator()(cocos2d::Event*) const at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/functional:1755
Stack frame #11 pc 005088d1 /data/app-lib/com.my.app/libcocos2dcpp.so: Routine operator() at <path_to_project>/proj.android/…/cocos2d/cocos/./base/CCEventDispatcher.cpp:815
Stack frame #12 pc 00508817 /data/app-lib/com.my.app/libcocos2dcpp.so: Routine _ZNSt3__18__invokeIRZN7cocos2d15EventDispatcher13dispatchEventEPNS1_5EventEE3$2JPNS1_13EventListenerEEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS9_DpOSA at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/__functional_base:413
Stack frame #13 pc 00500491 /data/app-lib/com.my.app/libcocos2dcpp.so (std::__1::function<bool (cocos2d::EventListener*)>::operator()(cocos2d::EventListener*) const+36): Routine std::__1::function<bool (cocos2d::EventListener*)>::operator()(cocos2d::EventListener*) const at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/functional:1755
Stack frame #14 pc 0050032f /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::EventDispatcher::dispatchEventToListeners(cocos2d::EventDispatcher::EventListenerVector*, std::__1::function<bool (cocos2d::EventListener*)> const&)+378): Routine cocos2d::EventDispatcher::dispatchEventToListeners(cocos2d::EventDispatcher::EventListenerVector*, std::__1::function<bool (cocos2d::EventListener*)> const&) at <path_to_project>/proj.android/…/cocos2d/cocos/./base/CCEventDispatcher.cpp:759
Stack frame #15 pc 005005eb /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::EventDispatcher::dispatchEvent(cocos2d::Event*)+338): Routine cocos2d::EventDispatcher::dispatchEvent(cocos2d::Event*) at <path_to_project>/proj.android/…/cocos2d/cocos/./base/CCEventDispatcher.cpp:819
Stack frame #16 pc 00501525 /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::EventDispatcher::dispatchCustomEvent(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, void*)+56): Routine cocos2d::EventDispatcher::dispatchCustomEvent(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, void*) at <path_to_project>/proj.android/…/cocos2d/cocos/./base/CCEventDispatcher.cpp:829
Stack frame #17 pc 003fa71b /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::FontAtlas::listenRendererRecreated(cocos2d::EventCustom*)+486): Routine cocos2d::FontAtlas::listenRendererRecreated(cocos2d::EventCustom*) at <path_to_project>/proj.android/…/cocos2d/cocos/./2d/CCFontAtlas.cpp:169
Stack frame #18 pc 003fdadb /data/app-lib/com.my.app/libcocos2dcpp.so (ZNSt3__110__function6__funcINS_6__bindIMN7cocos2d9FontAtlasEFvPNS3_11EventCustomEEJPS4_RNS_12placeholders4__phILi1EEEEEENS_9allocatorISE_EEFvS6_EEclEOS6+208): Routine ZNSt3__18__invokeIRMN7cocos2d9FontAtlasEFvPNS1_11EventCustomEERPS2_JS4_EvEEDTcldsdeclsr3std3__1E7forwardIT0_Efp0_Efp_spclsr3std3__1E7forwardIT1_Efp1_EEEOT_OSA_DpOSB at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/__functional_base:380
Stack frame #19 pc 0051219d /data/app-lib/com.my.app/libcocos2dcpp.so (std::__1::function<void (cocos2d::EventCustom*)>::operator()(cocos2d::EventCustom*) const+36): Routine std::__1::function<void (cocos2d::EventCustom*)>::operator()(cocos2d::EventCustom*) const at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/functional:1755
Stack frame #20 pc 00512171 /data/app-lib/com.my.app/libcocos2dcpp.so: Routine operator() at <path_to_project>/proj.android/…/cocos2d/cocos/./base/CCEventListenerCustom.cpp:58
Stack frame #21 pc 005120bf /data/app-lib/com.my.app/libcocos2dcpp.so: Routine _ZNSt3__18__invokeIRZN7cocos2d19EventListenerCustom4initERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_8functionIFvPNS1_11EventCustomEEEEE3$0JPNS1_5EventEEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSM_DpOSN at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/__functional_base:413
Stack frame #22 pc 00508907 /data/app-lib/com.my.app/libcocos2dcpp.so (std::__1::function<void (cocos2d::Event*)>::operator()(cocos2d::Event*) const+36): Routine std::__1::function<void (cocos2d::Event*)>::operator()(cocos2d::Event*) const at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/functional:1755
Stack frame #23 pc 005088d1 /data/app-lib/com.my.app/libcocos2dcpp.so: Routine operator() at <path_to_project>/proj.android/…/cocos2d/cocos/./base/CCEventDispatcher.cpp:815
Stack frame #24 pc 00508817 /data/app-lib/com.my.app/libcocos2dcpp.so: Routine _ZNSt3__18__invokeIRZN7cocos2d15EventDispatcher13dispatchEventEPNS1_5EventEE3$2JPNS1_13EventListenerEEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS9_DpOSA at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/__functional_base:413
Stack frame #25 pc 00500491 /data/app-lib/com.my.app/libcocos2dcpp.so (std::__1::function<bool (cocos2d::EventListener*)>::operator()(cocos2d::EventListener*) const+36): Routine std::__1::function<bool (cocos2d::EventListener*)>::operator()(cocos2d::EventListener*) const at /Users/Shared/adt-bundle-mac-x86_64-20140702/android-ndk-r9d/sources/cxx-stl/llvm-libc++/libcxx/include/functional:1755
Stack frame #26 pc 005003c5 /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::EventDispatcher::dispatchEventToListeners(cocos2d::EventDispatcher::EventListenerVector*, std::__1::function<bool (cocos2d::EventListener*)> const&)+528): Routine cocos2d::EventDispatcher::dispatchEventToListeners(cocos2d::EventDispatcher::EventListenerVector*, std::__1::function<bool (cocos2d::EventListener*)> const&) at <path_to_project>/proj.android/…/cocos2d/cocos/./base/CCEventDispatcher.cpp:778
Stack frame #27 pc 005005eb /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::EventDispatcher::dispatchEvent(cocos2d::Event*)+338): Routine cocos2d::EventDispatcher::dispatchEvent(cocos2d::Event*) at <path_to_project>/proj.android/…/cocos2d/cocos/./base/CCEventDispatcher.cpp:819
Stack frame #28 pc 007310d3 /data/app-lib/com.my.app/libcocos2dcpp.so (Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit+306): Routine Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit at <path_to_project>/proj.android/…/cocos2d/cocos/platform/android/javaactivity.cpp:79
Stack frame #29 pc 000203cc /system/lib/libdvm.so (dvmPlatformInvoke+112)
Stack frame #30 pc 00050eeb /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
Stack frame #31 pc 00029860 /system/lib/libdvm.so

For reference, here is another crash log. Occurs in the same place but this log ends at Texture2D::updateWithData - similar to the log in the original post…

********** Crash dump: **********
Build fingerprint: ‘motorola/falcon_retgb/falcon_umts:4.4.4/KXB21.14-L1.40/36:user/release-keys’
pid: 10723, tid: 10747, name: Thread-680 >>> com.my.app <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000018
Stack frame #00 pc 00551860 /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::Texture2D::updateWithData(void const*, int, int, int, int)+99): Routine cocos2d::Texture2D::updateWithData(void const*, int, int, int, int) at <path_to_project>/proj.android/…/cocos2d/cocos/./renderer/CCTexture2D.cpp:699
Stack frame #01 pc 003fb837 /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::FontAtlas::prepareLetterDefinitions(std::__1::basic_string<char16_t, std::__1::char_traits<char16_t>, std::__1::allocator<char16_t> > const&)+1962): Routine cocos2d::FontAtlas::prepareLetterDefinitions(std::__1::basic_string<char16_t, std::__1::char_traits<char16_t>, std::__1::allocator<char16_t> > const&) at <path_to_project>/proj.android/…/cocos2d/cocos/./2d/CCFontAtlas.cpp:326
Stack frame #02 pc 00410297 /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::label::alignText()+274): Routine cocos2d::label::alignText() at <path_to_project>/proj.android/…/cocos2d/cocos/./2d/CCLabel.cpp:586
Stack frame #03 pc 00411a29 /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::label::updateContent()+248): Routine cocos2d::label::updateContent() at <path_to_project>/proj.android/…/cocos2d/cocos/./2d/CCLabel.cpp:963
Stack frame #04 pc 00412d55 /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::label::getContentSize() const+56): Routine cocos2d::label::getContentSize() const at <path_to_project>/proj.android/…/cocos2d/cocos/./2d/CCLabel.cpp:1349
Stack frame #05 pc 00390dad /data/app-lib/com.my.app/libcocos2dcpp.so (cocos2d::ui::Text::setString(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&)+56): Routine cocos2d::ui::Text::setString(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) at <path_to_project>/proj.android/…/cocos2d/cocos/ui/UIText.cpp:112
Stack frame #06 pc 002a16f3 /data/app-lib/com.my.app/libcocos2dcpp.so (WSGameTimer::updateUI()+46): Routine WSGameTimer::updateUI() at <path_to_project>/proj.android/jni/…/…/Classes/Scenes/Game/WSGameTimer.cpp:107

I think my issue was related to reloading of resources on resume. In the game, a countdown continues while the app is in the background. If the countdown reaches zero, then the app will display a modal view (success/failure) when the user returns to the app.

This view was being created and added dynamically on applicationDidBecomeActive on iOS - but applicationWillEnterForeground on Android. I guess the view creation was happening before all of the resources loaded, hence the random crashes and other behaviour.

Delaying the call to create the modal view seems to have done the job.