c++ - openssl EVP_DigestUpdate() 函数失败
问题描述
我在调用 openssl 库的 EVP_DigestUpdate() 函数的实用程序上面临间歇性核心转储。请注意,我在 AIX 操作系统中观察到此故障。我已附上呼叫跟踪和发生故障的点,我无法每次都重现此问题,因此无法对其进行调试。另请注意,该实用程序是以多进程方式调用的,这意味着瞬间至少有 4 个实用程序实例正在运行,其中一个失败。
*Function Trace:
IOT/Abort trap in pthread_kill at 0x900000000582f94
[untrusted: /usr/lib/libpthreads.a(shr_xpg5_64.o)]
0x900000000582f94 (pthread_kill+0x194) e8a20028 ld r5,0x28(r2)
(dbx) where
pthread_kill(??, ??) at 0x900000000582f94 [untrusted: /usr/lib/libpthreads.a(shr_xpg5_64.o)]
_p_raise(??) at 0x9000000005827e4 [untrusted: /usr/lib/libpthreads.a(shr_xpg5_64.o)]
setpgrp() at 0x900000000039268 [untrusted: /usr/lib/libc.a(shr_64.o)]
monldq(??) at 0x900000000055c64 [untrusted: /usr/lib/libc.a(shr_64.o)]
.() at 0x1005e20d0 [inaccessible: missing <username>]
.() at 0x10288f8c0 [inaccessible: missing <username>]
.() at 0x10288f290 [inaccessible: missing <username>]
.() at 0x102e59b48 [inaccessible: missing <username>]
sha256_block_p8(??, ??, ??) at 0x80000000049e2a0
sha256_block_data_order() at 0x80000000049b93c
SHA256_Update@AF12_4() at 0x8000000004c51f0
update256() at 0x8000000004c3bd0
EVP_DigestUpdate() at 0x8000000004bcc84
OpenSSLCrypto::updateHash(void*,const SecureArray&)(0x112ba6290, 0xffffffffffefc50,
0x112ba63f0, 0xffffffffffefc10) at 0x80000000043d77c.
<There are few calls from utility before this>*
我无法理解是什么导致了失败,为什么它是间歇性的?
解决方案
推荐阅读
- android - 如何定期执行 android 位置检查?
- android - 如何使用短信组件记录号码和短信?
- c++ - winsock 服务器不接受连接
- ansible - Playbook 中的 Ansible 循环以在 RHEL 中创建用户
- r - 如何为我的热图创建特定的颜色渐变比例?
- c# - 继承初始化的字段
- indy10 - 哪个 Openssl 版本与 Indy 10 版本 5519 和 5438 兼容?
- angular - 如何在组件中使用 bypassSecurityTrustHtml 进行高亮显示?
- windows - 在 VB 中打开 Windows 10 通用应用程序中的现有视图?
- javascript - Html Javascript更改行