c - Android NDK - Fatal signal 11 -
in app i'm developing on android (4.2.2), maintain getting fatal signal 11 error. , dont know why, simple method calling ndk. im pretty new this, if see cant, sick grateful.
story behind: need implement ndk aes (for example: http://en.wikipedia.org/wiki/aes_implementations), because in android terrible slow.
thanks
here java code:
package sk.anext.ecukrovka.ws; public class aescrypt { private static final string tag = "aescrypt"; static { system.loadlibrary("aes256"); } public class aes256_context { public byte[] key = new byte[32]; public byte[] enckey = new byte[32]; public byte[] deckey = new byte[32]; } public native void aes256test(aes256_context ctx); public aescrypt(aeskey key) throws generalsecurityexception { log.d(tag, "this simple test of ndk"); aes256_context ctx = new aes256_context(); aes256test(ctx); //fatal signal 11 (sigsegv) log.d(tag, "never reached code.."); } } here c codes..
application.mk:
# armv7 significanly faster due utilize of hardware fpu app_abi := armeabi armeabi-v7a app_platform := android-8 android.mk:
local_path := $(call my-dir) include $(clear_vars) local_module := aes256 local_src_files := aes256.c include $(build_shared_library) aes256.h:
// #include #include <jni.h> #ifndef uint8_t #define uint8_t unsigned char #endif #ifdef __cplusplus extern "c" { #endif typedef struct { uint8_t key[32]; uint8_t enckey[32]; uint8_t deckey[32]; } aes256_context; void java_sk_anext_ecukrovka_ws_aescrypt_aes256test(jnienv *, jobject, aes256_context *); #ifdef __cplusplus } #endif aes256.c:
#include "aes256.h" void java_sk_anext_ecukrovka_ws_aescrypt_aes256test(jnienv* env, jobject obj, aes256_context * ctx) { ctx->key[0] = 0; //simple action java object } /* aes256_test */ log:
06-19 09:54:44.667: d/jdwp(28150): processincoming 06-19 09:54:44.667: d/jdwp(28150): handlepacket : cmd=0x1, cmdset=0xf, len=0x27, id=0x4b7, flags=0x0, datalen=0x1c 06-19 09:54:44.670: d/jdwp(28150): processincoming 06-19 09:54:44.670: d/jdwp(28150): handlepacket : cmd=0x3, cmdset=0xb, len=0x13, id=0x4b8, flags=0x0, datalen=0x8 06-19 09:54:44.672: a/libc(28150): fatal signal 11 (sigsegv) @ 0x45e0001d (code=2), thread 28150 (ample.ecukrovka) 06-19 09:54:44.674: d/aee/aed(119): $===aee===aee===aee===$ 06-19 09:54:44.674: d/aee/aed(119): p 0 poll events 1 revents 0 06-19 09:54:44.674: d/aee/aed(119): not know revents:0 06-19 09:54:44.674: d/aee/aed(119): p 1 poll events 1 revents 0 06-19 09:54:44.674: d/aee/aed(119): not know revents:0 06-19 09:54:44.674: d/aee/aed(119): p 2 poll events 1 revents 1 06-19 09:54:44.674: d/aee/aed(119): aed_main_fork_worker: generator 0x2fb168, worker 0xbea399e8, recv_fd 15 06-19 09:54:44.674: d/aee/aed(119): p 3 poll events 1 revents 0 06-19 09:54:44.674: d/aee/aed(119): not know revents:0 06-19 09:54:44.674: d/aee/aed(119): p 4 poll events 1 revents 0 06-19 09:54:44.674: d/aee/aed(119): not know revents:0 06-19 09:54:44.675: i/debug(28366): handle_request(15) 06-19 09:54:44.675: i/debug(28366): check process 28150 name:ample.ecukrovka 06-19 09:54:44.675: i/debug(28366): boom: pid=28150 uid=10122 gid=10122 tid=28150 06-19 09:54:44.676: i/debug(28366): [onpurpose redunant in preset_info] pid: 28150, tid: 28150, name: ample.ecukrovka >>> com.example.ecukrovka <<< 06-19 09:54:44.781: i/debug(28366): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 06-19 09:54:44.781: i/debug(28366): build fingerprint: 'tct/california/california:4.2.2/jdq39/vbd7-0:user/release-keys' 06-19 09:54:44.781: i/debug(28366): pid: 28150, tid: 28150, name: ample.ecukrovka >>> com.example.ecukrovka <<< 06-19 09:54:44.781: i/debug(28366): signal 11 (sigsegv), code 2 (segv_accerr), fault addr 45e0001d 06-19 09:54:45.060: i/debug(28366): r0 41848700 r1 c7c00019 r2 45e0001d r3 00000000 06-19 09:54:45.060: i/debug(28366): r4 4c657108 r5 41849000 r6 00000000 r7 411cad00 06-19 09:54:45.060: i/debug(28366): r8 bebbe560 r9 411cacf8 sl 41849010 fp bebbe574 06-19 09:54:45.060: i/debug(28366): ip 5276e537 sp bebbe560 lr 408567d4 pc 5276e538 cpsr 60000030 06-19 09:54:45.062: i/debug(28366): backtrace: 06-19 09:54:45.062: i/debug(28366): #00 pc 00001538 /data/app-lib/com.example.ecukrovka-2/libaes256.so (java_sk_anext_ecukrovka_ws_aescrypt_aes256test+1) 06-19 09:54:45.063: i/debug(28366): #01 pc 0001e7d0 /system/lib/libdvm.so (dvmplatforminvoke+112) 06-19 09:54:45.063: i/debug(28366): #02 pc 0004e2dd /system/lib/libdvm.so (dvmcalljnimethod(unsigned int const*, jvalue*, method const*, thread*)+500) 06-19 09:54:45.063: i/debug(28366): #03 pc 000506a5 /system/lib/libdvm.so (dvmresolvenativemethod(unsigned int const*, jvalue*, method const*, thread*)+200) 06-19 09:54:45.063: i/debug(28366): #04 pc 00027be4 /system/lib/libdvm.so 06-19 09:54:45.063: i/debug(28366): #05 pc 000206f0 [stack] 06-19 09:54:45.063: i/debug(28366): stack: 06-19 09:54:45.063: i/debug(28366): bebbe520 00000001 06-19 09:54:45.063: i/debug(28366): bebbe524 00000000 06-19 09:54:45.063: i/debug(28366): bebbe528 53de3048 06-19 09:54:45.063: i/debug(28366): bebbe52c 53de2e88 06-19 09:54:45.063: i/debug(28366): bebbe530 53de3040 06-19 09:54:45.063: i/debug(28366): bebbe534 4007f10c /system/lib/libc.so (dlfree+608) 06-19 09:54:45.063: i/debug(28366): bebbe538 41b1089c /dev/ashmem/dalvik-heap (deleted) 06-19 09:54:45.063: i/debug(28366): bebbe53c 4009250c /system/lib/libc.so (sprintf+104) 06-19 09:54:45.063: i/debug(28366): bebbe540 bebbe5b8 [stack] 06-19 09:54:45.063: i/debug(28366): bebbe544 00000000 06-19 09:54:45.063: i/debug(28366): bebbe548 41c6c368 /dev/ashmem/dalvik-heap (deleted) 06-19 09:54:45.063: i/debug(28366): bebbe54c 41849000 [heap] 06-19 09:54:45.063: i/debug(28366): bebbe550 41849000 [heap] 06-19 09:54:45.063: i/debug(28366): bebbe554 418490a8 [heap] 06-19 09:54:45.063: i/debug(28366): bebbe558 df0027ad 06-19 09:54:45.063: i/debug(28366): bebbe55c 00000000 06-19 09:54:45.063: i/debug(28366): #00 bebbe560 411cacf4 06-19 09:54:45.063: i/debug(28366): ........ ........ 06-19 09:54:45.063: i/debug(28366): #01 bebbe560 411cacf4 06-19 09:54:45.063: i/debug(28366): bebbe564 00000000 06-19 09:54:45.063: i/debug(28366): bebbe568 41b21670 /dev/ashmem/dalvik-heap (deleted) 06-19 09:54:45.063: i/debug(28366): bebbe56c 00000001 06-19 09:54:45.063: i/debug(28366): bebbe570 41b1089c /dev/ashmem/dalvik-heap (deleted) 06-19 09:54:45.063: i/debug(28366): bebbe574 408862e1 /system/lib/libdvm.so (dvmcalljnimethod(unsigned int const*, jvalue*, method const*, thread*)+504) 06-19 09:54:45.063: i/debug(28366): #02 bebbe578 411cacf4 06-19 09:54:45.064: i/debug(28366): bebbe57c 52181e31 /data/dalvik-cache/data@app@com.example.ecukrovka-2.apk@classes.dex 06-19 09:54:45.064: i/debug(28366): bebbe580 5276e537 /data/app-lib/com.example.ecukrovka-2/libaes256.so (java_sk_anext_ecukrovka_ws_aescrypt_aes256test) 06-19 09:54:45.064: i/debug(28366): bebbe584 41849010 [heap] 06-19 09:54:45.064: i/debug(28366): bebbe588 00000101 06-19 09:54:45.064: i/debug(28366): bebbe58c 00000000 06-19 09:54:45.064: i/debug(28366): bebbe590 40888877 /system/lib/libdvm.so 06-19 09:54:45.064: i/debug(28366): bebbe594 400d1204 06-19 09:54:45.064: i/debug(28366): bebbe598 53de3048 06-19 09:54:45.064: i/debug(28366): bebbe59c 53de2e88 06-19 09:54:45.064: i/debug(28366): bebbe5a0 00000000 06-19 09:54:45.064: i/debug(28366): bebbe5a4 53de2ec0 06-19 09:54:45.064: i/debug(28366): bebbe5a8 400d1204 06-19 09:54:45.064: i/debug(28366): bebbe5ac 5276e537 /data/app-lib/com.example.ecukrovka-2/libaes256.so (java_sk_anext_ecukrovka_ws_aescrypt_aes256test) 06-19 09:54:45.064: i/debug(28366): bebbe5b0 41b1089c /dev/ashmem/dalvik-heap (deleted) 06-19 09:54:45.064: i/debug(28366): bebbe5b4 40072ecc /system/lib/libc.so (free+20) 06-19 09:54:45.064: i/debug(28366): ........ ........ 06-19 09:54:45.065: i/debug(28366): memory near r0: 06-19 09:54:45.065: i/debug(28366): 418486e0 41861fa0 400d0c50 532e736f 65747379 ...ap..@os.syste 06-19 09:54:45.065: i/debug(28366): 418486f0 6f6c436d 00006b63 00000020 00000023 mclock.. ...#... 06-19 09:54:45.065: i/debug(28366): 41848700 408e7e84 408e82f8 00000001 41849000 .~.@...@.......a 06-19 09:54:45.065: i/debug(28366): 41848710 00000000 51837e08 00000000 0000026b .....~.q....k... 06-19 09:54:45.065: i/debug(28366): 41848720 7379732f 2f6d6574 6d617266 726f7765 /system/framewor 06-19 09:54:45.065: i/debug(28366): memory near r2: 06-19 09:54:45.065: i/debug(28366): 45dffffc 00000000 00000000 00000000 00000000 ................ 06-19 09:54:45.065: i/debug(28366): 45e0000c 00000000 00000000 00000000 00000000 ................ 06-19 09:54:45.065: i/debug(28366): 45e0001c 00000000 00000000 00000000 00000000 ................ 06-19 09:54:45.065: i/debug(28366): 45e0002c 00000000 00000000 00000000 00000000 ................ 06-19 09:54:45.065: i/debug(28366): 45e0003c 00000000 00000000 00000000 00000000 ................ 06-19 09:54:45.065: i/debug(28366): memory near r4: 06-19 09:54:45.065: i/debug(28366): 4c6570e8 520ada94 00000000 00000000 00000000 ...r............ 06-19 09:54:45.065: i/debug(28366): 4c6570f8 00000000 00000000 00000000 000000e4 ................ 06-19 09:54:45.065: i/debug(28366): 4c657108 41c70ec0 00000101 0002000b 00020000 ...a............ 06-19 09:54:45.065: i/debug(28366): 4c657118 52189e54 5050f9b8 00000de8 52181e31 t..r..pp....1..r 06-19 09:54:45.065: i/debug(28366): 4c657128 5276e537 00000000 408860e9 00000000 7.vr.....`.@.... 06-19 09:54:45.065: i/debug(28366): memory near r5: 06-19 09:54:45.066: i/debug(28366): 41848fe0 00000000 00000000 20203a79 00000013 ........y: .... 06-19 09:54:45.066: i/debug(28366): 41848ff0 20202000 00000800 411c2008 00000453 . ..... .as... 06-19 09:54:45.066: i/debug(28366): 41849000 520adb34 411cacf4 4c6570c8 5224f000 4..r...a.pel..$r 06-19 09:54:45.066: i/debug(28366): 41849010 00000023 c4aa6dea bebbe6c0 00000000 #....m.......... 06-19 09:54:45.066: i/debug(28366): 41849020 bebbe6f4 00000001 00010008 4085b7c0 ...............@ 06-19 09:54:45.066: i/debug(28366): memory near r7: 06-19 09:54:45.066: i/debug(28366): 411cace0 411cad10 520adb34 4c657108 00000006 ...a4..r.qel.... 06-19 09:54:45.066: i/debug(28366): 411cacf0 00000000 c7c00019 45e0001d 411cad40 ...........e@..a 06-19 09:54:45.066: i/debug(28366): 411cad00 520aeaac 4c6570c8 520adb34 00000000 ...r.pel4..r.... 06-19 09:54:45.066: i/debug(28366): 411cad10 41c6c368 41c6fc48 41a13568 41c6d468 h..ah..ah5.ah..a 06-19 09:54:45.066: i/debug(28366): 411cad20 41c25be8 41b21670 41c29fc0 411cad94 .[.ap..a...a...a 06-19 09:54:45.066: i/debug(28366): memory near r8: 06-19 09:54:45.066: i/debug(28366): bebbe540 bebbe5b8 00000000 41c6c368 41849000 ........h..a...a 06-19 09:54:45.066: i/debug(28366): bebbe550 41849000 418490a8 df0027ad 00000000 ...a...a.'...... 06-19 09:54:45.066: i/debug(28366): bebbe560 411cacf4 00000000 41b21670 00000001 ...a....p..a.... 06-19 09:54:45.066: i/debug(28366): bebbe570 41b1089c 408862e1 411cacf4 52181e31 ...a.b.@...a1..r 06-19 09:54:45.066: i/debug(28366): bebbe580 5276e537 41849010 00000101 00000000 7.vr...a........ 06-19 09:54:45.066: i/debug(28366): memory near r9: 06-19 09:54:45.066: i/debug(28366): 411cacd8 411cad10 520adb2e 411cad10 520adb34 ...a...r...a4..r 06-19 09:54:45.066: i/debug(28366): 411cace8 4c657108 00000006 00000000 c7c00019 .qel............ 06-19 09:54:45.066: i/debug(28366): 411cacf8 45e0001d 411cad40 520aeaac 4c6570c8 ...e@..a...r.pel 06-19 09:54:45.066: i/debug(28366): 411cad08 520adb34 00000000 41c6c368 41c6fc48 4..r....h..ah..a 06-19 09:54:45.066: i/debug(28366): 411cad18 41a13568 41c6d468 41c25be8 41b21670 h5.ah..a.[.ap..a 06-19 09:54:45.066: i/debug(28366): memory near sl: 06-19 09:54:45.066: i/debug(28366): 41848ff0 20202000 00000800 411c2008 00000453 . ..... .as... 06-19 09:54:45.066: i/debug(28366): 41849000 520adb34 411cacf4 4c6570c8 5224f000 4..r...a.pel..$r 06-19 09:54:45.067: i/debug(28366): 41849010 00000023 c4aa6dea bebbe6c0 00000000 #....m.......... 06-19 09:54:45.067: i/debug(28366): 41849020 bebbe6f4 00000001 00010008 4085b7c0 ...............@ 06-19 09:54:45.067: i/debug(28366): 41849030 00000000 00000000 40890770 411c5300 ........p..@.s.a 06-19 09:54:45.067: i/debug(28366): memory near fp: 06-19 09:54:45.067: i/debug(28366): bebbe554 418490a8 df0027ad 00000000 411cacf4 ...a.'.........a 06-19 09:54:45.067: i/debug(28366): bebbe564 00000000 41b21670 00000001 41b1089c ....p..a.......a 06-19 09:54:45.067: i/debug(28366): bebbe574 408862e1 411cacf4 52181e31 5276e537 .b.@...a1..r7.vr 06-19 09:54:45.067: i/debug(28366): bebbe584 41849010 00000101 00000000 40888877 ...a........w..@ 06-19 09:54:45.067: i/debug(28366): bebbe594 400d1204 53de3048 53de2e88 00000000 ...@h0.s...s.... 06-19 09:54:45.067: i/debug(28366): memory near ip: 06-19 09:54:45.067: i/debug(28366): 5276e514 f7ff4628 4628fe37 fddbf7ff f7ff4628 (f..7.(f....(f.. 06-19 09:54:45.067: i/debug(28366): 5276e524 3e01fd98 4628d1e7 f7ff4621 e8bdfd9e ...>..(f!f...... 06-19 09:54:45.067: i/debug(28366): 5276e534 230081fc 47707013 e5903000 e3130101 ...#.ppg.0...... 06-19 09:54:45.067: i/debug(28366): 5276e544 13833102 03c33102 e0800003 e12fff1e .1...1......../. 06-19 09:54:45.067: i/debug(28366): 5276e554 e92d4ff0 e1a04000 e59f51a8 e24dd014 .o-..@...q....m. 06-19 09:54:45.067: i/debug(28366): memory near sp: 06-19 09:54:45.067: i/debug(28366): bebbe540 bebbe5b8 00000000 41c6c368 41849000 ........h..a...a 06-19 09:54:45.067: i/debug(28366): bebbe550 41849000 418490a8 df0027ad 00000000 ...a...a.'...... 06-19 09:54:45.067: i/debug(28366): bebbe560 411cacf4 00000000 41b21670 00000001 ...a....p..a.... 06-19 09:54:45.067: i/debug(28366): bebbe570 41b1089c 408862e1 411cacf4 52181e31 ...a.b.@...a1..r 06-19 09:54:45.067: i/debug(28366): bebbe580 5276e537 41849010 00000101 00000000 7.vr...a........ 06-19 09:54:45.067: i/debug(28366): code around pc: 06-19 09:54:45.067: i/debug(28366): 5276e518 4628fe37 fddbf7ff f7ff4628 3e01fd98 7.(f....(f.....> 06-19 09:54:45.067: i/debug(28366): 5276e528 4628d1e7 f7ff4621 e8bdfd9e 230081fc ..(f!f.........# 06-19 09:54:45.068: i/debug(28366): 5276e538 47707013 e5903000 e3130101 13833102 .ppg.0.......1.. 06-19 09:54:45.068: i/debug(28366): 5276e548 03c33102 e0800003 e12fff1e e92d4ff0 .1......../..o-. 06-19 09:54:45.068: i/debug(28366): 5276e558 e1a04000 e59f51a8 e24dd014 e59f31a4 .@...q....m..1.. 06-19 09:54:45.068: i/debug(28366): code around lr: 06-19 09:54:45.068: i/debug(28366): 408567b4 3497c004 3488c004 3afffff9 e2888004 ...4...4...:.... 06-19 09:54:45.068: i/debug(28366): 408567c4 eafffff9 e899000c e59bc00c e12fff3c ............<./. 06-19 09:54:45.068: i/debug(28366): 408567d4 e3560000 159bc010 e24bd014 188c0003 ..v.......k..... 06-19 09:54:45.068: i/debug(28366): 408567e4 e8bd8bc0 e1a0ce22 e59b6008 e2866001 ...."....`...`.. 06-19 09:54:45.068: i/debug(28366): 408567f4 e3a02000 e4d6c001 e35c0000 0a000007 . ........\..... 06-19 09:54:45.068: i/debug(28366): memory map around fault addr 45e0001d: 06-19 09:54:45.068: i/debug(28366): 41bc9000-41c94000 /dev/ashmem/dalvik-heap (deleted) 06-19 09:54:45.068: i/debug(28366): 41c94000-4984a000 /dev/ashmem/dalvik-heap (deleted) 06-19 09:54:45.068: i/debug(28366): 4984a000-4c2f5000 /dev/ashmem/dalvik-mark-stack (deleted) android c android-ndk crash aes
No comments:
Post a Comment