From time to time, I get in our Xamarin.Android app a fatal 11 when loading a features table.
Here is the C# code
public static Esri.ArcGISRuntime.Data.GeodatabaseFeatureTable GetStreetFeatureTable(Esri.ArcGISRuntime.Data.Geodatabase gdb, string tableName)
{
GeodatabaseFeatureTable table = gdb.GeodatabaseFeatureTable(tableName);
if (table == null)
{
table = gdb.GeodatabaseFeatureTable(0);
}
return table;
}
Here's the crash
--------- beginning of crash
05-31 09:26:13.559 23763 23991 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8 in tid 23991 (Thread-3804)
05-31 09:26:13.616 162 162 I DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-31 09:26:13.616 162 162 I DEBUG : Build fingerprint: 'Android/:eng/release-keys'
05-31 09:26:13.616 162 162 I DEBUG : Revision: '0'
05-31 09:26:13.616 162 162 I DEBUG : ABI: 'arm'
05-31 09:26:13.616 162 162 I DEBUG : pid: 23763, tid: 23991, name: Thread-3804 >>> APK_NAME <<<
05-31 09:26:13.616 162 162 I DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
05-31 09:26:13.626 162 162 I DEBUG : r0 ba96dbe8 r1 00000000 r2 8ddff4a0 r3 bac3c718
05-31 09:26:13.626 162 162 I DEBUG : r4 00000000 r5 ba95f950 r6 00000000 r7 00000000
05-31 09:26:13.626 162 162 I DEBUG : r8 00000000 r9 ba96dbe8 sl 8ddff4dc fp ba9a8208
05-31 09:26:13.626 162 162 I DEBUG : ip 9947cefd sp 8ddff448 lr 9855df11 pc 9855dec4 cpsr 800f0030
05-31 09:26:13.626 162 162 I DEBUG :
05-31 09:26:13.626 162 162 I DEBUG : backtrace:
05-31 09:26:13.626 162 162 I DEBUG : #00 pc 0089aec4 /data/app/APK/lib/arm/libruntimecore.so
05-31 09:26:13.626 162 162 I DEBUG : #01 pc 0089af0d /data/app/APK/lib/arm/libruntimecore.so
05-31 09:26:13.626 162 162 I DEBUG : #02 pc 0089b177 /data/app/APK/lib/arm/libruntimecore.so
05-31 09:26:13.626 162 162 I DEBUG : #03 pc 00741ffb /data/app/APK/lib/arm/libruntimecore.so (RT_Geodatabase_getGeodatabaseFeatureTables+50)
05-31 09:26:13.626 162 162 I DEBUG : #04 pc 000d6fd7 /data/app/APK/lib/arm/libRuntimeCoreNet.so (CoreRT_Geodatabase_getGeodatabaseFeatureTables+26)
05-31 09:26:13.626 162 162 I DEBUG : #05 pc 0000e944 <unknown>
And here is the build enviroment
Visual Studio 15.7.1
Xamarin 4.10.0.442
Xamarin.Android SDK 8.3.0.19
JDK 1.8.0_172 (32 bit version)
Android SDK Tools 25.2.5
Android SDK Platform-tools 27.0.1
Android SDK Build-tools 25.0.3, 23.0.3
SDK Platforms Installed
8.0 (API 26)
7.1.1 (API 25)
6.0 (API 23)
Esri Runtime 100.2.1
The only thing I can think of that I might be able to prevent, is calling this function from 2 threads at the same time. We have different feature layers we use and it is possible that from time to time two threads could call it at the same time.