问题描述:

In the app I'm developing on Android (4.2.2), I keep getting a Fatal Signal 11 error. And i dont know why, its just simple method calling from NDK. Im pretty new for this, so if you see something what i cant, ill be grateful.

Story behind: I need implement NDK AES (for example: http://en.wikipedia.org/wiki/AES_implementations), because that in Android is terrible slow.

Thanks

Here is my 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 is just simple test of NDK");

aes256_context ctx = new aes256_context();

aes256test(ctx); //Fatal signal 11 (SIGSEGV)

Log.d(TAG, "Never reached code..");

}

}

Here is C codes..

Application.mk:

# The ARMv7 is significanly faster due to the use of the 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 with 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) at 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/[email protected]@[email protected]

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 [email protected]

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 [email protected]@.......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.....`[email protected]

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 [email protected]

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 [email protected]

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 [email protected]

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 [email protected]

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 [email protected]

06-19 09:54:45.067: I/DEBUG(28366): 41849030 00000000 00000000 40890770 411c5300 [email protected]

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 [email protected]

06-19 09:54:45.067: I/DEBUG(28366): bebbe584 41849010 00000101 00000000 40888877 [email protected]

06-19 09:54:45.067: I/DEBUG(28366): bebbe594 400d1204 53de3048 53de2e88 00000000 [email protected]

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 [email protected]

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 [email protected]

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 [email protected]

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)

相关阅读:
Top