注册

dmdpi库dpi_prepare调用卡死问题

神秘人 2024/08/08 471 2

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
DM8
【操作系统】:
[root@a6a24934-8771-11ee-a476-000c29af87ae opt]# cat /etc/openEuler-release
openEuler release 20.03 (LTS-SP2)
【CPU】:
model name : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
【问题描述】
一:测试代码:
dhstmt hstmt;
rt = dpi_alloc_stmt(m_hcon, &hstmt);
printf("DEBUG: 00000000000000\n");
char pTest = "DELETE FROM user_info WHERE open_id = ? AND app_id = ?;";
rt = dpi_unbind_params(hstmt);
rt = dpi_prepare(hstmt, (sdbyte
)pTest);
printf("DEBUG: 11111111111111\n");
问题: 该代码在CentOS Linux release 7.6.1810 (Core) 上能正常执行。但是在openEuler release 20.03 (LTS-SP2)上会卡在dpi_prepare调用里面,具体堆栈信息为:
Thread 1 (Thread 0x7fcf9b8df740 (LWP 994756) "dbi_test"):
#0 0x00007fcf9d58fddc in read () from /opt/sysroot64/lib/libpthread.so.0
#1 0x00007fcf9beb6fb9 in viosocket_recv () from /opt/mcu/modb/libdmdpi.so
#2 0x00007fcf9beb4c09 in data_recv_inet_once () from /opt/mcu/modb/libdmdpi.so
#3 0x00007fcf9beb57d7 in comm_inet_msg_recv_low () from /opt/mcu/modb/libdmdpi.so
#4 0x00007fcf9beb5ab8 in comm_inet_msg_recv () from /opt/mcu/modb/libdmdpi.so
#5 0x00007fcf9beb16aa in comm_msg_recv_with_memobj () from /opt/mcu/modb/libdmdpi.so
#6 0x00007fcf9beb178c in comm_msg_recv () from /opt/mcu/modb/libdmdpi.so
#7 0x00007fcf9be31fc2 in dpi_recv_msg () from /opt/mcu/modb/libdmdpi.so
#8 0x00007fcf9be35d76 in dpi_msg_inner () from /opt/mcu/modb/libdmdpi.so
#9 0x00007fcf9be36258 in dpi_msg () from /opt/mcu/modb/libdmdpi.so
#10 0x00007fcf9be96aa7 in dpi_prepare_inner () from /opt/mcu/modb/libdmdpi.so
#11 0x00007fcf9be96e13 in dpi_prepare () from /opt/mcu/modb/libdmdpi.so
#12 0x00007fcf9da9b068 in CDmDbHandlerImp::ConnecttoSrv(char const
, char const*, char const*, char const*, unsigned short, unsigned short*) () from /opt/xxx/libxx.so
#13 0x00007fcf9da98e2e in CDBHandler::ConnecttoSrv(char const*, char const*, char const*, char const*, unsigned short) () from /opt/xxx/libxx.so

回答 0
暂无回答
扫一扫
联系客服