1#!/usr/bin/env python
2#
3# Copyright (C) 2014 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#      http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17arm = """
18Build fingerprint: 'Android/aosp_arm/generic_arm:4.4.3.43.43.43/AOSP/enh06302258:eng/test-keys'
19Revision: '0'
20ABI: 'arm'
21signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
22    r0 00000000  r1 00002dd9  r2 00000006  r3 00000000
23    r4 f710edd8  r5 00000006  r6 00000000  r7 0000010c
24    r8 f71b9df4  r9 ab0b5028  sl f7175695  fp f710edd0
25    ip 00002dd9  sp f710ed18  lr f7175ef1  pc f719a4e0  cpsr 60070010
26    d0  ffffffffffffffff  d1  0000000000000031
27    d2  0000000000000037  d3  0000000000000033
28    d4  0000000000000000  d5  0000000000000000
29    d6  0000000000000000  d7  0000000000000000
30    d8  0000000000000000  d9  0000000000000000
31    d10 0000000000000000  d11 0000000000000000
32    d12 0000000000000000  d13 0000000000000000
33    d14 0000000000000000  d15 0000000000000000
34    d16 0000000000000000  d17 0000000000000fff
35    d18 0000000000000000  d19 0000000000000000
36    d20 0000000000000000  d21 0000000000000000
37    d22 0000000000000000  d23 0000000000000000
38    d24 0000000000000000  d25 0000000000000000
39    d26 0000000000000000  d27 0000000000000000
40    d28 0000000000000000  d29 0000000000000000
41    d30 0000000000000000  d31 0000000000000000
42    scr 00000000
43
44backtrace:
45    #00 pc 000374e0  /system/lib/libc.so (tgkill+12)
46    #01 pc 00012eed  /system/lib/libc.so (pthread_kill+52)
47    #02 pc 00013997  /system/lib/libc.so (raise+10)
48    #03 pc 0001047d  /system/lib/libc.so (__libc_android_abort+36)
49    #04 pc 0000eb1c  /system/lib/libc.so (abort+4)
50    #05 pc 00000c6f  /system/xbin/crasher
51    #06 pc 000126b3  /system/lib/libc.so (__pthread_start(void*)+30)
52    #07 pc 000107fb  /system/lib/libc.so (__start_thread+6)
53"""
54
55arm64 = """
56Build fingerprint: 'Android/aosp_arm64/generic_arm64:4.4.3.43.43.43/AOSP/enh06302258:eng/test-keys'
57Revision: '0'
58ABI: 'arm64'
59signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
60    x0   0000000000000000  x1   0000000000002df1  x2   0000000000000006  x3   000000559dc73040
61    x4   ffffffffffffffff  x5   0000000000000005  x6   0000000000000001  x7   0000000000000020
62    x8   0000000000000083  x9   0000005563d21000  x10  0101010101010101  x11  0000000000000001
63    x12  0000000000000001  x13  0000005563d21000  x14  0000005563d21000  x15  0000000000000000
64    x16  0000005563d32f20  x17  0000000000000001  x18  0000000000000000  x19  000000559dc73040
65    x20  0000007f844dcbb0  x21  0000007f84639000  x22  0000000000000000  x23  0000000000000006
66    x24  0000007f845b2000  x25  0000007ff8f33bc0  x26  0000007f843df000  x27  000000559dc730c0
67    x28  0000007f84639788  x29  0000007f844dc9c0  x30  0000007f845b38c4
68    sp   0000007f844dc9c0  pc   0000007f845f28e0
69    v0   2f2f2f2f2f2f2f2f  v1   5f6474656e62696c  v2   000000000000006f  v3   0000000000000000
70    v4   8020080280200800  v5   0000000000000000  v6   0000000000000000  v7   8020080280200802
71    v8   0000000000000000  v9   0000000000000000  v10  0000000000000000  v11  0000000000000000
72    v12  0000000000000000  v13  0000000000000000  v14  0000000000000000  v15  0000000000000000
73    v16  4010040140100401  v17  0000aaa800000000  v18  8020080280200800  v19  0000000000000000
74    v20  0000000000000000  v21  0000000000000000  v22  0000000000000000  v23  0000000000000000
75    v24  0000000000000000  v25  0000000000000000  v26  0000000000000000  v27  0000000000000000
76    v28  0000000000000000  v29  0000000000000000  v30  0000000000000000  v31  0000000000000000
77
78backtrace:
79    #00 pc 00000000000588e0  /system/lib64/libc.so (tgkill+8)
80    #01 pc 00000000000198c0  /system/lib64/libc.so (pthread_kill+160)
81    #02 pc 000000000001ab34  /system/lib64/libc.so (raise+28)
82    #03 pc 00000000000148bc  /system/lib64/libc.so (abort+60)
83    #04 pc 00000000000016e0  /system/xbin/crasher64
84    #05 pc 00000000000017f0  /system/xbin/crasher64
85    #06 pc 0000000000018958  /system/lib64/libc.so (__pthread_start(void*)+52)
86    #07 pc 0000000000014e90  /system/lib64/libc.so (__start_thread+16)
87"""
88
89mips = """
90Build fingerprint: 'Android/aosp_mips/generic_mips:4.4.3.43.43.43/AOSP/enh06302258:eng/test-keys'
91Revision: '0'
92ABI: 'mips'
93pid: 958, tid: 960, name: crasher  >>> crasher <<<
94signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
95 zr 00000000  at 802babc0  v0 00000000  v1 77b99dd0
96 a0 000003be  a1 000003c0  a2 00000006  a3 00000000
97 t0 00000000  t1 9e7f5440  t2 00000020  t3 ffffff18
98 t4 77a9c000  t5 00000001  t6 00000000  t7 00000000
99 s0 000003c0  s1 77b99dd8  s2 00000000  s3 00000006
100 s4 77db2028  s5 000003be  s6 77c39fa8  s7 77b99dd0
101 t8 00000000  t9 77c89e80  k0 00000000  k1 00000000
102 gp 77cce350  sp 77b99c78  s8 77db2020  ra 77c3b48c
103 hi 00000000  lo 00000008 bva 7fff7008 epc 77c89e94
104
105backtrace:
106    #00 pc 00067e94  /system/lib/libc.so (tgkill+20)
107    #01 pc 0001948c  /system/lib/libc.so (pthread_kill+244)
108    #02 pc 0001b0e8  /system/lib/libc.so (raise+60)
109    #03 pc 00012908  /system/lib/libc.so (abort+104)
110    #04 pc 000012a4  /system/xbin/crasher
111    #05 pc 00018008  /system/lib/libc.so (__pthread_start(void*)+96)
112    #06 pc 00013198  /system/lib/libc.so (__start_thread+36)
113"""
114
115mips64 = """
116Build fingerprint: 'Android/aosp_mips64/generic_mips64:5.1.51/AOSP/agampe05040015:userdebug/test-keys'
117Revision: '1'
118ABI: 'mips64'
119pid: 342, tid: 342, name: crasher64  >>> crasher64 <<<
120signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
121 zr 0000000000000000  at 0000000000000001  v0 0000000000000000  v1 000000ffec1c6528
122 a0 0000000000000156  a1 0000000000000156  a2 0000000000000006  a3 0000000000000000
123 a4 000000000000ffff  a5 fffffffffffffffc  a6 0000000000000000  a7 0000000000000001
124 t0 0000000000000001  t1 0000000000000000  t2 0000000000000001  t3 0000000000000001
125 s0 0000000000000002  s1 000000ffec1c6538  s2 000000ffec1c6478  s3 0000000000000006
126 s4 0000000000100000  s5 000000fff1d44f98  s6 000000fff186c488  s7 0000000000000000
127 t8 ffffffffffff0000  t9 000000ffec01c2a0  k0 0000000000000000  k1 0000000000000000
128 gp 000000ffec0a6680  sp 000000ffff8c7150  s8 0000000000100206  ra 000000ffec016684
129 hi 0000000000000000  lo 0000000000000000 bva 000000ffffffe010 epc 000000ffec01c2a8
130
131backtrace:
132    #00 pc 00000000000832a8  /system/lib64/libc.so (tgkill+8)
133    #01 pc 000000000007d684  /system/lib64/libc.so (pthread_kill+116)
134    #02 pc 000000000002dd78  /system/lib64/libc.so (raise+56)
135    #03 pc 000000000002684c  /system/lib64/libc.so (abort+92)
136    #04 pc 000000000000199c  /system/xbin/crasher64
137    #05 pc 000000000002595c  /system/lib64/libc.so (__libc_init+140)
138    #06 pc 0000000000000fd4  /system/xbin/crasher64
139    #07 pc 0000000000000f80  /system/xbin/crasher64
140"""
141
142x86 = """
143Build fingerprint: 'Android/aosp_x86_64/generic_x86_64:4.4.3.43.43.43/AOSP/enh06302258:eng/test-keys'
144Revision: '0'
145ABI: 'x86'
146pid: 1566, tid: 1568, name: crasher  >>> crasher <<<
147signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
148    eax 00000000  ebx 0000061e  ecx 00000620  edx 00000006
149    esi f7679dd8  edi 00000000
150    xcs 00000023  xds 0000002b  xes 0000002b  xfs 00000003  xss 0000002b
151    eip f7758ea6  ebp 00000620  esp f7679c60  flags 00000282
152
153backtrace:
154    #00 pc 00076ea6  /system/lib/libc.so (tgkill+22)
155    #01 pc 0001dc8b  /system/lib/libc.so (pthread_kill+155)
156    #02 pc 0001f294  /system/lib/libc.so (raise+36)
157    #03 pc 00017a04  /system/lib/libc.so (abort+84)
158    #04 pc 00001099  /system/xbin/crasher
159    #05 pc 0001cd58  /system/lib/libc.so (__pthread_start(void*)+56)
160    #06 pc 00018169  /system/lib/libc.so (__start_thread+25)
161    #07 pc 0000ed76  /system/lib/libc.so (__bionic_clone+70)
162"""
163
164x86_64 = """
165Build fingerprint: 'Android/aosp_x86_64/generic_x86_64:4.4.3.43.43.43/AOSP/enh06302258:eng/test-keys'
166Revision: '0'
167ABI: 'x86_64'
168pid: 1608, tid: 1610, name: crasher64  >>> crasher64 <<<
169signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
170    rax 0000000000000000  rbx 000000000000064a  rcx ffffffffffffffff  rdx 0000000000000006
171    rsi 000000000000064a  rdi 0000000000000648
172    r8  0000000000000001  r9  00007fe218110c98  r10 0000000000000008  r11 0000000000000206
173    r12 0000000000000000  r13 0000000000000006  r14 00007fe218111ba0  r15 0000000000000648
174    cs  0000000000000033  ss  000000000000002b
175    rip 00007fe218201807  rbp 00007fe218111bb0  rsp 00007fe218111a18  eflags 0000000000000206
176
177backtrace:
178    #00 pc 0000000000077807  /system/lib64/libc.so (tgkill+7)
179    #01 pc 000000000002243f  /system/lib64/libc.so (pthread_kill+143)
180    #02 pc 0000000000023551  /system/lib64/libc.so (raise+17)
181    #03 pc 000000000001ce6d  /system/lib64/libc.so (abort+61)
182    #04 pc 0000000000001385  /system/xbin/crasher64
183    #05 pc 00000000000014a8  /system/xbin/crasher64
184    #06 pc 00000000000215ae  /system/lib64/libc.so (__pthread_start(void*)+46)
185    #07 pc 000000000001d3eb  /system/lib64/libc.so (__start_thread+11)
186    #08 pc 00000000000138f5  /system/lib64/libc.so (__bionic_clone+53)
187"""
188
189libmemunreachable = """
190 Unreachable memory
191  48 bytes in 2 unreachable allocations
192  ABI: 'arm'
193
194  24 bytes unreachable at a11e6748
195   and 24 similar unreachable bytes in 1 allocation
196   contents:
197   a11e6748: 63 6f 6d 2e 61 6e 64 72 6f 69 64 2e 73 79 73 74 com.android.syst
198   a11e6758: 65 6d 75 69 00 00 00 00                         emui....
199          #00  pc 000076ae  /system/lib/libcutils.so (set_process_name+45)
200          #01  pc 000989d6  /system/lib/libandroid_runtime.so (android_os_Process_setArgV0(_JNIEnv*, _jobject*, _jstring*)+125)
201"""
202
203# This is a long crash in ASAN format, which does not pad frame numbers. This should be used
204# in a test to ensure that the stack is not split into two (see stack_core's test_long_asan_crash).
205long_asan_crash = """
206Build fingerprint: 'Android/aosp_arm/generic_arm:4.4.3.43.43.43/AOSP/enh06302258:eng/test-keys'
207ABI: 'arm'
208
209     #0 0x727d4dfdaf  (/system/lib/libclang_rt.asan-arm-android.so+0x31daf)
210
211     #1 0x727d4e00af  (/system/lib/libclang_rt.asan-arm-android.so+0x320af)
212
213     #2 0x72778db0cf  (/data/lib/libc.so+0x740cf)
214
215     #3 0x725688a66f  (/does/not/matter/a.so+0x1066f)
216
217     #4 0x72568a02af  (/does/not/matter/a.so+0x262af)
218
219     #5 0x725689e313  (/does/not/matter/a.so+0x24313)
220
221     #6 0x72568a95eb  (/does/not/matter/a.so+0x2f5eb)
222
223     #7 0x725688de6f  (/does/not/matter/a.so+0x13e6f)
224
225     #8 0x72778ceeff  (/does/not/matter/a.so+0x67eff)
226
227     #9 0x7277884983  (/does/not/matter/a.so+0x1d983)
228
229     #10 0x7277884983  (/does/not/matter/a.so+0x1d983)
230"""
231