免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
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
复制代码

论坛徽章:
275
射手座
日期: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
发表于 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
发表于 2014-12-03 13:54 |显示全部楼层
第一次操作完了mysql链接已经关了吧?
第二次再插入数据可能就有问题了

论坛徽章:
0
发表于 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
发表于 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)
复制代码

论坛徽章:
212
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:322015亚冠之全北现代
日期:2016-05-11 17:05:27操作系统版块每日发帖之星
日期:2016-05-10 19:23:04操作系统版块每日发帖之星
日期:2016-05-10 19:23:04操作系统版块每日发帖之星
日期:2016-05-10 19:23:04操作系统版块每日发帖之星
日期:2016-05-10 19:23:04操作系统版块每日发帖之星
日期:2016-05-10 19:22:58数据库技术版块每日发帖之星
日期:2016-05-10 19:23:04数据库技术版块每日发帖之星
日期:2016-05-10 19:23:04操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
发表于 2014-12-04 09:05 |显示全部楼层
这种情况一般都是一台机器上build的可执行文件,然后复制到另外一台机器上出现的问题
nginx遇到过这种现状,公司想做个yum源服务环境,自己机器编译一下没问题,结果推送给客户就有支持需求了

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

论坛徽章:
0
发表于 2014-12-04 09:49 |显示全部楼层
Dannysd 发表于 2014-12-03 13:54
第一次操作完了mysql链接已经关了吧?
第二次再插入数据可能就有问题了


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

论坛徽章:
0
发表于 2014-12-04 09:49 |显示全部楼层
action08 发表于 2014-12-04 09:05
这种情况一般都是一台机器上build的可执行文件,然后复制到另外一台机器上出现的问题
nginx遇到过这种现状 ...


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

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

论坛徽章:
212
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:322015亚冠之全北现代
日期:2016-05-11 17:05:27操作系统版块每日发帖之星
日期:2016-05-10 19:23:04操作系统版块每日发帖之星
日期:2016-05-10 19:23:04操作系统版块每日发帖之星
日期:2016-05-10 19:23:04操作系统版块每日发帖之星
日期:2016-05-10 19:23:04操作系统版块每日发帖之星
日期:2016-05-10 19:22:58数据库技术版块每日发帖之星
日期:2016-05-10 19:23:04数据库技术版块每日发帖之星
日期:2016-05-10 19:23:04操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
发表于 2014-12-04 10:04 |显示全部楼层
你现在测试是不是msql服务器的问题,,办法就是跑两次
INSERT INTO T_Test (ClientFlag,TimeFlag) VALUES(3, 6)  


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

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP