使用isql链接产生core文件

isql链接数据库产生core文件

  • 使用普通用户执行
bash 复制代码
[test@test ~]$ isql  -v freeswitch
Segmentation fault (core dumped)
  • 解析core文件
csharp 复制代码
[test@test~]$ gdb /bin/isql isql.core.122335 
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/isql...Reading symbols from /usr/bin/isql...(no debugging symbols found)...done.
(no debugging symbols found)...done.
[New LWP 122335]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `isql -v freeswitch'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f1ae180edec in freelocale () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install unixODBC-2.3.1-14.el7.x86_64
(gdb) bt
#0  0x00007f1ae180edec in freelocale () from /lib64/libc.so.6
#1  0x00007f1ada501fe1 in myodbc_init() () from /usr/lib64/libmyodbc8a.so
#2  0x00007f1ada505afc in my_SQLAllocEnv(void**) () from /usr/lib64/libmyodbc8a.so
#3  0x00007f1ada506dff in SQLAllocHandle () from /usr/lib64/libmyodbc8a.so
#4  0x00007f1ae242b8c9 in __connect_part_one () from /lib64/libodbc.so.2
#5  0x00007f1ae242daf7 in SQLConnect () from /lib64/libodbc.so.2
#6  0x0000000000402809 in main ()
  • 使用root能正常链接isql
sql 复制代码
[root@test ~]# isql  -v freeswitch
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> show tables;
+-----------------------------------------------------------------+
| Tables_in_freeswitch                                            |
+-----------------------------------------------------------------+
| t_s_number                                                      |
| users                                                           |
+-----------------------------------------------------------------+
SQLRowCount returns 2
2 rows fetched

问题原因

  • root和普通用户区别: 新部署服务添加过环境变量有指定字符集
bash 复制代码
[root@test ~]# echo $LANG
en_US.UTF-8

[test@test ~]$ echo $LANG
zh_CN.GB1803

解决方法

  • 在网上查询ODBC 驱动或库的兼容性问题特别是 MySQL ODBC 驱动在处理 GB18030 时可能出现问题
  • 把指定的字符集设置为en_US.UTF-8即可。
相关推荐
Wokoo74 小时前
Selenium:元素定位、动态适配与性能优化(二)
前端·selenium·自动化
用户2788607285674 小时前
把 restore 当撤销会发生什么?长任务助手的会话与业务状态
前端
℘团子এ4 小时前
vue3中自定义指令的使用
前端·javascript·vue.js
用户2788607285674 小时前
别把 AI 查询结果只塞进聊天框:SessionView 与业务页面接线
前端
程序员鱼皮4 小时前
Personal Agent 是什么?为什么大厂都抢着做?连 DeepSeek Bot 都来了。。
前端·后端·ai编程
用户4402818278075 小时前
一个人 + TRAE,从 0 到 1 交付一个政务志愿服务平台的全链路实战
前端
代码猎人5 小时前
微信小程序是什么
前端
m0_587383005 小时前
碰碰好评卡功能落地全流程实战指南 附核心逻辑与常见问题解决方案
java·前端·数据库·后端·struts·需求分析
子轩学长说5 小时前
Workbuddy独立文件浏览器新上线,彻底告别WPS和office全家桶~
前端
nyaomaru5 小时前
如何用 Jev 从 PR 中提取 “Why” 并写入 CHANGELOG?🤔
前端·typescript