Random crash on device on GC_start_routin

Hi everyone

I am experiencing random crashes on various devices (Samsung J730GM for example)
The localization language is Chinese so I use dynamic font to reduce memory usage.

Here are some information about my setup

Unity3d version: 5.6.4p1
Build: Release
NGUI: 3.11.4
Graphic: OpenGLES 2.0
Script: mono2x
AndroidSDK: see attachment
Dump: see attachment, includes 3 crashes

Here is the stack after looking up the symbolic file:

#00 pc 009412f8 libunity.so // TextRenderingPrivate::FontImpl::AddCharacterToTexture(unsigned int, int, float, unsigned int)
#01 pc 00941884 libunity.so // TextRenderingPrivate::FontImpl::CacheFontForText(unsigned short*, int, int, float, unsigned int, dynamic_array<TextRenderingPrivate::TextFormatChange, 4u> const*)
#02 pc 00956a9c libunity.so ////Font_CUSTOM_RequestCharactersInTexture(MonoObject*, MonoString*, int, int)
#03 pc 0000de78 anonymous:cb0c1000

I tried to loop through all my text very fast but it did not crash for hours.

Any ideas?


3493334–278231–crash.txt (4.76 KB)

1 Like

Turns out that we have some legacy code running on a separate thread that update NGUI components.
Changed to coroutine and the crashes are gone.

1 Like