免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4854 | 回复: 13
打印 上一主题 下一主题

[C] linux c mysql 第二次操作崩溃 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-12-03 10:56 |只看该作者 |倒序浏览
环境:linux c语言,mysql5.6.21 程序启动之后,第一次操作没崩溃,第二次操作的时候崩溃了,core文件信息如下,实在想不出原因啊,各位大神帮忙看下
  1. (gdb) bt
  2. #0  0x000000000041101e in mysql_send_query (mysql=0x4140a048, query=0x42badc60 "INSERT INTO T_Test (ClientFlag,timeFlag) VALUES(3, 38387)", length=57)
  3.     at /export/home/pb2/build/sb_0-13191046-1410444393.17/rpm/BUILD/mysql-5.6.21/mysql-5.6.21/sql-common/client.c:4168
  4. #1  0x0000000000411041 in mysql_real_query (mysql=0x4140a048, query=0x3 <Address 0x3 out of bounds>, length=0)
  5.     at /export/home/pb2/build/sb_0-13191046-1410444393.17/rpm/BUILD/mysql-5.6.21/mysql-5.6.21/sql-common/client.c:4180
  6. #2  0x000000000040eb6c in DBConPool_ExecuteSql (pConHandle=0x4140a048, pSql=0x42badc60 "INSERT INTO T_Test (ClientFlag,timeFlag) VALUES(3, 38387)")
  7.     at ../../DBConnectionPool/src/DBConPool.c:320
  8. #3  0x0000000000409c9b in InsertDB_For_Test (pDBConn=0x4140a048, pTest=0x1d4071bc) at ../../../Server/src/AccessDB.c:70
  9. #4  0x0000000000409dcf in Act_Test (pMsg=0x1d4071b4) at ../../../Server/src/Action.c:67
  10. #5  0x000000000040a68e in thread_routine (arg=0x1d6ff774) at ../../ThreadPool/src/ThreadPool.c:255
  11. #6  0x0000003445a064a7 in start_thread () from /lib64/libpthread.so.0
  12. #7  0x0000003444ed3c2d in clone () from /lib64/libc.so.6
复制代码

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
2 [报告]
发表于 2014-12-03 11:26 |只看该作者
这么点信息,我看大神有啥办法

论坛徽章:
6
酉鸡
日期:2013-11-04 15:30:02巳蛇
日期:2014-01-23 10:36:23双鱼座
日期:2014-01-23 13:08:332015亚冠之鹿岛鹿角
日期:2015-09-03 14:36:002015亚冠之武里南联
日期:2015-09-18 10:48:1315-16赛季CBA联赛之山西
日期:2016-05-05 00:05:33
3 [报告]
发表于 2014-12-03 13:54 |只看该作者
第一次操作完了mysql链接已经关了吧?
第二次再插入数据可能就有问题了

论坛徽章:
0
4 [报告]
发表于 2014-12-03 16:50 |只看该作者
没关,用的连接池,程序退出时才关

论坛徽章:
6
酉鸡
日期:2013-11-04 15:30:02巳蛇
日期:2014-01-23 10:36:23双鱼座
日期:2014-01-23 13:08:332015亚冠之鹿岛鹿角
日期:2015-09-03 14:36:002015亚冠之武里南联
日期:2015-09-18 10:48:1315-16赛季CBA联赛之山西
日期:2016-05-05 00:05:33
5 [报告]
发表于 2014-12-03 22:05 |只看该作者
拼错了? query地址看起来不对啊, length=0 ?
执行mysql操作前判断下参数是否合法,为空的就直接返回,不知道这样行不行
  1. #1  0x0000000000411041 in mysql_real_query (mysql=0x4140a048, query=0x3 <Address 0x3 out of bounds>, length=0)
复制代码

论坛徽章:
223
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:10操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
6 [报告]
发表于 2014-12-04 09:05 |只看该作者
这种情况一般都是一台机器上build的可执行文件,然后复制到另外一台机器上出现的问题
nginx遇到过这种现状,公司想做个yum源服务环境,自己机器编译一下没问题,结果推送给客户就有支持需求了

在什么机器上用mysql就在什么机器上编译,

论坛徽章:
0
7 [报告]
发表于 2014-12-04 09:49 |只看该作者
Dannysd 发表于 2014-12-03 13:54
第一次操作完了mysql链接已经关了吧?
第二次再插入数据可能就有问题了


#1堆栈,传入的参数貌似是错的,但是再往下,#0堆栈参数又对了,所以很奇怪,程序运行出现段错误,在coredump文件里看却找不到哪里dump了,没有空指针什么的啊

论坛徽章:
0
8 [报告]
发表于 2014-12-04 09:49 |只看该作者
action08 发表于 2014-12-04 09:05
这种情况一般都是一台机器上build的可执行文件,然后复制到另外一台机器上出现的问题
nginx遇到过这种现状 ...


还有这事儿,我是从官网上下的rpm包直接安装的, 总不会有问题吧。

论坛徽章:
0
9 [报告]
发表于 2014-12-04 09:57 |只看该作者
测试步骤这样的:
服务器启动,然后客户端连接后,执行完:INSERT INTO T_Test (ClientFlag,TimeFlag) VALUES(3, 6)   客户端退出。
第一次写到数据库里,正常。
第二次客户端启动,仍然执行那个sql语句,这时候服务端段错误,程序退出。数据库没有写成功

论坛徽章:
223
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:10操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
10 [报告]
发表于 2014-12-04 10:04 |只看该作者
你现在测试是不是msql服务器的问题,,办法就是跑两次
INSERT INTO T_Test (ClientFlag,TimeFlag) VALUES(3, 6)  


反正你的问题有点诡异
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP