Chinaunix

标题: 一个关于mysql客户机的错误? [打印本页]

作者: zhonzn    时间: 2004-08-16 10:22
标题: 一个关于mysql客户机的错误?
我最近写了一个访问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?

如果哪位朋友遇到过这样的情况,请多指教。
作者: FH    时间: 2004-08-16 11:03
标题: 一个关于mysql客户机的错误?
很可能是你的数据越界,导致库函数的变量内容混乱造成的。
作者: zhonzn    时间: 2004-08-16 11:30
标题: 一个关于mysql客户机的错误?
程序一样,可是前几天运行测试的时候一直没有出现这样的问题,今天我运行就出现这样的问题,重新启动机器再运行,还是出现同样的问题。
作者: FH    时间: 2004-08-16 13:51
标题: 一个关于mysql客户机的错误?
潜心在自己的程序里查找越界行为吧。
作者: zhonzn    时间: 2004-08-16 14:41
标题: 一个关于mysql客户机的错误?
多谢FH,问题解决了,的确是我程序本身的问题,我用全局变量conn来连接数据库,前天在断开连接之前加了一条函数调用语句,而调用的函数里面也需要连接数据库,当时没有细想,重复使用了conn变量来连接,然后使用完后在被调用函数中已经断开conn连接了,执行完函数之后又多执行了一次断开数据库工作,而此时数据库连接已经断开了,所以出错了。
作者: FH    时间: 2004-08-16 15:01
标题: 一个关于mysql客户机的错误?
恭喜恭喜!好样的!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2