How can I interpret this Android stack trace?

I released an Android app about a month ago, and it seems to crash randomly and more often than I would like in one way. I and the developer with whom I work are not really sure that, if you like, we can draw from the errors created, so I hope someone can shed light on the problem for us. The application was built using the Xamarin Mono platform. As a rule, this is sqlite3_step + XXX error, a couple of times it was sqlite3_prepare_v2 + XX error. In any case, the stack trace usually looks like this.

Native crash in /system/lib/libsqlite.so in / system / lib / libsqlite.so, / system / lib / libsqlite.so (sqlite3_step + 510)

Build fingerprint: 'motorola/XT926_verizon/vanquish:4.4.2/KDA20.62-15/15:user/release-keys' Revision: 'p300' pid: 863, tid: 892, name: myapp.android >>> com.myapp.android <<< signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000000c r0 60311d70 r1 00000000 r2 00002210 r3 00000000 r4 60311c20 r5 00000000 r6 ffffffec r7 00000000 r8 00001000 r9 00000000 sl 00002400 fp 00000000 ip 00000000 sp 612ff208 lr 409ee113 pc 40978564 cpsr 60030030 d0 61642f617461642f d1 642e6d6f632f6174 d2 72657372756f6367 d3 6e612e7765697665 d4 31222c223631222c d5 5d223831222c2237 d6 3a2273726170222c d7 332c332c332c335b d8 4194997000000000 d9 0000000000000000 d10 0000000000000000 d11 0000000000000000 d12 0000000000000000 d13 0000000000000000 d14 0000000000000000 d15 0000000000000000 d16 69662f64696f7264 d17 726367642f73656c d18 0000000000000001 d19 0001000400000000 d20 0061006e006e0075 d21 00490065006c0062 d22 0065006c0070006d d23 0074006e0065006d d24 3fd1b10853a79915 d25 3fd554fa9ca0567a d26 3fdb6db71408e660 d27 3fe33333332d4313 d28 3ff0000000000000 d29 0000000000000001 d30 fff0000000000000 d31 ffffffff00000000 scr 60000011 backtrace: #00 pc 0003f564 /system/lib/libsqlite.so #01 pc 0000bcfd /system/lib/libsqlite.so #02 pc 0000c1df /system/lib/libsqlite.so #03 pc 000acf41 /system/lib/libsqlite.so #04 pc 000ac5a9 /system/lib/libsqlite.so #05 pc 0000d62f /system/lib/libsqlite.so (sqlite3_step+510) #06 pc 0002112c <unknown> code around pc: 40978544 b1487a20 6f80f418 6c20d106 68027ae1 40978554 47906952 d13b2800 e9d46c20 68012314 40978564 a90268cf 000ce88d 47b8220c f418bb80 40978574 d1096f80 7ae16c20 29036802 bf086952 40978584 0110f041 bb184790 0112e9d4 0f00f1b9 40978594 0114e9c4 f04fbf18 b14d0901 0f00f1b9 409785a4 2000d106 462062e0 f914f000 d10f2800 409785b4 00b0f8d4 e0046801 f0228b0a 830a0204 409785c4 29006a09 6841d1f8 20046081 200073e0 409785d4 4479490b 68095871 42919a07 b008bf04 409785e4 87f0e8bd e8caf7c5 00085a96 ffffffec 409785f4 000859ac ffffafd8 0008599a ffffaff0 40978604 000858ea 4ff0e92d 4680b087 f8d8460c 40978614 6810203c f8d8b998 23000000 1078f8d8 40978624 93006987 7361f647 0308f2c0 f0414019 40978634 2100031e 460747b8 f0402f00 f8d880c2 code around lr: 409ee0f0 2d0e4605 bb6dd02d 25009803 db292800 409ee100 ec0af74f 9803491d 44314479 1180f8d1 409ee110 25004788 2500b1f0 bf182c00 f74f6a25 409ee120 4917eb54 4a102d00 68034479 0001eb02 409ee130 f8df4e14 eb06c03c bf080201 44614605 409ee140 0024e88d 7212f646 f2419002 f753000a 409ee150 2500f907 f0208a60 82600008 b0044628 409ee160 bf00bd70 0000fe1a ffff5ae1 ffffa6dc 409ee170 ffffa615 0000fdde 0000014c 0000fdb8 409ee180 0000fd98 ffffa60f 4830e92d 460cb09e 409ee190 4a1e491d 44794605 441168e8 21b0f8d1 409ee1a0 4790a904 f74fb308 6800eb10 6a2c6168 409ee1b0 eb0af74f 2c004916 44794a16 eb026803 409ee1c0 4d150001 c054f8df 0201eb05 4604bf08 409ee1d0 e88d4461 f6460014 9002724e 700af240 409ee1e0 740af240 f8bcf753 9810e00a f0809911 
+5
source share
1 answer

Local ADB Address

I would suggest using the adb log code to get the logs and find the keys this way. It can still be a little complicated, but it has at least useful information.

Clear ADB Logs

Note If you can reliably reproduce the crash, it is a good idea to clear old ADB logs first, so you don't have to wade through a bunch of additional information. Then just play the crash and grab the logs immediately.

Command: adb logcat -c

(Source: fooobar.com/questions/54918 / ... )

Steps to get adb logs:

  • Open command prompt
  • Go to the platform folder.
    • (Default on PC: C:\android-sdk-windows\platform-tools )
  • Run adb connect
  • PC command: adb logcat -vtime -d> "% USERPROFILE% \ Desktop \ android_logcat.txt"

https://kb.xamarin.com/customer/portal/articles/1675684#adb-logcat

What to look for:

Often for failures; you will see a stack and a message similar to:

==================================================== ================
Got SIGSEGV while executing native code. Usually it means
fatal error in mono executable version or one of the native libraries
used by your application.

=================================================== ================

This message itself, unfortunately, is quite generic ; but at least he tells you where the logs failed. After you used this to view the stadium, you can see the stack that leads to it.

It may also be useful to find the activity / intent that was last run before the crash occurred: http://developer.xamarin.com/guides/android/deployment,_testing,_and_metrics/android_debug_log/#Interesting_Messages

0
source

All Articles