3

Since a while I'm getting random crashes without any .Net stacktrace but with a small Android stacktrace (with only 1 stackitem) pointing to libmonosgen-2.0.so. The crashes happen randomly; when the App isn't doing much, or doing a lot, on random real devices, debug or release versions, from backgroundthreads or main thread, etc.

Anyone any idea how to approach this??? (it seems like a mono/xamarin thing, maybe a known issue?)

My develop configuration: VS2017, Android 7.0 and 7.0 (5.0 as minimum), all Xamarin packages updated, all Android SDK libraries updated, MVVMCross 4.4

I added 3 crash logs crash 1:

09-11 10:59:51.340 I/DEBUG ( 352): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x3f800000 
09-11 10:59:51.350 I/DEBUG (352): r0 3f800000 r1 aef6b0a4 r2 00001867 r3 53677a96 
09-11 10:59:51.350 I/DEBUG ( 352): r4 ae90ee68 r5 b489db70 r6 00000000 r7 3f800000 
09-11 10:59:51.350 I/DEBUG ( 352): r8 b489db88 r9 161129ff sl bea85998 fp bea858e8 
09-11 10:59:51.350 I/DEBUG ( 352): ip af1364f8 sp bea858d8 lr af06c5b8 pc aef6b0a4 cpsr 200f0010 
09-11 10:59:51.350 I/DEBUG ( 352):  
09-11 10:59:51.350 I/DEBUG ( 352): backtrace: 
09-11 10:59:51.350 I/DEBUG ( 352): #00 pc 0017a0a4 /data/app/myApp/lib/arm/libmonosgen-2.0.so

crash 2:

09-11 14:15:50.890 I/DEBUG ( 352): pid: 28398, tid: 28398, name: myApp
09-11 14:15:50.890 I/DEBUG ( 352): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7cfbc1a5 
09-11 14:15:50.900 I/DEBUG (352): r0 7cfbc1a1 r1 7cfbc1a1 r2 bea847f8 r3 aef301e4 
09-11 14:15:50.900 I/DEBUG ( 352): r4 b489d800 r5 7cfbc1a1 r6 b4946000 r7 9ba2f768 
09-11 14:15:50.900 I/DEBUG ( 352): r8 bea847f8 r9 b4827800 sl 00000000 fp bea847b8 
09-11 14:15:50.900 I/DEBUG ( 352): ip af136290 sp bea847a8 lr af003544 pc aef301bc cpsr 20070010 
09-11 14:15:50.900 I/DEBUG ( 352):  
09-11 14:15:50.900 I/DEBUG ( 352): backtrace: 
09-11 14:15:50.900 I/DEBUG ( 352): #00 pc 0013f1bc /data/app/myApp/lib/arm/libmonosgen-2.0.so (mono_class_from_mono_type+8)

crash 3:

09-11 16:21:54.470 I/DEBUG ( 164): ABI: 'arm' 
09-11 16:21:54.471 I/DEBUG ( 164): pid: 9467, tid: 9467, name: myApp 
09-11 16:21:54.471 I/DEBUG ( 164): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xf0b9bc14 
09-11 16:21:54.499 I/DEBUG ( 164): r0 f0b9bbf4 r1 ba1e67c8 r2 00000049 r3 b9171668 
09-11 16:21:54.499 I/DEBUG ( 164): r4 ba1e67c8 r5 00000000 r6 a5085d18 r7 b9bbf529 
09-11 16:21:54.499 I/DEBUG ( 164): r8 ba1e67c8 r9 b9171668 sl b9bb52ac fp bed8f9d8 
09-11 16:21:54.499 I/DEBUG ( 164): ip f0b9bbf4 sp bed8f9c0 lr a516d034 pc a5085d20 cpsr a00f0110 
09-11 16:21:54.503 I/DEBUG ( 164):  
09-11 16:21:54.503 I/DEBUG ( 164): backtrace: 
09-11 16:21:54.503 I/DEBUG ( 164): #00 pc 001a8d20 /data/app/myApp/lib/arm/libmonosgen-2.0.so

EDIT

@york-shen-msft stil waiting for the crash to happen again, but I do got a crash that includes libmonosgen-2.0 and a .Net stacktrace.

crash log (search for 'fatal', above that is a .Net stacktrace)

source code It happens in a Linq method that should never crash, so very strange behaviour.

Toine db
  • 709
  • 7
  • 25
  • Have you including `arm64-v8a` as a target architecture in your project? – York Shen Sep 14 '17 at 01:27
  • No, just armeabi,armeabi-v7a,x86 , this always worked. Should this matter suddenly? – Toine db Sep 14 '17 at 08:54
  • Please post complete exception stack trace, we need more information to find the reason. – York Shen Sep 14 '17 at 09:10
  • You could read this : https://stackoverflow.com/questions/5314036/how-to-use-addr2line-in-android – York Shen Sep 14 '17 at 09:36
  • I found that topic as well, but couldn't get it to work with the libmonosgen-2.0 . Besides that I was doubtful if this would give me meaningfull data at all because it would give me mono or android native coding, while I'm doing all stuff in C#. I have seem to have removed the complete logs, as soon as I encounter the same crash Ill post the log. PS: don't expect more android backtrace then #00 or any .Net stacktrace. Because that the whole issue. – Toine db Sep 14 '17 at 11:34
  • I have completely the same issue, in google store, I'm doubting on https://ericsink.com/entries/sqlite_android_n.html – Dan Sep 25 '18 at 08:29

1 Answers1

1

It turned out that MVVMCross was build/tested with a much higher Android version then I was building my App with.

After aligning my App build version to the same version as MVVMCross was build all strange crashes by libmonosgen or without any stacktrace disappeared.

(some extra investigation showed a lot of reflection errors not finding proper methods, maybe because of Android SDK mismatch)

Toine db
  • 709
  • 7
  • 25