C开发手记系列一:
解决aix下的core问题
今天收到了生产运维的紧急QC问题,一个数据抽取接口的tuxedo服务core掉了。
使用dbx命令查看core内容为:
$ dbx custnpa
Type 'help' for help.
warning: The core file is not a fullcore. Some info may
not be available.
[using memory image in core]
reading symbolic information ...
Segmentation fault in pthread_kill at 0x9000000005bd71c
0x9000000005bd71c (pthread_kill+0x88) e8410028 ld r2,0x28(r1)
(dbx) where
pthread_kill(??, ??) at 0x9000000005bd71c
_p_raise(??) at 0x9000000005bd130
skgesigOSCrash(??) at 0x900000000ec16fc
kpeDbgSignalHandler(??, ??) at 0x900000000f2db18
skgesig_sigactionHandler(??, ??, ??) at 0x900000000ec1a84
noname.strlen() at 0x900000000056100
_doprnt(??, ??, ??) at 0x90000000004b43c
sprintf(0xffffffffff1b590, 0x9001000a4a48fd0, 0x32333c2f42697274, 0x74, 0xffffffff80808080, 0x6e743e00, 0x43, 0xfffffffffff3348) at 0x900000000049038
cfc_GetNodeSet(strTag = warning: Unable to access address 0x32333c2f42697274 from core
(invalid char ptr (0x32333c2f42697274)), strXml = warning: Unable to access address 0x68446174653e3c49 from core
(invalid char ptr (0x68446174653e3c49)), stNodeSet = 0x644e6f3e33353032, errstr = warning: Unable to access address 0x3132323030353132 from core
(invalid char ptr (0x3132323030353132))), line 33 in "xxxxxxxx.pc"
(dbx)
初步可以定位到错误程序段。
1,在本地写了个tuxedo client端模拟程序调用服务,服务正常调用,也未core掉,也未见异常。,
2,查看代码也无不正确的操作。
3,因为该数据接口数据量较大,怀疑为内存溢出引起访问的错误。
4,在模拟客户端增加十倍的数据量。错误重现,果然是数据量过大的问题。
5,遂将函数中的几个临时变量调大十倍,再用客户端试了一下,一切正常。
总结:
此问题虽然最终解决方案很简单,但在定位错误的时候走了不少弯路,特别是运维人员未提供有core信息的时候,根本无从下手。
在此,一方面可以看出,在系统生产运营的过程中,运维人员的经验对运维效率起了决定性作用。同时可以看出在生产环境中异构系统的排错异常艰难。
另:如果能熟悉aix core dump 可能会很快定位问题的根本原因。
这篇文章本身可能给不了大家实际帮助,我只是记录下来,供日后工作参考。
有一篇IBM网站上的关于core dump分析的文章,相信会给大家带来帮助。
http://www.ibm.com/developerworks/cn/aix/library/0806_chench_core/index.html
分享到:
相关推荐
AIX 下的 core dump 分析入门.mht,html文档,请大家参考以下
aix常见问题整理,N多Aix的问题及解决方法
解决AIX下识别HDS磁盘阵列多路径问题.pdf
AIX系统软硬件问题征兆及解决办法
AIX常见问题整理,整理AIX下经常会遇到的一些问题
aix下rsync安装包,可用于AIX平台下与linux平台下的数据同步
AIX主机里的javacore的down法
此资源为AIX7.2版本 cd1和cd2,已经上传度盘 aix_7200-04-02-2027_1of2_072020.iso aix_7200-04-02-2027_2of2_072020.iso 通过qemu-system-ppc程序能在X86平台安装运行 此资源为AIX7.1版本 cd1和cd2 AIX_7.1_Base_...
AIX操作系统 常见问题整理 和相关的解决办法
AIX下安装tomcat,详细介绍如何在aix下安装tomcat
从IBM 站点 一个perl 的脚本转过来的。打印内存利用情况。 python 3.0
was6.1+AIX+ORACLE下一次OutOfMemoryError的解决过程,真实环境下一次问题解决的全过程记录,设计范围比较广,希望对相似环境下有相同问题的朋友有些帮助
aix下RAC环境巡检, 查看操作系统(AIX 文件系统是否合理) 查看操作系统是否打齐补丁 等
AIX下自动备份ORACLER的具体操作技巧。欢迎交流ORACLE心得
AIX下的cron使用小结,AIX下的cron使用小结,AIX下的cron使用小结,AIX下的cron使用小结,AIX下的cron使用小结
AIX命令AIX命令AIX命令AIX命令AIX命令AIX命令
AIX下的Weblogic安装及WEBLOGIC的安装、配置和启动
关于AIX下NTP服务器配置方案详解及操作
AIX 下 ORACLE 卸载。
AIX环境下DynaPath多路径软件配置指导