Google-Breakpad crash dump: did not get error file name, line

411 views
Skip to first unread message

Vinay Tomer

unread,
May 31, 2016, 8:24:45 AM5/31/16
to google-breakpad-discuss

I have built Google breakpad as ndk-build build system with -g option.

I have downloaded dump_syms and minidump_stackwalk tools from location.

But when i tried to open minidump on my Linux machine it provide me output as


016-05-31 15:06:33: minidump.cc:4518: INFO: Minidump closing minidump
Operating system: Android
                  0.0.0 Linux 3.10.57+ #1 SMP PREEMPT Tue Jul 7 11:02:04 CST 2015 armv7l
CPU: arm
     ARMv7 ARM part(0x4100c070) features: swp,half,thumb,fastmult,vfpv2,edsp,thumbee,neon,vfpv3,tls,vfpv4,idiva,idivt
     4 CPUs

Crash reason:  SIGABRT
Crash address: 0x402d

Thread 68 (crashed)
 0  libc.so + 0x3d524
     r0 = 0x00000000    r1 = 0x0000424a    r2 = 0x00000006    r3 = 0x00000000
     r4 = 0x9ecd7dd8    r5 = 0x00000006    r6 = 0x00000058    r7 = 0x0000010c
     r8 = 0xb7c94158    r9 = 0xb7c93d80   r10 = 0x00000000   r12 = 0x0000424a
     fp = 0x9ecd754c    sp = 0x9ecd7490    lr = 0xb6e34db5    pc = 0xb6e5b524
    Found by: given as instruction pointer in context
 1  libc.so + 0x179c9
     sp = 0x9ecd74a8    pc = 0xb6e359cb
    Found by: stack scanning
 2  libc.so + 0x1416b
     sp = 0x9ecd74b0    pc = 0xb6e3216d
    Found by: stack scanning
 3  test.so + 0x114dd6
     sp = 0x9ecd74cc    pc = 0xa3566dd8
    Found by: stack scanning
 4  test.so + 0x11483e
     sp = 0x9ecd74d4    pc = 0xa3566840
    Found by: stack scanning
 5  libc.so + 0x124f2
     sp = 0x9ecd74d8    pc = 0xb6e304f4
    Found by: stack scanning
 6  libc.so + 0x154a1
     sp = 0x9ecd74e0    pc = 0xb6e334a3
    Found by: stack scanning
 7  libc.so + 0x4ae3a
     sp = 0x9ecd74e4    pc = 0xb6e68e3c
    Found by: stack scanning
 8  libc.so + 0x141ef
     sp = 0x9ecd74f0    pc = 0xb6e321f1
    Found by: stack scanning
 9  libc.so + 0x4ae3a
     sp = 0x9ecd74f4    pc = 0xb6e68e3c
    Found by: stack scanning
10  test.so + 0x11483e
     sp = 0x9ecd74f8    pc = 0xa3566840
    Found by: stack scanning

I am doing something wrong but did not able to figure it out. to generate sym file i followed below procedure.

$dump_syms $PROJECT_PATH/obj/local/$ABI/test.so > test.so.sym

$head -n1 test.so.sym

$mkdir -p symbols/test.so/4DFCDE88787D852DABC1146F1C68406D0
$mv test.so.sym  symbols/test.so/4DFCDE88787D852DABC1146F1C68406D0

$ minidump_stackwalk xxxx.dmp  /symbols

Primiano Tucci

unread,
May 31, 2016, 8:34:02 AM5/31/16
to google-breakpad-discuss
I think what's happening is that the test.so file that you are passing to dump_syms is stripped.
You need the unstripped .so with debug symbols (which typically is NOT what ends up on the device).

--
You received this message because you are subscribed to the Google Groups "google-breakpad-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-breakpad-d...@googlegroups.com.
To post to this group, send email to google-brea...@googlegroups.com.
Visit this group at https://groups.google.com/group/google-breakpad-discuss.
For more options, visit https://groups.google.com/d/optout.

Mike Frysinger

unread,
May 31, 2016, 2:57:17 PM5/31/16
to google-brea...@googlegroups.com
we just noticed in CrOS that building w/clang/llvm defaults to newer dwarf than breakpad supports.

what was the exact command used to build test.so and other programs ?
-mike

Vinay Tomer

unread,
Jun 1, 2016, 12:51:01 AM6/1/16
to google-breakpad-discuss


On Wednesday, June 1, 2016 at 12:27:17 AM UTC+5:30, Mike Frysinger wrote:
we just noticed in CrOS that building w/clang/llvm defaults to newer dwarf than breakpad supports.

what was the exact command used to build test.so and other programs ?
-mike


I had built test.so using eclipse, set APP_CPPFLAGS += -g  option in application.mk.
built application for android-23 platform:
APP_PLATFORM := android-23

APP_ABI := armeabi armeabi-v7a x86


Vinay Tomer

unread,
Jun 1, 2016, 1:03:15 AM6/1/16
to google-breakpad-discuss


