免费注册 查看新帖 |

Chinaunix

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

一个关于mysql客户机的错误? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-16 10:22 |只看该作者 |倒序浏览
我最近写了一个访问mysql数据库的程序,前两天运行很正常,在没有改变什么东西的情况下,今天运行既然中途死掉了,用gdb调试,结果显示如下:

  1. Program terminated with signal 11, Segmentation fault.
  2. Reading symbols from /usr/lib/libmysqlclient.so.14...done.
  3. Loaded symbols for /usr/lib/libmysqlclient.so.14
  4. Reading symbols from /usr/lib/libz.so.1...done.
  5. Loaded symbols for /usr/lib/libz.so.1
  6. Reading symbols from /lib/libm.so.6...done.
  7. Loaded symbols for /lib/libm.so.6
  8. Reading symbols from /lib/libnsl.so.1...done.
  9. Loaded symbols for /lib/libnsl.so.1
  10. Reading symbols from /lib/libc.so.6...done.
  11. Loaded symbols for /lib/libc.so.6
  12. Reading symbols from /lib/libcrypt.so.1...done.
  13. Loaded symbols for /lib/libcrypt.so.1
  14. Reading symbols from /lib/ld-linux.so.2...done.
  15. Loaded symbols for /lib/ld-linux.so.2
  16. Reading symbols from /lib/libnss_files.so.2...done.
  17. Loaded symbols for /lib/libnss_files.so.2
  18. #0  0x4011230d in __libc_free (mem=0x8062e58) at malloc.c:3032
  19. 3032    malloc.c: No such file or directory.

  20. (gdb) where
  21. #0  0x4011230d in __libc_free (mem=0x8062e58) at malloc.c:3032
  22. #1  0x4002b805 in my_no_flags_free () from /usr/lib/libmysqlclient.so.14
  23. #2  0x4004121a in mysql_close () from /usr/lib/libmysqlclient.so.14

复制代码


mysql_close ()是mysql客户机自带的断开连接的库函数,my_no_flags_free () 和__libc_free 都是系统的函数,我都没可能修改它们的,为什么会突然出现这样的错误呢?我该怎样处理?重装mysql?

如果哪位朋友遇到过这样的情况,请多指教。

论坛徽章:
0
2 [报告]
发表于 2004-08-16 11:03 |只看该作者

一个关于mysql客户机的错误?

很可能是你的数据越界,导致库函数的变量内容混乱造成的。

论坛徽章:
0
3 [报告]
发表于 2004-08-16 11:30 |只看该作者

一个关于mysql客户机的错误?

程序一样,可是前几天运行测试的时候一直没有出现这样的问题,今天我运行就出现这样的问题,重新启动机器再运行,还是出现同样的问题。

论坛徽章:
0
4 [报告]
发表于 2004-08-16 13:51 |只看该作者

一个关于mysql客户机的错误?

潜心在自己的程序里查找越界行为吧。

论坛徽章:
0
5 [报告]
发表于 2004-08-16 14:41 |只看该作者

一个关于mysql客户机的错误?

多谢FH,问题解决了,的确是我程序本身的问题,我用全局变量conn来连接数据库,前天在断开连接之前加了一条函数调用语句,而调用的函数里面也需要连接数据库,当时没有细想,重复使用了conn变量来连接,然后使用完后在被调用函数中已经断开conn连接了,执行完函数之后又多执行了一次断开数据库工作,而此时数据库连接已经断开了,所以出错了。

论坛徽章:
0
6 [报告]
发表于 2004-08-16 15:01 |只看该作者

一个关于mysql客户机的错误?

恭喜恭喜!好样的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP