Random crash on Android

Hi, our game on android have a high crash rate (5%) on Android after we upgrade to 5.6.4 two month ago. Last month we upgraded to 5.6.5p3 but that was not helpful. Our developers and QAs can not reproduce the crash so we don’t know when it may happen in the game. But we can see a lot of crashes everyday on Crashlytics, it seems the low level libunity crashed after checked stack trace, so I hope anyone can help us to figure it out, thanks
Here is the error stack:

Fatal Exception: java.lang.Error: signal 6 (SIGABRT), code -6 (?), fault addr --------
Build fingerprint: 'samsung/dreamqltesq/dreamqltesq:8.0.0/R16NW/G950USQU2CRC5:user/release-keys'
Revision: '12'
pid: 5467, tid: 21505, name: Thread-210  >>>  <<<
    r0 00000000  r1 00005401  r2 00000006  r3 00000008
    r4 0000155b  r5 00005401  r6 bbd7f468  r7 0000010c
    r8 00000000  r9 d3bf3b09  sl bbd7f6b0  fp 00000000
    ip 00000000  sp bbd7f458  lr f24dca17  pc f250dba8  cpsr 31522f30

       at libc.tgkill(tgkill:12)
       at libc.abort(abort:54)
       at libart.art::detail::CmdlineParseArgument<std::__1::vector<art::Plugin, std::__1::allocator<art::Plugin> > >::ParseArgumentSingle(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)(detail:586)
       at libart.art::CmdlineType<std::__1::vector<art::Plugin, std::__1::allocator<art::Plugin> > >::ParseAndAppend(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<art::Plugin, std::__1::allocator<art::Plugin> >&)(CmdlineType:70)
       at libart.art::Thread::SetNativePriority(int)(Thread:92)
       at libart.art::gc::space::RegionSpace::LogFragmentationAllocFailure(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, unsigned int)(gc:562)
       at libart.art::interpreter::UnstartedRuntime::UnstartedMemoryPeekByteArray(art::Thread*, art::ShadowFrame*, art::JValue*, unsigned int)(interpreter:130)
       at libart.art::InlineInfo::smile:ump(art::VariableIndentationOutputStream*, art::CodeInfo const&, art::MethodInfo const&, unsigned short*) const(art:684)
       at libart.art::CmdlineParser<art::RuntimeArgumentMap, art::RuntimeArgumentMap::Key>::ArgumentBuilder<art::verifier::VerifyMode>::CompleteArgument()(CmdlineParser:178)
       at libart.art::CmdlineParser<art::RuntimeArgumentMap, art::RuntimeArgumentMap::Key>::ArgumentBuilder<art::verifier::VerifyMode>::ArgumentBuilder(art::CmdlineParser<art::RuntimeArgumentMap, art::RuntimeArgumentMap::Key>::Builder&, std::__1::shared_ptr<art::CmdlineParser<art::RuntimeArgumentMap, art::RuntimeArgumentMap::Key>::SaveDestination>)(CmdlineParser:96)
       at libart.art::JNI::CallNonvirtualShortMethod(_JNIEnv*, _jobject*, _jclass*, _jmethodID*, ...)(JNI:600)
       at libunity.00a52b5c(Unknown Source)
       at libil2cpp.0193b490(Unknown Source)

Unity 2018.1.7f1

