2013-12-10 4 views
0

Я разрабатываю приложение для Android, которое использует Clang через C API (libclang) для ARM. Я написал обертку для invoke clang_..() функции и данные карты между Java < -> собственный код. Таким образом, приложение работает несколько раз, а затем рушится. Он взаимодействует с собственным кодом из потока java-фона (если это помогает).Android: JNI crash

Моя идея о том, что случилось это:

  1. я пытаюсь удалить уже удалили указатель
  2. есть утечка памяти в моем коде/лязгом и куча полностью выделяется
  3. параллелизм вопрос

Любые мысли высоко ценятся:

12-10 23:03:55.382: ASSERT/libc(2763): Fatal signal 11 (SIGSEGV) at 0x00000acb (code=0), thread 3690 (Thread-545) 

// ... 

12-10 23:03:55.883: INFO/DEBUG(167): backtrace: 
12-10 23:03:55.883: INFO/DEBUG(167): #00 pc 0017b198 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::cxdiag::lazyCreateDiags(CXTranslationUnitImpl*, bool)+200) 
12-10 23:03:55.883: INFO/DEBUG(167): #01 pc 00009028 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang_wrapper.so (Java_name_antonsmirnov_clang_clang_1wrapper_getDiagnostics+72) 
12-10 23:03:55.883: INFO/DEBUG(167): #02 pc 0001fb70 /system/lib/libdvm.so (dvmPlatformInvoke+112) 
12-10 23:03:55.883: INFO/DEBUG(167): #03 pc 0004e8b9 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+360) 
12-10 23:03:55.883: INFO/DEBUG(167): #04 pc 00029020 /system/lib/libdvm.so 
12-10 23:03:55.883: INFO/DEBUG(167): #05 pc 0002d7e8 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180) 
12-10 23:03:55.883: INFO/DEBUG(167): #06 pc 0005fed5 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272) 
12-10 23:03:55.883: INFO/DEBUG(167): #07 pc 0005feff /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20) 
12-10 23:03:55.883: INFO/DEBUG(167): #08 pc 00055327 /system/lib/libdvm.so 
12-10 23:03:55.883: INFO/DEBUG(167): #09 pc 00012e70 /system/lib/libc.so (__thread_entry+48) 
12-10 23:03:55.883: INFO/DEBUG(167): #10 pc 000125c8 /system/lib/libc.so (pthread_create+172) 
12-10 23:03:55.883: INFO/DEBUG(167): stack: 
12-10 23:03:55.883: INFO/DEBUG(167): 76475be0 00000004 
12-10 23:03:55.883: INFO/DEBUG(167): 76475be4 1d300005 
12-10 23:03:55.883: INFO/DEBUG(167): 76475be8 76475c04 [stack:3690] 
12-10 23:03:55.883: INFO/DEBUG(167): 76475bec 735086e0 
12-10 23:03:55.883: INFO/DEBUG(167): 76475bf0 731a51c8 
12-10 23:03:55.883: INFO/DEBUG(167): 76475bf4 00000000 
12-10 23:03:55.883: INFO/DEBUG(167): 76475bf8 731a3f48 
12-10 23:03:55.883: INFO/DEBUG(167): 76475bfc 76475c80 [stack:3690] 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c00 7373df30 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c04 7160ca88 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c08 76475c7c [stack:3690] 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c0c 40137ff1 /system/lib/libc.so (malloc+12) 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c10 75fcda38 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c14 402028ff /system/lib/libstdc++.so (operator new[](unsigned int)+6) 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c18 df0027ad 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c1c 00000000 
12-10 23:03:55.883: INFO/DEBUG(167): #00 76475c20 1d300005 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c24 7308de78 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c28 76475c54 [stack:3690] 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c2c 715ebdb0 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang_wrapper.so (unmapTranslationUnit+56) 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c30 7308de78 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c34 715f1620 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang_wrapper.so 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c38 1d200005 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c3c 0008de78 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c40 1d300005 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c44 6da271c0 /dev/ashmem/dalvik-LinearAlloc (deleted) 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c48 7160ca78 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c4c 00000004 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c50 7373df38 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c54 715ef02c /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang_wrapper.so (Java_name_antonsmirnov_clang_clang_1wrapper_getDiagnostics+76) 
12-10 23:03:55.883: INFO/DEBUG(167): #01 76475c58 6d707560 /dev/ashmem/dalvik-LinearAlloc (deleted) 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c5c 1d300005 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c60 1d300001 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c64 7308de78 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c68 42802618 /dev/ashmem/dalvik-heap (deleted) 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c6c 731a51c8 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c70 7160ca78 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c74 7160cb20 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c78 76475c94 [stack:3690] 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c7c 41463b74 /system/lib/libdvm.so (dvmPlatformInvoke+116) 
12-10 23:03:55.883: INFO/DEBUG(167): #02 76475c80 7373df2c 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c84 00000001 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c88 427fe0c8 /dev/ashmem/dalvik-heap (deleted) 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c8c 741b6c52 /data/dalvik-cache/[email protected]@[email protected] 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c90 00000000 
12-10 23:03:55.883: INFO/DEBUG(167): 76475c94 414928bd /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+364) 
12-10 23:03:55.893: INFO/DEBUG(167): memory near r0: 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c00 7373df30 7160ca88 76475c7c 40137ff1 0.ss..`q|\[email protected] 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c10 75fcda38 402028ff df0027ad 00000000 8..u.(@.'...... 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c20 1d300005 7308de78 76475c54 715ebdb0 ..0.x..sT\Gv..^q 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c30 7308de78 715f1620 1d200005 0008de78 x..s ._q.. .x... 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c40 1d300005 6da271c0 7160ca78 00000004 ..0..q.mx.`q.... 
12-10 23:03:55.893: INFO/DEBUG(167): memory near r2: 
12-10 23:03:55.893: INFO/DEBUG(167): 73265708 00000002 7326f158 72d26e70 7324d350 ....X.&spn.rP.$s 
12-10 23:03:55.893: INFO/DEBUG(167): 73265718 0000006a 00000000 00000050 00000043 j.......P...C... 
12-10 23:03:55.893: INFO/DEBUG(167): 73265728 00000001 401000f0 00000000 00000006 [email protected] 
12-10 23:03:55.893: INFO/DEBUG(167): 73265738 0000000a 0000000a 00000008 00000000 ................ 
12-10 23:03:55.893: INFO/DEBUG(167): 73265748 00000e60 749a3930 749a3930 00000000 `...09.t09.t.... 
12-10 23:03:55.893: INFO/DEBUG(167): memory near r4: 
12-10 23:03:55.893: INFO/DEBUG(167): 735086c0 00790063 00750066 00760079 00000076 c.y.f.u.y.v.v... 
12-10 23:03:55.893: INFO/DEBUG(167): 735086d0 006a0020 00670062 00000068 0000001b .j.b.g.h....... 
12-10 23:03:55.893: INFO/DEBUG(167): 735086e0 75fcda38 00000000 00000000 00000000 8..u............ 
12-10 23:03:55.893: INFO/DEBUG(167): 735086f0 00000000 0000001b 00000001 00000001 ................ 
12-10 23:03:55.893: INFO/DEBUG(167): 73508700 72cfb378 00000000 00000018 000000bb x..r............ 
12-10 23:03:55.893: INFO/DEBUG(167): memory near r5: 
12-10 23:03:55.893: INFO/DEBUG(167): 731a51a8 749a3930 749a3930 749a3930 00000000 09.t09.t09.t.... 
12-10 23:03:55.893: INFO/DEBUG(167): 731a51b8 00000000 00000000 00000000 00000023 ............#... 
12-10 23:03:55.893: INFO/DEBUG(167): 731a51c8 715a1dc0 731a3f48 72dbafc0 735086e0 ..ZqH?.s...r..Ps 
12-10 23:03:55.893: INFO/DEBUG(167): 731a51d8 73121220 00000000 00000000 0000001b ..s............ 
12-10 23:03:55.893: INFO/DEBUG(167): 731a51e8 00000005 00000005 00000000 6e616c63 ............clan 
12-10 23:03:55.893: INFO/DEBUG(167): memory near r6: 
12-10 23:03:55.893: INFO/DEBUG(167): 73265708 00000002 7326f158 72d26e70 7324d350 ....X.&spn.rP.$s 
12-10 23:03:55.893: INFO/DEBUG(167): 73265718 0000006a 00000000 00000050 00000043 j.......P...C... 
12-10 23:03:55.893: INFO/DEBUG(167): 73265728 00000001 401000f0 00000000 00000006 [email protected] 
12-10 23:03:55.893: INFO/DEBUG(167): 73265738 0000000a 0000000a 00000008 00000000 ................ 
12-10 23:03:55.893: INFO/DEBUG(167): 73265748 00000e60 749a3930 749a3930 00000000 `...09.t09.t.... 
12-10 23:03:55.893: INFO/DEBUG(167): memory near r7: 
12-10 23:03:55.893: INFO/DEBUG(167): 731a3f28 00000001 00000001 70a57cd8 00000000 .........|.p.... 
12-10 23:03:55.893: INFO/DEBUG(167): 731a3f38 732657a8 70a32c28 00000020 000003b3 .W&s(,.p ....... 
12-10 23:03:55.893: INFO/DEBUG(167): 731a3f48 75fcdfc8 731225f0 72d8ddd8 733af500 ...u.%.s...r..:s 
12-10 23:03:55.893: INFO/DEBUG(167): 731a3f58 715b2ac8 00000000 73043e00 73690600 .*[q.....>.s..is 
12-10 23:03:55.893: INFO/DEBUG(167): 731a3f68 734d9f88 00000000 00000000 00000000 ..Ms............ 
12-10 23:03:55.893: INFO/DEBUG(167): memory near r8: 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c60 1d300001 7308de78 42802618 731a51c8 ..0.x..s.&.B.Q.s 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c70 7160ca78 7160cb20 76475c94 41463b74 x.`q .`q.\Gvt;FA 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c80 7373df2c 00000001 427fe0c8 741b6c52 ,.ss.......BRl.t 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c90 00000000 414928bd 7373df2c 741b6c50 .....(IA,.ssPl.t 
12-10 23:03:55.893: INFO/DEBUG(167): 76475ca0 715eefe0 7160ca88 00000000 00000000 ..^q..`q........ 
12-10 23:03:55.893: INFO/DEBUG(167): memory near r9: 
12-10 23:03:55.893: INFO/DEBUG(167): 7373df10 00000000 00000000 7373df48 7417562c ........H.ss,V.t 
12-10 23:03:55.893: INFO/DEBUG(167): 7373df20 6da271c0 00000000 00000000 1d300001 .q.m..........0. 
12-10 23:03:55.893: INFO/DEBUG(167): 7373df30 1d300005 7373df84 741750a8 6da26b58 ..0...ss.P.tXk.m 
12-10 23:03:55.893: INFO/DEBUG(167): 7373df40 7417562c 00000000 6d707560 00000000 ,V.t....`upm.... 
12-10 23:03:55.893: INFO/DEBUG(167): 7373df50 00000000 00000000 00000006 1d200005 .............. . 
12-10 23:03:55.893: INFO/DEBUG(167): memory near sl: 
12-10 23:03:55.893: INFO/DEBUG(167): 7160ca68 00000002 00000000 00000010 00000453 ............S... 
12-10 23:03:55.893: INFO/DEBUG(167): 7160ca78 74175628 7373df2c 6da26b58 70991000 (V.t,.ssXk.m...p 
12-10 23:03:55.893: INFO/DEBUG(167): 7160ca88 427fded8 00000007 76475da8 00000000 ...B.....]Gv.... 
12-10 23:03:55.893: INFO/DEBUG(167): 7160ca98 76475ddc 00000010 00000000 41463d00 .]Gv.........=FA 
12-10 23:03:55.893: INFO/DEBUG(167): 7160caa8 00000000 00000000 6ca88670 7373a300 ........p..l..ss 
12-10 23:03:55.893: INFO/DEBUG(167): memory near fp: 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c5c 1d300005 1d300001 7308de78 42802618 ..0...0.x..s.&.B 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c6c 731a51c8 7160ca78 7160cb20 76475c94 .Q.sx.`q .`q.\Gv 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c7c 41463b74 7373df2c 00000001 427fe0c8 t;FA,.ss.......B 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c8c 741b6c52 00000000 414928bd 7373df2c Rl.t.....(IA,.ss 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c9c 741b6c50 715eefe0 7160ca88 00000000 Pl.t..^q..`q.... 
12-10 23:03:55.893: INFO/DEBUG(167): memory near sp: 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c00 7373df30 7160ca88 76475c7c 40137ff1 0.ss..`q|\[email protected] 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c10 75fcda38 402028ff df0027ad 00000000 8..u.(@.'...... 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c20 1d300005 7308de78 76475c54 715ebdb0 ..0.x..sT\Gv..^q 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c30 7308de78 715f1620 1d200005 0008de78 x..s ._q.. .x... 
12-10 23:03:55.893: INFO/DEBUG(167): 76475c40 1d300005 6da271c0 7160ca78 00000004 ..0..q.mx.`q.... 
12-10 23:03:55.893: INFO/DEBUG(167): code around pc: 
12-10 23:03:55.893: INFO/DEBUG(167): 7537b178 ebff8235 e3560000 15963000 e1a0000d 5.....V..0...... 
12-10 23:03:55.893: INFO/DEBUG(167): 7537b188 e1a02006 12833001 15863000 e5973020 . ...0...0.. 0.. 
12-10 23:03:55.893: INFO/DEBUG(167): 7537b198 e5931408 eb0152d7 e59f305c e58d4018 .....R..\[email protected] 
12-10 23:03:55.893: INFO/DEBUG(167): 7537b1a8 e58d401c e08f3003 e2833008 e597412c [email protected],A.. 
12-10 23:03:55.893: INFO/DEBUG(167): 7537b1b8 e58d3000 e5977130 ea000002 e1a01004 .0..0q.......... 
12-10 23:03:55.893: INFO/DEBUG(167): code around lr: 
12-10 23:03:55.893: INFO/DEBUG(167): 7537b15c e8800048 e580600c e5c06010 e585000c H....`...`...... 
12-10 23:03:55.893: INFO/DEBUG(167): 7537b16c e3a00038 ebff779f e1a06000 ebff8235 8....w...`..5... 
12-10 23:03:55.893: INFO/DEBUG(167): 7537b17c e3560000 15963000 e1a0000d e1a02006 ..V..0....... .. 
12-10 23:03:55.893: INFO/DEBUG(167): 7537b18c 12833001 15863000 e5973020 e5931408 .0...0.. 0...... 
12-10 23:03:55.893: INFO/DEBUG(167): 7537b19c eb0152d7 e59f305c e58d4018 e58d401c .R..\[email protected]@.. 
12-10 23:03:55.923: DEBUG/WifiStateMachine(539): ConnectedState{ what=131155 when=-4ms arg1=1 } 
12-10 23:03:55.933: DEBUG/WifiStateMachine(539): L2ConnectedState{ what=131155 when=-4ms arg1=1 } 

Другой аварии (вероятно, еще одна причина):

12-11 00:10:38.106: INFO/DEBUG(166): r0 00000027 r1 deadbaad r2 4024cb0c r3 00000000 
12-11 00:10:38.106: INFO/DEBUG(166): r4 00000000 r5 7e7a82bc r6 00000002 r7 00000002 
12-11 00:10:38.106: INFO/DEBUG(166): r8 00000030 r9 7d3c0590 sl 7d3aae24 fp 40253a6c 
12-11 00:10:38.106: INFO/DEBUG(166): ip 00004000 sp 7e7a82b8 lr 4021ec89 pc 4021b32a cpsr 60000030 
12-11 00:10:38.106: INFO/DEBUG(166): d0 20656c6966206e69 d1 646564756c636e69 
12-11 00:10:38.106: INFO/DEBUG(166): d2 6f63206d6f726620 d3 645f6574656c706d 
12-11 00:10:38.106: INFO/DEBUG(166): d4 000002db000002c9 d5 000002ed000002ec 
12-11 00:10:38.106: INFO/DEBUG(166): d6 000003ae0000039c d7 000003d4000003c1 
12-11 00:10:38.106: INFO/DEBUG(166): d8 4418800000000262 d9 4434000043898000 
12-11 00:10:38.106: INFO/DEBUG(166): d10 0000000042c00000 d11 0000000000000000 
12-11 00:10:38.106: INFO/DEBUG(166): d12 0000000000000000 d13 0000000000000000 
12-11 00:10:38.106: INFO/DEBUG(166): d14 0000000000000000 d15 0000000000000000 
12-11 00:10:38.106: INFO/DEBUG(166): d16 6769736e75202c2a d17 29746e692064656e 
12-11 00:10:38.106: INFO/DEBUG(166): d18 6c63206e6f697461 d19 78654c3a3a676e61 
12-11 00:10:38.106: INFO/DEBUG(166): d20 537465673a3a7265 d21 636f4c656372756f 
12-11 00:10:38.106: INFO/DEBUG(166): d22 6863286e6f697461 d23 74736e6f63207261 
12-11 00:10:38.106: INFO/DEBUG(166): d24 0000000000000000 d25 0000000000000000 
12-11 00:10:38.106: INFO/DEBUG(166): d26 0000000000000000 d27 0000000000000000 
12-11 00:10:38.106: INFO/DEBUG(166): d28 0048004700460044 d29 004a0048004a0049 
12-11 00:10:38.106: INFO/DEBUG(166): d30 0000000000000000 d31 0000000000000000 
12-11 00:10:38.106: INFO/DEBUG(166): scr 28000013 
12-11 00:10:38.126: INFO/DEBUG(166): backtrace: 
12-11 00:10:38.126: INFO/DEBUG(166): #00 pc 0001832a /system/lib/libc.so 
12-11 00:10:38.126: INFO/DEBUG(166): #01 pc 0000dc04 /system/lib/libc.so (abort+4) 
12-11 00:10:38.126: INFO/DEBUG(166): #02 pc 0001f0df /system/lib/libc.so (__assert2+30) 
12-11 00:10:38.126: INFO/DEBUG(166): #03 pc 0077c954 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::getSourceLocation(char const*, unsigned int) const+76) 
12-11 00:10:38.126: INFO/DEBUG(166): #04 pc 0077ca4c /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::FormTokenWithChars(clang::Token&, char const*, clang::tok::TokenKind)+100) 
12-11 00:10:38.126: INFO/DEBUG(166): #05 pc 00781098 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::LexTokenInternal(clang::Token&)+5616) 
12-11 00:10:38.126: INFO/DEBUG(166): #06 pc 0015de68 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::LexFromRawLexer(clang::Token&)+116) 
12-11 00:10:38.126: INFO/DEBUG(166): #07 pc 00781d3c /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::getRawToken(clang::SourceLocation, clang::Token&, clang::SourceManager const&, clang::LangOptions const&)+220) 
12-11 00:10:38.126: INFO/DEBUG(166): #08 pc 00781d9c /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::MeasureTokenLength(clang::SourceLocation, clang::SourceManager const&, clang::LangOptions const&)+36) 
12-11 00:10:38.126: INFO/DEBUG(166): #09 pc 001d1824 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::DiagnosticRenderer::emitMacroExpansions(clang::SourceLocation, clang::DiagnosticsEngine::Level, llvm::ArrayRef<clang::CharSourceRange>, llvm::ArrayRef<clang::FixItHint>, clang::SourceManager const&, unsigned int&, unsigned int)+840) 
12-11 00:10:38.126: INFO/DEBUG(166): #10 pc 001d13ec /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::DiagnosticRenderer::emitDiagnostic(clang::SourceLocation, clang::DiagnosticsEngine::Level, llvm::StringRef, llvm::ArrayRef<clang::CharSourceRange>, llvm::ArrayRef<clang::FixItHint>, clang::SourceManager const*, llvm::PointerUnion<clang::Diagnostic const*, clang::StoredDiagnostic const*>)+1224) 
12-11 00:10:38.126: INFO/DEBUG(166): #11 pc 001d1b20 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::DiagnosticRenderer::emitStoredDiagnostic(clang::StoredDiagnostic&)+304) 
12-11 00:10:38.126: INFO/DEBUG(166): #12 pc 0017b1c8 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::cxdiag::lazyCreateDiags(CXTranslationUnitImpl*, bool)+248) 
12-11 00:10:38.126: INFO/DEBUG(166): #13 pc 00009028 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang_wrapper.so (Java_name_antonsmirnov_clang_clang_1wrapper_getDiagnostics+72) 
12-11 00:10:38.126: INFO/DEBUG(166): #14 pc 0001fb70 /system/lib/libdvm.so (dvmPlatformInvoke+112) 
12-11 00:10:38.126: INFO/DEBUG(166): #15 pc 0004e8b9 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+360) 
12-11 00:10:38.126: INFO/DEBUG(166): #16 pc 00029020 /system/lib/libdvm.so 
12-11 00:10:38.126: INFO/DEBUG(166): #17 pc 0002d7e8 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180) 
12-11 00:10:38.126: INFO/DEBUG(166): #18 pc 0005fed5 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272) 
12-11 00:10:38.126: INFO/DEBUG(166): #19 pc 0005feff /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20) 
12-11 00:10:38.126: INFO/DEBUG(166): #20 pc 00055327 /system/lib/libdvm.so 
12-11 00:10:38.126: INFO/DEBUG(166): #21 pc 00012e70 /system/lib/libc.so (__thread_entry+48) 
12-11 00:10:38.126: INFO/DEBUG(166): #22 pc 000125c8 /system/lib/libc.so (pthread_create+172) 
12-11 00:10:38.126: INFO/DEBUG(166): stack: 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a8278 00000000 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a827c c6c488f5 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a8280 00001000 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a8284 00000262 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a8288 44188000 /dev/ashmem/dalvik-heap (deleted) 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a828c 43898000 /dev/ashmem/dalvik-heap (deleted) 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a8290 40247774 /system/lib/libc.so 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a8294 4024cd10 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a8298 00000000 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a829c 4021ec89 /system/lib/libc.so (_fwalk+32) 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82a0 00000001 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82a4 7e7a82bc [stack:5011] 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82a8 00000002 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82ac 00000002 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82b0 df0027ad 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82b4 00000000 
12-11 00:10:38.126: INFO/DEBUG(166): #00 7e7a82b8 75ff7ec2 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82bc fffffbdf 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82c0 4023dbfc /system/lib/libc.so 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82c4 00000002 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82c8 00000002 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82cc 4021e1f5 /system/lib/libc.so (fprintf+16) 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82d0 40247718 /system/lib/libc.so 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82d4 75ff7ec2 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82d8 4023dbfc /system/lib/libc.so 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82dc 40210c08 /system/lib/libc.so (__pthread_clone) 
12-11 00:10:38.126: INFO/DEBUG(166): #01 7e7a82e0 7e7a82e0 [stack:5011] 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82e4 402220e3 /system/lib/libc.so (__assert2+34) 
12-11 00:10:38.126: INFO/DEBUG(166): #02 7e7a82e8 0000042d 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82ec 75feace7 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::getSourceLocation(char const*, unsigned int) const::__PRETTY_FUNCTION__) 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82f0 75feace7 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::getSourceLocation(char const*, unsigned int) const::__PRETTY_FUNCTION__) 
12-11 00:10:38.126: INFO/DEBUG(166): 7e7a82f4 75a7c958 /data/data/name.antonsmirnov.android.arduinodroid/lib/libclang.so (clang::Lexer::getSourceLocation(char const*, unsigned int) const+80) 
12-11 00:10:38.136: INFO/DEBUG(166): memory near r2: 
12-11 00:10:38.136: INFO/DEBUG(166): 4024caec 00000000 00000000 00000000 00000000 ................ 
12-11 00:10:38.136: INFO/DEBUG(166): 4024cafc 00000000 00000000 00000000 00000000 ................ 
12-11 00:10:38.136: INFO/DEBUG(166): 4024cb0c 00000001 00000000 00000000 00000000 ................ 
12-11 00:10:38.136: INFO/DEBUG(166): 4024cb1c 00000000 00000000 00000000 00000000 ................ 
12-11 00:10:38.136: INFO/DEBUG(166): 4024cb2c 00000000 00000000 00000000 00000000 ................ 
12-11 00:10:38.136: INFO/DEBUG(166): memory near r5: 
12-11 00:10:38.136: INFO/DEBUG(166): 7e7a829c 4021ec89 00000001 7e7a82bc 00000002 [email protected]~.... 
12-11 00:10:38.146: INFO/DEBUG(166): 7e7a82ac 00000002 df0027ad 00000000 75ff7ec2 .....'.......~.u 
12-11 00:10:38.146: INFO/DEBUG(166): 7e7a82bc fffffbdf 4023dbfc 00000002 00000002 ......#@........ 
12-11 00:10:38.146: INFO/DEBUG(166): 7e7a82cc 4021e1f5 40247718 75ff7ec2 4023dbfc [email protected][email protected]~.u..#@ 
12-11 00:10:38.146: INFO/DEBUG(166): 7e7a82dc 40210c08 7e7a82e0 402220e3 0000042d [email protected]~. "@-... 
12-11 00:10:38.146: INFO/DEBUG(166): memory near r9: 
12-11 00:10:38.146: INFO/DEBUG(166): 7d3c0570 7d39c9fc 7e020006 0003be14 00000001 ..9}...~........ 
12-11 00:10:38.146: INFO/DEBUG(166): 7d3c0580 00000000 7e020015 0003be15 00000004 .......~........ 
12-11 00:10:38.146: INFO/DEBUG(166): 7d3c0590 7e313d3c 7e000069 0003be19 00000001 <=1~i..~........ 
12-11 00:10:38.146: INFO/DEBUG(166): 7d3c05a0 00000000 7e000016 0003be1e 0000000d .......~........ 
12-11 00:10:38.146: INFO/DEBUG(166): 7d3c05b0 7e1cbd10 7e0200a6 00000000 00000002 ...~...~........ 
12-11 00:10:38.146: INFO/DEBUG(166): memory near sl: 
12-11 00:10:38.146: INFO/DEBUG(166): 7d3aae04 7d3aae24 7d3aaf15 706d6f63 6574656c $.:}..:}complete 
12-11 00:10:38.146: INFO/DEBUG(166): 7d3aae14 6d65645f 6e692e6f 70632e6f 67670070 _demo.ino.cpp.gg 
12-11 00:10:38.146: INFO/DEBUG(166): 7d3aae24 636e6923 6564756c 72413c20 6e697564 #include <Arduin 
12-11 00:10:38.146: INFO/DEBUG(166): 7d3aae34 3e682e6f 7274730a 20746375 0a7b2073 o.h>.struct s {. 
12-11 00:10:38.146: INFO/DEBUG(166): 7d3aae44 6e692020 3b692074 746e690a 203b6620 int i;.int f; 
12-11 00:10:38.146: INFO/DEBUG(166): memory near fp: 
12-11 00:10:38.146: INFO/DEBUG(166): 40253a4c 00000000 00000000 00000000 00000000 ................ 
12-11 00:10:38.146: INFO/DEBUG(166): 40253a5c 00000000 00000000 00000000 00000000 ................ 
12-11 00:10:38.146: INFO/DEBUG(166): 40253a6c c6c488f5 00000000 00000000 00000000 ................ 
12-11 00:10:38.146: INFO/DEBUG(166): 40253a7c 00000000 00000000 00000000 00000000 ................ 
12-11 00:10:38.146: INFO/DEBUG(166): 40253a8c 00000000 00000000 00000000 00000000 ................ 
12-11 00:10:38.146: INFO/DEBUG(166): memory near ip: 
12-11 00:10:38.146: INFO/DEBUG(166): 00003fe0 ffffffff ffffffff ffffffff ffffffff ................ 
12-11 00:10:38.146: INFO/DEBUG(166): 00003ff0 ffffffff ffffffff ffffffff ffffffff ................ 
12-11 00:10:38.146: INFO/DEBUG(166): 00004000 ffffffff ffffffff ffffffff ffffffff ................ 
12-11 00:10:38.146: INFO/DEBUG(166): 00004010 ffffffff ffffffff ffffffff ffffffff ................ 
12-11 00:10:38.146: INFO/DEBUG(166): 00004020 ffffffff ffffffff ffffffff ffffffff ................ 
12-11 00:10:38.146: INFO/DEBUG(166): memory near sp: 
12-11 00:10:38.146: INFO/DEBUG(166): 7e7a8298 00000000 4021ec89 00000001 7e7a82bc [email protected]~ 
12-11 00:10:38.146: INFO/DEBUG(166): 7e7a82a8 00000002 00000002 df0027ad 00000000 .........'...... 
12-11 00:10:38.146: INFO/DEBUG(166): 7e7a82b8 75ff7ec2 fffffbdf 4023dbfc 00000002 .~.u......#@.... 
12-11 00:10:38.146: INFO/DEBUG(166): 7e7a82c8 00000002 4021e1f5 40247718 75ff7ec2 [email protected][email protected]~.u 
12-11 00:10:38.146: INFO/DEBUG(166): 7e7a82d8 4023dbfc 40210c08 7e7a82e0 402220e3 ..#@[email protected]~. "@ 
12-11 00:10:38.146: INFO/DEBUG(166): code around pc: 
12-11 00:10:38.146: INFO/DEBUG(166): 4021b308 e000b164 6823461c d1fb2b00 68e3e026 d....F#h.+..&..h 
12-11 00:10:38.146: INFO/DEBUG(166): 4021b318 4a17b123 447a2401 47986014 20274911 #..J.$zD.`.G.I' 
12-11 00:10:38.146: INFO/DEBUG(166): 4021b328 70082400 eb9cf7f4 f7f52106 a902ecdc .$.p.....!...... 
12-11 00:10:38.146: INFO/DEBUG(166): 4021b338 f04f2006 460a5380 94029304 f7f59403 . O..S.F........ 
12-11 00:10:38.146: INFO/DEBUG(166): 4021b348 4629e8ba 20024622 e8c2f7f5 eb88f7f4 ..)F"F. ........ 
12-11 00:10:38.146: INFO/DEBUG(166): code around lr: 
12-11 00:10:38.146: INFO/DEBUG(166): 4021ec68 41f0e92d 4c0b2600 447c4680 68a56824 -..A.&.L.F|D$h.h 
12-11 00:10:38.146: INFO/DEBUG(166): 4021ec78 e0076867 300cf9b5 dd022b00 47c04628 gh.....0.+..(F.G 
12-11 00:10:38.146: INFO/DEBUG(166): 4021ec88 35544306 d5f53f01 2c006824 4630d1ef .CT5.?..$h.,..0F 
12-11 00:10:38.146: INFO/DEBUG(166): 4021ec98 81f0e8bd 0002888e 43f0e92d fb01461f ........-..C.F.. 
12-11 00:10:38.146: INFO/DEBUG(166): 4021eca8 f8dff602 b0878058 44f8460c 8000f8d8 ....X....F.D.... 
12-11 00:10:38.146: INFO/DEBUG(166): memory map around fault addr deadbaad: 
12-11 00:10:38.146: INFO/DEBUG(166): be8ef000-be910000 [stack] 
12-11 00:10:38.146: INFO/DEBUG(166): (no map for address) 
12-11 00:10:38.146: INFO/DEBUG(166): ffff0000-ffff1000 [vectors] 
12-11 00:10:38.536: INFO/BootReceiver 
+1

Похоже, вы получаете доступ к памяти, которая недоступна. Проверьте строку 'Java_name_antonsmirnov_clang_clang_1wrapper_getDiagnostics' 72 и указатель, который вы передаете' clang :: cxdiag :: lazyCreateDiags'. – Dave

ответ

0

Это был вопрос параллелизм. Методы/структуры Clang, по-видимому, не являются потокобезопасными, поэтому приходится синхронизировать доступ. Еще одно предложение: не делитесь тем же JNIEnv* между потоками! используйте vm>GetEnv() из потока, чтобы получить указатель JNIEnv.