Labels are crashing

Since the 5.0 update of the Galaxy S3, all labels are crashing on our test device.

09-30 18:43:00.885 9302-9332/<redacted> A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xb in tid 9332 (GLThread 117714)
09-30 18:43:00.955 22512-22512/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-30 18:43:00.955 22512-22512/? I/DEBUG: Build fingerprint: 'samsung/jfltexx/jflte:5.0.1/LRX22C/I9505XXUHOD7:user/release-keys'
09-30 18:43:00.955 22512-22512/? I/DEBUG: Revision: '11'
09-30 18:43:00.955 22512-22512/? I/DEBUG: ABI: 'arm'
09-30 18:43:00.955 22512-22512/? I/DEBUG: pid: 9302, tid: 9332, name: GLThread 117714  >>> <redacted> <<<
09-30 18:43:00.955 22512-22512/? I/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xb
09-30 18:43:01.055 11837-11837/? E/Diag_Lib:  Diag_LSM_Init: Failed to open handle to diag driver, error = 2
09-30 18:43:01.085 22512-22512/? I/DEBUG:     r0 93e44ac0  r1 0000000b  r2 0000000b  r3 9d62e16f
09-30 18:43:01.085 22512-22512/? I/DEBUG:     r4 a1ce5cb8  r5 a2a735fc  r6 77e88d50  r7 00015769
09-30 18:43:01.085 22512-22512/? I/DEBUG:     r8 00a54f4c  r9 aef74400  sl 00000000  fp af7fe050
09-30 18:43:01.085 22512-22512/? I/DEBUG:     ip 00000000  sp af7fe028  lr 00000002  pc a169dbec  cpsr 600f0010
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #00 pc 011e2bec  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (std::_Hashtable<std::string, std::pair<std::string const, cocos2d::Component*>, std::allocator<std::pair<std::string const, cocos2d::Component*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node(unsigned int, std::s
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #01 pc 011e2b78  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (std::_Hashtable<std::string, std::pair<std::string const, cocos2d::Component*>, std::allocator<std::pair<std::string const, cocos2d::Component*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_node(unsigned int, std::string c
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #02 pc 011e2a5c  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (std::_Hashtable<std::string, std::pair<std::string const, cocos2d::Component*>, std::allocator<std::pair<std::string const, cocos2d::Component*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find(std::string const&)+116)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #03 pc 011e29d4  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (std::unordered_map<std::string, cocos2d::Component*, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, cocos2d::Component*> > >::find(std::string const&)+28)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #04 pc 011e0dd0  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::Map<std::string, cocos2d::Component*>::at(std::string const&)+60)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #05 pc 011e0d7c  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::ComponentContainer::get(std::string const&) const+72)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #06 pc 00f7d7a0  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::Node::getComponent(std::string const&)+72)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #07 pc 00e4fc24  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::ui::LayoutComponent::bindLayoutComponent(cocos2d::Node*)+112)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #08 pc 00d6a250  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocostudio::WidgetReader::setLayoutComponentPropsWithFlatBuffers(cocos2d::Node*, flatbuffers::Table const*)+88)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #09 pc 00d69f70  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocostudio::WidgetReader::setPropsWithFlatBuffers(cocos2d::Node*, flatbuffers::Table const*)+2268)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #10 pc 00d10850  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocostudio::TextReader::setPropsWithFlatBuffers(cocos2d::Node*, flatbuffers::Table const*)+1532)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #11 pc 00d10e50  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocostudio::TextReader::createNodeWithFlatBuffers(flatbuffers::Table const*)+72)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #12 pc 00d10e84  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (non-virtual thunk to cocostudio::TextReader::createNodeWithFlatBuffers(flatbuffers::Table const*)+36)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #13 pc 00c25af8  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::CSLoader::nodeWithFlatBuffers(flatbuffers::NodeTree const*, std::function<void (cocos2d::Ref*)> const&)+1880)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #14 pc 00c25db8  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::CSLoader::nodeWithFlatBuffers(flatbuffers::NodeTree const*, std::function<void (cocos2d::Ref*)> const&)+2584)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #15 pc 00c26504  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::CSLoader::nodeWithFlatBuffersFile(std::string const&, std::function<void (cocos2d::Ref*)> const&)+752)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #16 pc 00c21648  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::CSLoader::createNodeWithFlatBuffersFile(std::string const&, std::function<void (cocos2d::Ref*)> const&)+40)
09-30 18:43:01.085 22512-22512/? I/DEBUG:     #17 pc 00c2120c  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::CSLoader::createNodeWithFlatBuffersFile(std::string const&)+104)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #18 pc 00c21030  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::CSLoader::createNode(std::string const&)+236)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #19 pc 00b955f4  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (gm::MapScene::init()+10548)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #20 pc 00b9212c  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (gm::MapScene::create()+176)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #21 pc 00b92040  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (gm::MapScene::createScene()+20)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #22 pc 00b921f8  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (gm::MapScene::createSceneWithTransition()+40)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #23 pc 00ae20a4  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #24 pc 00ae1db8  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #25 pc 00f22584  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (std::function<void (float)>::operator()(float) const+128)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #26 pc 01084aec  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::TimerTargetCallback::trigger(float)+60)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #27 pc 010838ec  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::Timer::update(float)+228)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #28 pc 010917e4  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::Scheduler::update(float)+684)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #29 pc 0104f1b8  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::Director::drawScene()+116)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #30 pc 01052bf8  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (cocos2d::DisplayLinkDirector::mainLoop()+120)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #31 pc 00c137d8  /data/app/<redacted>-1/lib/arm/libcocos2dcpp.so (Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeRender+28)
09-30 18:43:01.095 22512-22512/? I/DEBUG:     #32 pc 003f0e99  /data/dalvik-cache/arm/data@app@<redacted>-1@base.apk@classes.dex

Any ideas?

what cocos2d-x version are you using?

cocos2dx 3.8

and just to be sure, is it 3.8 or 3.8.1?

git sha: 12ff8cd2dd1bfdcad78abc5eff494cb8cf0053d8
Latest release on github

Any ideas what the cause could be?

I don’t know. I would file a bug with this info: https://github.com/cocos2d/cocos2d-x/issues

Ok, further investigating into the issue, it reveals a lot of weird errors. It ranges from crashes in memcpy of glibc, to crashes of the ART runtime in Android.

I guess there is still some room for improvements.

Still happening.
Can this please get some attention? It’s a game breaking bug.

Yep, Labels are in general not working. They won’t display any custom font when created programmatically, and will just crash when created via CSLoader.

Let me ask someone to take a look at this.

Did you already make a GitHub issue for this?

Let me ask someone to take a look at this. This issue: https://github.com/cocos2d/cocos2d-x/issues/14199

Awesome, thank you.