Android Question Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)

ebalvis

Member
Licensed User
Longtime User
I made an application that connects via usb with pic microcontroller.
For communication I created a class with the USB interface.
Randomly receive the following error message and closes the application.

Timer Tick
Timer Tick
GC_CONCURRENT freed 511K, 9% free 7036K/7687K, paused 8ms+12ms
GC_FOR_ALLOC freed 79K, 9% free 7054K/7687K, paused 91ms
Grow heap (frag case) to 7.118MB for 125016-byte allocation
GC_FOR_ALLOC freed <1K, 9% free 7175K/7815K, paused 84ms
inicio: 1381636800000
fin: 1382068800000
actual: 1381834666668
inicio: 1381636800000
fin: 1382068800000
actual: 1381834666722
Timer Tick
Timer Tick
GC_CONCURRENT freed 444K, 8% free 7243K/7815K, paused 9ms+14ms
JNI ERROR (app bug): attempt to use stale global reference 0x4d000202
VM aborting
Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)
Timer Tick
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'iNet/nuclear_evb/nuclear-evb:4.0.4/IMM76D/20130115:eng/test-keys'
pid: 1498, tid: 1518 >>> b4aSlave.example <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadd00d
r0 00000000 r1 00dcc7a0 r2 00000000 r3 00000000
r4 deadd00d r5 408a3c58 r6 0000020c r7 00000001
r8 410005c8 r9 00f96408 10 00000000 fp 40aa0ab0
ip 00000000 sp 4a5219e0 lr 4083c847 pc 4083c846 cpsr 60000030
d0 74726f6261204d56 d1 74706d657474616e
d2 0b91a93d103d5375 d3 8a5a7b1b1835dd6c
d4 8a5a7b1b1835dd75 d5 d81e29381cbd4b53
d6 9a1d081b1d00ad69 d7 8e910c3e588f5838
d8 0000000000000000 d9 0000000000000000
d10 0000000000000000 d11 0000000000000000
d12 0000000000000000 d13 0000000000000000
d14 0000000000000000 d15 0000000000000000
d16 00f99bd840fe1bc0 d17 0000000000000000
d18 bf2a00f9e2cae768 d19 3ec6cd878c3b46a7
d20 3be93df2c314cb8f d21 3a9282e7a60b6fb9
d22 3ff0000000000000 d23 0000000000000000
d24 3ff0000000000000 d25 0000000000000000
d26 0000000000000000 d27 0000000000000000
d28 c00005c02b53cb8a d29 bf66fdec79316df6
d30 bc0a42cc192d5632 d31 be23e4f5df600000
scr 20000013
#00 pc 00050846 /system/lib/libdvm.so (dvmAbort)
#01 pc 000323cc /system/lib/libdvm.so (_ZNK16IndirectRefTable3getEPv)
#02 pc 00055376 /system/lib/libdvm.so (_Z20dvmDecodeIndirectRefP6ThreadP8_jobject)
#03 pc 00058c92 /system/lib/libdvm.so (_Z16dvmCallJNIMethodPKjP6JValuePK6MethodP6Thread)
code around pc:
4083c824 34b4f8d3 ee8cf7cd 26001e73 2f01f813 ...4....s..&.../
4083c834 42abb152 d0074416 4798e7f8 f7ff4c0a R..B.D.....G.L..
4083c844 7026ffa7 ee82f7cd 2006490c 44794a0c ..&p.....I. .JyD
4083c854 f7cd447a 2000ed38 edfaf7cd 58e54b05 zD..8.. .....K.X
4083c864 2b006c6b e7e9d1e9 deadd00d 00062794 kl.+.........'..
code around lr:
4083c824 34b4f8d3 ee8cf7cd 26001e73 2f01f813 ...4....s..&.../
4083c834 42abb152 d0074416 4798e7f8 f7ff4c0a R..B.D.....G.L..
4083c844 7026ffa7 ee82f7cd 2006490c 44794a0c ..&p.....I. .JyD
4083c854 f7cd447a 2000ed38 edfaf7cd 58e54b05 zD..8.. .....K.X
4083c864 2b006c6b e7e9d1e9 deadd00d 00062794 kl.+.........'..
memory map around addr deadd00d:
bef76000-bef97000 [stack]
(no map for address)
ffff0000-ffff1000 [vectors]
stack:
4a5219a0 00000000
4a5219a4 40032d69 /system/lib/libc.so
4a5219a8 4005c70c /system/lib/libc.so
4a5219ac 40061808
4a5219b0 00000000
4a5219b4 40033f71 /system/lib/libc.so
4a5219b8 4005c55c /system/lib/libc.so
4a5219bc 00000000
4a5219c0 0000020c
4a5219c4 00000001
4a5219c8 410005c8 /dev/ashmem/dalvik-heap (deleted)
4a5219cc 40032d87 /system/lib/libc.so
4a5219d0 4089ef90 /system/lib/libdvm.so
4a5219d4 4a521be3
4a5219d8 df0027ad
4a5219dc 00000000
#00 4a5219e0 40fe1b68 /dev/ashmem/dalvik-heap (deleted)
 

ebalvis

Member
Licensed User
Longtime User
Hi
I tried to replace callsub calls for callsubdelayed and I have the same error.
I have also tried to compile the application with version 3.00 and still gives the same error.
 
Upvote 0

Beja

Expert
Licensed User
Longtime User
Randomly receive the following error message and closes the application.

Since it is random and not persistent.. I would allow for some delay in both directions of communication,
and clear the receive buffer in both devices at the beginning of every xmission.
Also check the solder points of the USB connector at the MCU PCB, and make sure there is no bad solder
or loose pin.

my two cents.
 
Upvote 0
Top