Random Crashes (SIGSEGV) on Android Huawei devices - (maybe linked to AssetBundles and/or Textures)

Hello,

We’re having a lot of crash reports of the same type from the Google Play Console showing some errors causing the app to crash, but only for devices of a specific brand (Huawei).

One example of report is attached below. Basically, all the reports have the same shape: the exception can occur at any place in our code, then it always results in the same “java.lang.Error” in UnityMain process.

The weird thing is (and I don’t think it’s a coincidence) the complete list of devices shows exclusively devices of the Huawei brand.

Any idea of what could cause such errors on specific devices?

Thanks a lot!

 java.lang.Error: signal 11 (SIGSEGV), code -6 (?), fault addr 00001058
 
 Build fingerprint: 'HUAWEI/WAS-LX1A/HWWAS-H:8.0.0/HUAWEIWAS-LX1A/363(C02):user/release-keys'
 Revision: '0'
  
 pid: 4450, tid: 4517, name: UnityMain  >>> com.my.app <<<
  
 r0 00000000  r1 0000106c  r2 0000000b  r3 cfe9bc18
 r4 cfe9bc18  r5 c65166d0  r6 c24032b8  r7 0000010c
 r8 cb55c038  r9 cfa30f44  sl cfa30f44  fp ce80d5ac
 ip a4507528  sp ce80d5a8  lr cfda7d54  pc f2f973ac  cpsr 2d534157
 at libc.tgkill(tgkill
   at libmono.0029ed50 (Native Method)
   at libmono.0029ee4c (Native Method)
   at libmono.0029eea8 (Native Method)
   at libmono.00116374 (Native Method)
   at libmono.00116610 (Native Method)
   at libmono.0011f65c (Native Method)
   at libmono.0001ce04 (Native Method)
   at libmono.0001e91c (Native Method)
   at libmono.0001fbf0 (Native Method)
   at libmono.00020914 (Native Method)
   at libmono.00020b14 (Native Method)
   at libmono.mono_compile_method (mono_compile_method:84)
   at libmono.000ea154 (Native Method)
   at Unknown.00002054 (Unknown Source)
   at MyMethod (Native Method)
 ...

Hello,

A few updates - I’ve desymbolicated the above reports and it seems that the crash is linked to Unity’s management of asset bundles & textures.

Among all the reports I got, there are 2 different stack traces that end up in the same crash:

java.lang.Error: signal 11 (SIGSEGV), code -6 (?), fault addr 00001058
...
0029ed50 ProceduralMaterialData::ApplyTextureInput(int, SubstanceTextureInput_ const&)
0029ee4c ProceduralMaterialData::ApplyTextureInput(int, SubstanceTextureInput_ const&)
0029eea8 ProceduralMaterialData::ApplyTextureInput(int, SubstanceTextureInput_ const&)
00116374 std::vector<SortingLayerEntry, std::allocator<SortingLayerEntry> >::_M_default_append(unsigned int)
00116610 void std::vector<SortingLayerEntry, std::allocator<SortingLayerEntry> >::_M_assign_aux<__gnu_cxx::__normal_iterator<SortingLayerEntry*, std::vector<SortingLayerEntry, std::allocator<SortingLayerEntry> > > >(__gnu_cxx::__normal_iterator<SortingLayerEntry*, std::vector<SortingLayerEntry, std::allocator<SortingLayerEntry> > >, __gnu_cxx::__normal_iterator<SortingLayerEntry*, std::vector<SortingLayerEntry, std::allocator<SortingLayerEntry> > >, std::forward_iterator_tag)
0011f65c BaseRenderer::FlattenCommonData(BaseRenderer&, TransformInfo const&, float, RenderNode&)
0001ce04 ??
0001e91c ??
0001fbf0 ??
00020914 ??
00020b14 ??
mono_compile_method (mono_compile_method:84)
000ea154 AssetBundleManager::RegisterAssetBundle(AssetBundle*)

and

java.lang.Error: signal 11 (SIGSEGV), code -6 (?), fault addr 00001058
...
0029ed50 ProceduralMaterialData::ApplyTextureInput(int, SubstanceTextureInput_ const&)
0029ee4c ProceduralMaterialData::ApplyTextureInput(int, SubstanceTextureInput_ const&)
0029eea8 ProceduralMaterialData::ApplyTextureInput(int, SubstanceTextureInput_ const&)
00116374 std::vector<SortingLayerEntry, std::allocator<SortingLayerEntry> >::_M_default_append(unsigned int)
00116610 void std::vector<SortingLayerEntry, std::allocator<SortingLayerEntry> >::_M_assign_aux<__gnu_cxx::__normal_iterator<SortingLayerEntry*, std::vector<SortingLayerEntry, std::allocator<SortingLayerEntry> > > >(__gnu_cxx::__normal_iterator<SortingLayerEntry*, std::vector<SortingLayerEntry, std::allocator<SortingLayerEntry> > >, __gnu_cxx::__normal_iterator<SortingLayerEntry*, std::vector<SortingLayerEntry, std::allocator<SortingLayerEntry> > >, std::forward_iterator_tag)
0011f65c BaseRenderer::FlattenCommonData(BaseRenderer&, TransformInfo const&, float, RenderNode&)
0001ce04 ??
0001e91c ??
0001fbf0 ??
00020914 ??
00020b14 ??
mono_compile_method (mono_compile_method:84)
000eb0ac AssetBundleLoadFromFileAsyncOperation::ConvertArchive()

Has anyone any idea of why these crashes could occur, and only on the specific abovementioned devices (Android 8 / Huawei)?

Thanks a lot,

Hello, just wanted to bump this as I am experiencing the same thing. Crashes only on Huawei devices running Android 8 - 9.
Play console shows the same “java.lang.Error: signal 11 (SIGSEGV), code -6 (?)”
I am on unity version 5.6.5.