On Tuesday, May 31, 2016 at 6:04:02 PM UTC+5:30, Primiano Tucci wrote:
I think what's happening is that the test.so file that you are passing to dump_syms is stripped.
You need the unstripped .so with debug symbols (which typically is NOT what ends up on the device).

Hi Tucci

the test.so file is not stripped.  the output od
objdump --syms  test.so  is below.

test.so:     file format elf32-little

SYMBOL TABLE:
00000000 l    df *ABS*    00000000              crtbegin_so.c
0005fef4 l       .text    00000000              $a
0005fc70 l       .text    00000000              $a
0005fc7c l       .text    00000000              $d
00139030 l       .fini_array    00000000              $d
0005ff18 l       .text    00000000              $d
0013b000 l       .data    00000000              $d

Vinay Tomer

unread,
Jun 1, 2016, 1:08:02 AM6/1/16
to google-breakpad-discuss

and using test.so which is available under armeabi folder to  decode the minidump
 
 

Vinay Tomer

unread,
Jun 1, 2016, 1:12:16 AM6/1/16
to google-breakpad-discuss




objdump --syms  test.so | grep debug

00000010 l       .debug_frame    00000000              $d
00001c3c l       .debug_frame    00000000              $d
000030c0 l       .debug_frame    00000000              $d
00007388 l       .debug_frame    00000000              $d
0000752c l       .debug_frame    00000000              $d
00007bd0 l       .debug_frame    00000000              $d
00009b54 l       .debug_frame    00000000              $d
0000a3f4 l       .debug_frame    00000000              $d
0000b154 l       .debug_frame    00000000              $d
0000b710 l       .debug_frame    00000000              $d
0000bc88 l       .debug_frame    00000000              $d
0000e9fc l       .debug_frame    00000000              $d
0001072c l       .debug_frame    00000000              $d
000109b0 l       .debug_frame    00000000              $d
00010f28 l       .debug_frame    00000000              $d
0001282c l       .debug_frame    00000000              $d
0001289c l       .debug_frame    00000000              $d
00012904 l       .debug_frame    00000000              $d
00014554 l       .debug_frame    00000000              $d
00014704 l       .debug_frame    00000000              $d
000149c0 l       .debug_frame    00000000              $d
00015e58 l       .debug_frame    00000000              $d
00016404 l       .debug_frame    00000000              $d
0001650c l       .debug_frame    00000000              $d
00016618 l       .debug_frame    00000000              $d
00018288 l       .debug_frame    00000000              $d
00018360 l       .debug_frame    00000000              $d
000183cc l       .debug_frame    00000000              $d
0001b7a0 l       .debug_frame    00000000              $d
0001cc60 l       .debug_frame    00000000              $d
0001ccd0 l       .debug_frame    00000000              $d
0001cd60 l       .debug_frame    00000000              $d
000072b4 l       .debug_aranges    00000000              $d
0001d1dc l       .debug_frame    00000000              $d
0001dd6c l       .debug_frame    00000000              $d
0001de64 l       .debug_frame    00000000              $d
0001e058 l       .debug_frame    00000000              $d
0001e1f0 l       .debug_frame    00000000              $d
0002003c l       .debug_frame    00000000              $d
00020a54 l       .debug_frame    00000000              $d
00020b78 l       .debug_frame    00000000              $d
00020d94 l       .debug_frame    00000000              $d
00021abc l       .debug_frame    00000000              $d
00021c98 l       .debug_frame    00000000              $d
00021ce8 l       .debug_frame    00000000              $d
00021d08 l       .debug_frame    00000000              $d
00021d28 l       .debug_frame    00000000              $d
00021d48 l       .debug_frame    00000000              $d
00021e48 l       .debug_frame    00000000              $d
00021ec0 l       .debug_frame    00000000              $d
00021f00 l       .debug_frame    00000000              $d
00021f28 l       .debug_frame    00000000              $d
00021f50 l       .debug_frame    00000000              $d
00021f90 l       .debug_frame    00000000              $d
00022074 l       .debug_frame    00000000              $d
00022114 l       .debug_frame    00000000              $d
00022184 l       .debug_frame    00000000              $d
00022220 l       .debug_frame    00000000              $d
000232f4 l       .debug_frame    00000000              $d
000234ac l       .debug_frame    00000000              $d
00023518 l       .debug_frame    00000000              $d
0002564c l       .debug_frame    00000000              $d
0002593c l       .debug_frame    00000000              $d
0002598c l       .debug_frame    00000000              $d
00025b18 l       .debug_frame    00000000              $d
00025b58 l       .debug_frame    00000000              $d
00025ed4 l       .debug_frame    00000000              $d
00026034 l       .debug_frame    00000000              $d
000260e4 l       .debug_frame    00000000              $d
00026e7c l       .debug_frame    00000000              $d
00027628 l       .debug_frame    00000000              $d
00027678 l       .debug_frame    00000000              $d
00027720 l       .debug_frame    00000000              $d
0002780c l       .debug_frame    00000000              $d
00029950 l       .debug_frame    00000000              $d
00029c40 l       .debug_frame    00000000              $d
00029c90 l       .debug_frame    00000000              $d
00029dc4 l       .debug_frame    00000000              $d
00029e10 l       .debug_frame    00000000              $d
00029e74 l       .debug_frame    00000000              $d
00029f00 l       .debug_frame    00000000              $d
0002b208 l       .debug_frame    00000000              $d
0002b3b8 l       .debug_frame    00000000              $d
0002b4dc l       .debug_frame    00000000              $d
0002c7c8 l       .debug_frame    00000000              $d
0002c848 l       .debug_frame    00000000              $d
0002c898 l       .debug_frame    00000000              $d
0002c8e8 l       .debug_frame    00000000              $d
0002c938 l       .debug_frame    00000000              $d
0002ca1c l       .debug_frame    00000000              $d
0002ca58 l       .debug_frame    00000000              $d
0002cba4 l       .debug_frame    00000000              $d
0002cc0c l       .debug_frame    00000000              $d
0002cc7c l       .debug_frame    00000000              $d
0002ccdc l       .debug_frame    00000000              $d
0002cd58 l       .debug_frame    00000000              $d
0002ce30 l       .debug_frame    00000000              $d
0002cecc l       .debug_frame    00000000              $d
0002cfb8 l       .debug_frame    00000000              $d
0002d164 l       .debug_frame    00000000              $d
0002d1e8 l       .debug_frame    00000000              $d
0002d218 l       .debug_frame    00000000              $d
0002d2f4 l       .debug_frame    00000000              $d
0002d32c l       .debug_frame    00000000              $d
0002d410 l       .debug_frame    00000000              $d
0002d598 l       .debug_frame    00000000              $d
0002d64c l       .debug_frame    00000000              $d
0002d6ac l       .debug_frame    00000000              $d
0002d840 l       .debug_frame    00000000              $d
0002d8f0 l       .debug_frame    00000000              $d
0002db18 l       .debug_frame    00000000              $d
0002dcd8 l       .debug_frame    00000000              $d
0002e204 l       .debug_frame    00000000              $d
0002e2f8 l       .debug_frame    00000000              $d
0002e374 l       .debug_frame    00000000              $d
0002e3c4 l       .debug_frame    00000000              $d
0002e70c l       .debug_frame    00000000              $d
0002fa94 l       .debug_frame    00000000              $d
0002fae4 l       .debug_frame    00000000              $d
0002fb34 l       .debug_frame    00000000              $d
0003008c l       .debug_frame    00000000              $d
000300b4 l       .debug_frame    00000000              $d
00030278 l       .debug_frame    00000000              $d
000304c8 l       .debug_frame    00000000              $d
0000cbe4 l       .debug_aranges    00000000              $d
000304e8 l       .debug_frame    00000000              $d
0000cc04 l       .debug_aranges    00000000              $d
0000cc24 l       .debug_aranges    00000000              $d
00030508 l       .debug_frame    00000000              $d
0000cc44 l       .debug_aranges    00000000              $d
0000cc64 l       .debug_aranges    00000000              $d
00030530 l       .debug_frame    00000000              $d
00030550 l       .debug_frame    00000000              $d
000305a0 l       .debug_frame    00000000              $d
0000cce4 l       .debug_aranges    00000000              $d
0003084c l       .debug_frame    00000000              $d
00030938 l       .debug_frame    00000000              $d
00030a6c l       .debug_frame    00000000              $d
00030aa8 l       .debug_frame    00000000              $d
0000cd84 l       .debug_aranges    00000000              $d
0000cda4 l       .debug_aranges    00000000              $d
000acb48 g     F .text    00000154              _ZN10proxy_info18debug_sock_addr_inE11sockaddr_in
000acc9c g     F .text    00000154              _ZN10proxy_info19debug_sock_addr_in6E12sockaddr_in6
 

Vinay Tomer

unread,
Jun 1, 2016, 7:31:42 AM6/1/16
to google-breakpad-discuss


On Tuesday, May 31, 2016 at 6:04:02 PM UTC+5:30, Primiano Tucci wrote:
I think what's happening is that the test.so file that you are passing to dump_syms is stripped.
You need the unstripped .so with debug symbols (which typically is NOT what ends up on the device).


To create the sym i m following the below procedure.
 
XXX/obj/local/armeabi-v7a$ ~/dump/dump_syms test.so > test.sym

XXX/obj/local/armeabi-v7a$head -n1 test.sym

XXX/obj/local/armeabi-v7a$mkdir -p ./symbols/test/4DFCDE88787D852DABC1146F1C68406D0
XXX/obj/local/armeabi-v7a$mv test.sym  ./symbols/test/4DFCDE88787D852DABC1146F1C68406D0

XXX/obj/local/armeabi-v7a$~/dump/minidump_stackwalk xxxx.dmp  ./symbols

please let me know if i am doing something wrong.
complete decoded dump file is attached.
DecodeDump.txt
Reply all
Reply to author
Forward
0 new messages