Android NDK:使用共享库时出错

Android NDK:使用共享库时出错,android,openssl,android-ndk,Android,Openssl,Android Ndk,我正在尝试在我的android设备中使用fips openssl库。到目前为止,我已经能够构建fips模块并在我的设备上运行它附带的测试套件。现在,我正在尝试将特定证书加载到代码的JNI部分。但应用程序失败,并出现此错误 这就是它失败的地方 cbio = BIO_new_mem_buf((void*)thawteCA, -1); PEM_read_bio_X509(cbio, &cacert, 0, NULL); 我用fips对象文件(fipscant.o)构建了自己的共享

我正在尝试在我的android设备中使用fips openssl库。到目前为止,我已经能够构建fips模块并在我的设备上运行它附带的测试套件。现在,我正在尝试将特定证书加载到代码的JNI部分。但应用程序失败,并出现此错误

这就是它失败的地方

   cbio = BIO_new_mem_buf((void*)thawteCA, -1);
   PEM_read_bio_X509(cbio, &cacert, 0, NULL);
我用fips对象文件(fipscant.o)构建了自己的共享库“libfips.so”,并将其加载到java类中

   Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
我已经附上了我的android日志的相关部分。我是NDK开发的新手。任何关于这方面的建议都会对我有很大帮助

F/libc    ( 5488): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
I/DEBUG   (   91): debuggerd: tmb file path:'/data/tombstones/tombstone_09'
I/DEBUG   (   91): *** *** *** *** *** *** *** *** *** *** *** 
I/DEBUG   (   91): Build fingerprint: 'alps/e1808_v75_jbl1/e1808_v75_jbl1:4.0.3/IML74K/1338672019:user/test-keys'
I/DEBUG   (   91): pid: 5488, tid: 5488  >>> com.work.data <<<
I/DEBUG   (   91): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
I/DEBUG   (   91):  r0 deadbaad  r1 00000001  r2 40000000  r3 00000000
I/DEBUG   (   91):  r4 00000000  r5 00000027  r6 00000004  r7 40049da4
I/DEBUG   (   91):  r8 be997678  r9 40049d9c  10 00000000  fp be99764c
I/DEBUG   (   91):  ip ffffffff  sp be9975f8  lr 40103589  pc 400ffc8c  cpsr 60000030
I/DEBUG   (   91):          #00  pc 00017c8c  /system/lib/libc.so
D/AEE/debuggerd(   91): stack_depth:1
I/DEBUG   (   91):          #01  lr 40103589  /system/lib/libc.so
I/DEBUG   (   91): 
I/DEBUG   (   91): code around pc:
I/DEBUG   (   91): 400ffc6c 4623b15c 2c006824 e026d1fb b12368db  \.#F$h.,..&..h#.
I/DEBUG   (   91): 400ffc7c 21014a17 6011447a 48124798 24002527  .J.!zD.`.G.H'%.$
I/DEBUG   (   91): 400ffc8c f7f47005 2106eca2 ed30f7f5 f04fa901  .p.....!..0...O.
I/DEBUG   (   91): 400ffc9c 460a5380 93032006 94029401 e8faf7f5  .S.F. ..........
I/DEBUG   (   91): 400ffcac 4622a905 f7f52002 f7f4e904 2106ec8e  .."F. .........!
 I/DEBUG   (   91): 
 I/DEBUG   (   91): code around lr:
 I/DEBUG   (   91): 40103568 41f0e92d 4c0c4680 447c2600 68a56824  -..A.F.L.&|D$h.h
 I/DEBUG   (   91): 40103578 e0076867 300cf9b5 dd022b00 47c04628  gh.....0.+..(F.G
 I/DEBUG   (   91): 40103588 35544306 37fff117 6824d5f4 d1ee2c00  .CT5...7..$h.,..
 I/DEBUG   (   91): 40103598 e8bd4630 bf0081f0 00027f9a 41f0e92d  0F..........-..A
 I/DEBUG   (   91): 401035a8 9004b086 f602fb01 460c461f 46154814  .........F.F.H.F
 I/DEBUG   (   91): 
 I/DEBUG   (   91): memory map around addr deadbaad:
 I/DEBUG   (   91): be977000-be998000 [stack]
 I/DEBUG   (   91): (no map for address)
 I/DEBUG   (   91): ffff0000-ffff1000 [vectors]
 I/DEBUG   (   91): 
 I/DEBUG   (   91): stack:
 I/DEBUG   (   91):     be9975b8  51226ecc  /data/data/com.work.data/lib/libfips.so
 I/DEBUG   (   91):     be9975bc  0151c478  [heap]
 I/DEBUG   (   91):     be9975c0  40049da4  
 I/DEBUG   (   91):     be9975c4  511b7570  /data/data/com.work.data/lib/libfips.so
 I/DEBUG   (   91):     be9975c8  4012b74c  /system/lib/libc.so
 I/DEBUG   (   91):     be9975cc  40130850  
 I/DEBUG   (   91):     be9975d0  00000000  
 I/DEBUG   (   91):     be9975d4  40103589  /system/lib/libc.so
 I/DEBUG   (   91):     be9975d8  00000000  
 I/DEBUG   (   91):     be9975dc  be99760c  [stack]
 I/DEBUG   (   91):     be9975e0  00000004  
 I/DEBUG   (   91):     be9975e4  40049da4  
 I/DEBUG   (   91):     be9975e8  be997678  [stack]
 I/DEBUG   (   91):     be9975ec  401026c9  /system/lib/libc.so
 I/DEBUG   (   91):     be9975f0  df0027ad  
 I/DEBUG   (   91):     be9975f4  00000000  
 I/DEBUG   (   91): #00 be9975f8  51246aec  /data/data/com.work.data/lib/libfips.so
 I/DEBUG   (   91):     be9975fc  0150c8c8  [heap]
 I/DEBUG   (   91):     be997600  51219f68  /data/data/com.work.data/lib/libfips.so
 I/DEBUG   (   91):     be997604  00000498  
 I/DEBUG   (   91):     be997608  00000004  
 I/DEBUG   (   91):     be99760c  fffffbdf  
 I/DEBUG   (   91):     be997610  012c5680  [heap]
 I/DEBUG   (   91):     be997614  4c1797c0  /dev/ashmem/dalvik-LinearAlloc (deleted)
 I/DEBUG   (   91):     be997618  012c5680  [heap]
 I/DEBUG   (   91):     be99761c  511ca4ec  /data/data/com.work.data/lib/libfips.so
 I/DEBUG   (   91):     be997620  4c1797c0  /dev/ashmem/dalvik-LinearAlloc (deleted)
 I/DEBUG   (   91):     be997624  51195e00  /data/data/com.work.data/lib/libfips.so
 I/DEBUG   (   91):     be997628  51238970  /data/data/com.work.data/lib/libfips.so
 I/DEBUG   (   91):     be99762c  0150c848  [heap]
 I/DEBUG   (   91):     be997630  293d175e  
 I/DEBUG   (   91):     be997634  4c1797c0  /dev/ashmem/dalvik-LinearAlloc (deleted)
 I/DEBUG   (   91):     be997638  51219888  /data/data/com.work.data/lib/libfips.so
 I/DEBUG   (   91):     be99763c  51219f68  /data/data/com.work.data/lib/libfips.so
F/libc(5488):0xdeadbaad(code=1)处的致命信号11(SIGSEGV)
I/DEBUG(91):debuggerd:tmb文件路径:'/data/tombstones/tombstone_09'
I/DEBUG(91):***************************
I/DEBUG(91):构建指纹:“alps/e1808_v75_jbl1/e1808_v75_jbl1:4.0.3/IML74K/133867219:用户/测试密钥”

I/DEBUG(91):pid:5488,tid:5488>>>com.work.data我正在使用android源代码,在向各种框架文件添加一些日志行之后,我在启动仿真器时遇到了相同的错误(这样认为)

用谷歌搜索我找到了这个页面

这里写着

F/libc(83):0xdeadbaad(code=1)处的致命信号11(SIGSEGV)

是因为C代码中存在异常

希望这个简短的信息能帮助你