Caused by java.lang.Error: signal 6 (SIGABRT), code -6 (?), fault addr --------
Build fingerprint: 'samsung/star2ltexx/star2lte:8.0.0/R16NW/G965FXXU1BRF8:user/release-keys'
Revision: '26'
pid: 12800, tid: 5596, name: Thread-241  >>> com.playkot.supercity <<<
    r0 00000000  r1 000015dc  r2 00000006  r3 00000008
    r4 00003200  r5 000015dc  r6 aa5b6458  r7 0000010c
    r8 00000000  r9 ce20b4ed  sl aa5b66a0  fp 00000000
    ip 00000000  sp aa5b6448  lr ed85d4b7  pc ed88e7f0  cpsr aa5b6158

       at libc.tgkill(tgkill:12)
       at libc.abort(abort:54)
       at libart.art::Runtime::Abort(char const*)(Runtime:370)
       at libart.art::Runtime::Aborter(char const*)(Runtime:10)
       at libart.android::base::LogMessage::~LogMessage()(base:456)
       at libart.art::IndirectReferenceTable::AbortIfNoCheckJNI(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)(IndirectReferenceTable:166)
       at libart.art::interpreter::UnstartedRuntime::UnstartedMemoryPeekByteArray(art::Thread*, art::ShadowFrame*, art::JValue*, unsigned int)(interpreter:394)
       at libart.art::Thread::smile:ecodeJObject(_jobject*) const(art:48)
       at libart.std::__1::__function::__func<art::CmdlineParser<art::RuntimeArgumentMap, art::RuntimeArgumentMap::Key>::ArgumentBuilder<art::verifier::VerifyMode>::IntoKey(art::RuntimeArgumentMapKey<art::verifier::VerifyMode> const&)::{lambda(art::verifier::VerifyMode&)#1}, std::__1::allocator<{lambda(art::verifier::VerifyMode&)#1}>, void (art::verifier::VerifyMode&)>::__clone(std::__1::__function::__base<std::__1::allocator<{lambda(art::verifier::VerifyMode&)#1}> >*) const(__1:6)
       at libart.art::InvokeWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)(InvokeWithJValues:280)
       at libart.art::JNI::CallNonvirtualShortMethod(_JNIEnv*, _jobject*, _jclass*, _jmethodID*, ...)(JNI:624)
       at libunity.00072930(Unknown Source)
       at libil2cpp.01abbdd4(Unknown Source)

Its very unfortunate.we too are getting this crashes a lot.One of the findings is this crash happens more in Oreo and nougat… Unity please look into this.This link has little description about this crash.

Please submit a bug report.

Any resolution for this issue? We started having this crash in Crashlytics as well. We were suspecting Firebase since the only noticeable difference between builds was updating the SDK from 5.3.1 to 5.4.0 but reverting the SDK didn’t remove the errors.

Caused by java.lang.Error: signal 6 (SIGABRT), code -6 (?), fault addr --------
Build fingerprint: 'samsung/gts3lwifixx/gts3lwifi:8.0.0/R16NW/T820XXU1BRE2:user/release-keys'
Revision: '5'
pid: 31859, tid: 31964, name: Thread-20  >>> com.company.game <<<
    r0 00000000  r1 00007cdc  r2 00000006  r3 00000008
    r4 00007c73  r5 00007cdc  r6 c6c7f438  r7 0000010c
    r8 00000000  r9 cf554c89  sl e32e1b10  fp 00000000
    ip 00000000  sp c6c7f428  lr eee23a17  pc eee54b74  cpsr c6c7f138

       at libc.tgkill(tgkill:12)
       at libc.abort(abort:54)
       at libart.art::Runtime::Abort(char const*)(Runtime:230)
       at libart.art::Runtime::Aborter(char const*)(Runtime:10)
       at libart.android::base::LogMessage::~LogMessage()(base:456)
       at libart.art::IndirectReferenceTable::AbortIfNoCheckJNI(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)(IndirectReferenceTable:166)
       at libart.art::interpreter::UnstartedRuntime::UnstartedMemoryPeekByteArray(art::Thread*, art::ShadowFrame*, art::JValue*, unsigned int)(interpreter:78)
       at libart.art::Thread::smile:ecodeJObject(_jobject*) const(art:48)
       at libart.art::CmdlineParser<art::RuntimeArgumentMap, art::RuntimeArgumentMap::Key>::ArgumentBuilder<art::verifier::VerifyMode>::CompleteArgument()(CmdlineParser:178)
       at libart.art::InvokeWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)(InvokeWithJValues:280)
       at libart.art::JNI::CallNonvirtualShortMethod(_JNIEnv*, _jobject*, _jclass*, _jmethodID*, ...)(JNI:600)
       at libunity.00122b44(Unknown Source)
       at libunity.00127b0c(Unknown Source)
       at libil2cpp.009792d0(Unknown Source)

It only happens on Android Nougat (7.x) and Oreo (8.0.0) and strangely the devices are always in portrait mode (our game is in landscape). It currently affects 2% of our users.

we dont have any repros for these crashes

Just to let you guys know that we fixed this issue on our end. It appeared that some files were not discarded when we updated our Firebase plugin. We cleared our project from every file from our Firebase plugin then reimported the new version and it worked. No user had had the crash ever since.

My suggestion would be to check every plugin that you are using and reimport them from a fresh state and see what happens.