使用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即可。
相关推荐
gnip11 分钟前
做个交通信号灯特效
前端·javascript
小小小小宇12 分钟前
Webpack optimization
前端
尝尝你的优乐美14 分钟前
前端查缺补漏系列(二)JS数组及其扩展
前端·javascript·面试
咕噜签名分发可爱多16 分钟前
苹果iOS应用ipa文件安装之前?为什么需要签名?不签名能用么?
前端
她说人狗殊途30 分钟前
Ajax笔记
前端·笔记·ajax
yqcoder39 分钟前
33. css 如何实现一条 0.5 像素的线
前端·css
excel1 小时前
Nuxt 3 + PWA 通知完整实现指南(Web Push)
前端·后端
yuanmenglxb20041 小时前
构建工具和脚手架:从源码到dist
前端·webpack
rit84324991 小时前
Web学习:SQL注入之联合查询注入
前端·sql·学习
啃火龙果的兔子1 小时前
Parcel 使用详解:零配置的前端打包工具
前端