记录一个发生在copy constructor中的SIGBUS:BUS_ADRERR的trouble shooting,涉及三个点
1. In memcpy again
2. SIGBUS:BUS_ADRERR for stack access
3. copy constructor
[SYMPTOM]
Crash log:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/release-keys'
Revision: '0'
pid: 18768, tid: 18768, name: mediaserver >>> /system/bin/mediaserver <<<
signal 7 (SIGBUS), code 2 (BUS_ADRERR), fault addr bee7c000
r0 bee7bff4 r1 b528fe38 r2 00020000 r3 00000000
r4 b5272008 r5 00000027 r6 bee5e3f0 r7 b6f38208
r8 b746d8e0 r9 00000000 sl b52903c0 fp bee9ea2c
ip 0000007a sp bee5e3d8 lr 000005fc pc b6f0a090 cpsr 20000010
d0 0000000000000000 d1 0000000000000000
d2 0000000000000000 d3 0000000000000000
d4 0000000000000000 d5 0000000000000000
d6 0000000000000000 d7 0000000000000000
d8 0000000000000000 d9 0000000000000000
d10 0000000000000000 d11 0000000000000000
d12 0000000000000000 d13 0000000000000000
d14 0000000000000000 d15 0000000000000000
d16 78694d6f69647541 d17 6b63617274207265
d18 303030307830203a d19 726f460a33303030
d20 460a31203a74616d d21 7a697320656d6172
d22 65500a0a34203a65 d23 657320676e69646e
d24 3fa1a82d39a2df40 d25 bfa1a82d486375ce
d26 4045400000000000 d27 401ed2a028000000
d28 3ff0000000000000 d29 3fab54ec5f25c8d8
d30 3cc2892746984074 d31 4000000000000000
scr 20000011
backtrace:
#00 pc 0001d090 /system/lib/libc.so (memcpy+272)
stack:
bee5e398 0000001c
bee5e39c bee9e474 [heap]
bee5e3a0 b6f38208
bee5e3a4 bee9e5e4 [heap]
bee5e3a8 00000001
bee5e3ac 00000000
bee5e3b0 bee9ea2c [heap]
bee5e3b4 b6efab95 /system/lib/libc.so (malloc+12)
bee5e3b8 bee9e490 [heap]
bee5e3bc b6dd79a5 /system/lib/libutils.so (android::SharedBuffer::alloc(unsigned int)+12)
bee5e3c0 bee5e3e8 [heap]
bee5e3c4 b6dd7e5b /system/lib/libutils.so
bee5e3c8 b732b680 [heap]
bee5e3cc bee5e3e8 [heap]
bee5e3d0 df0027ad
bee5e3d4 00000000
#00 bee5e3d8 00000001
bee5e3dc 00000000
bee5e3e0 b6e616c3 /system/lib/libaudioflinger.so (android::AudioFlinger::MixerThread::dumpInternals(int, android::Vector<android::String16> const&)+250)
bee5e3e4 bee5e474 [heap]
bee5e3e8 b746d8e0 [heap]
bee5e3ec 0126ffb0
bee5e3f0 032602c4
bee5e3f4 0090028a
bee5e3f8 fbe8fd7e
bee5e3fc 00000000
bee5e400 00000000
bee5e404 00000000
bee5e408 00000000
bee5e40c 00000000
bee5e410 00000000
bee5e414 00000000
memory near r0:
bee7bfd4 00000000 00000000 00000000 00000000
bee7bfe4 00000000 00000000 00000000 00000000
bee7bff4 00000000 00000000 00000000 ffffffff
bee7c004 ffffffff ffffffff ffffffff ffffffff
bee7c014 ffffffff ffffffff ffffffff ffffffff
bee7c024 ffffffff ffffffff ffffffff ffffffff
bee7c034 ffffffff ffffffff f