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
分享到:
相关推荐
在IBM AIX操作系统中,Java应用程序的运行可能会遇到各种问题,这时分析javacore文件就显得尤为重要。javacore文件是IBM Java虚拟机(JVM)在遇到特定情况(如异常、系统崩溃或用户请求)时生成的一种核心转储文件,...
同时,在应用程序目录下发现了由WAS自动生成的`heapdump.phd`文件和`javacore`文件,初步判断是由于内存溢出导致的问题。 - **OutOfMemoryError**:在WAS日志中找到了“OutOfMemoryError”关键字,确认了内存溢出的...
本篇文章将深入探讨AIX系统维护中的各个方面,包括管理CLI、系统监控、命令使用、资源调优以及常见问题的解决方案。 1. **AIX系统日常管理**: - 文件系统检查:使用`df -k`命令可以查看文件系统的使用情况,当...
AIX,全称Advanced ...以上知识点覆盖了AIX系统的日常管理、版本理解、资源监控、问题解决、系统维护等多个方面,为AIX管理员提供了全面的操作指南。通过熟练掌握这些知识,可以有效提升AIX系统的稳定性和效率。
AIX系统作为IBM的一种高性能...熟练掌握这些知识,可以帮助系统管理员有效预防和解决可能出现的问题,确保AIX系统的稳定性和高效性。通过持续学习和实践,系统管理员可以不断提高自己的技能,成为AIX系统维护的专家。
1. **软件包准备**:确保已准备好AIX 2.0的所有安装文件,包括核心模块(Core)、地图文件(Maps)以及额外的mod文件夹下的扩展功能模块等。 2. **硬件检查**:检查服务器硬件是否符合AIX 2.0的最低要求,包括CPU、内存...
在IT领域,AIX(Advanced Interactive eXecutive)是IBM公司开发的一种强大的UNIX操作系统,主要...无论是日常维护还是复杂问题解决,都能游刃有余。在实际工作中,不断实践并积累经验,你将成为一名真正的AIX专家。
- `z`:修改版本号,通常用于修复已知问题的小版本更新,如AIX 4.3.3.1。 - `w`:修复包(Fix Pack)编号,表示安装了特定的补丁集合。 #### 第 3 楼:AIX资源监控与调优工具 AIX提供了丰富的资源监控和调优工具,...
- **系统错误日志检查**: 使用`errpt | more`命令检查系统错误日志,以发现并解决问题。可以通过`errclear 0`命令清除现有的错误日志记录。 - **系统登录检查**: 使用`last`命令检查系统的登录情况,特别是非法登录...
本篇文章将深入探讨在使用AIX过程中可能会遇到的一些常见问题及其解决方案。 一、权限管理问题 在AIX系统中,用户权限管理是至关重要的。当用户无法执行某些操作,如读取、写入或执行文件时,通常是因为权限不足。...
#### 解决“devicebusy”问题 当遇到“devicebusy”错误时,通常需要先卸载或停止使用该设备的任何应用程序,再尝试重新挂载或执行其他操作。 #### AIX5L介绍 AIX5L是IBM的UNIX操作系统AIX的一个重要版本,它引入...
注意,在整个安装过程中,管理员必须具备AIX系统管理能力、对Oracle数据库有一定了解,并能够根据实际情况进行适当的故障排查和问题解决。此外,出于安全和性能考虑,Oracle安装完成后,还应该进行相应的安全配置和...
10. **故障诊断**:学习使用诊断工具如errpt、sysdiag、strdump等进行问题定位和解决。 通过深入理解和实践这些知识点,考生不仅能应对AIX认证考试,还能在实际工作中更好地管理和维护AIX系统。因此,这个"AIX认证...
2. **错误日志查看**:使用 `errpt | more` 命令查看系统错误日志,以便及时发现并解决问题。 3. **系统登录记录检查**:使用 `last` 命令查看最近的登录记录,确保没有未经授权的访问行为。 4. **核心转储文件检查*...
dbx是AIX操作系统下一款强大的调试工具,适用于C/C++语言编写的程序。它允许用户在运行时控制程序流程,查看和修改变量值,设置断点,跟踪调用栈等。对于初学者而言,掌握dbx的基本使用技巧,能够极大提升程序调试...
《AIX故障定位手册》是针对IBM小型机用户和维护人员的重要参考资料,旨在提供系统性的故障排查策略和方法,帮助用户高效地解决AIX操作系统中出现的问题。AIX(Advanced Interactive eXecutive)是IBM开发的一种强大...
AIX管理经验主要涵盖系统监控、资源...在AIX系统管理中,熟练掌握这些知识点可以帮助管理员有效地监控系统健康,预防和解决各种问题,提高系统的可用性和安全性。同时,持续学习和积累经验是提升AIX管理能力的关键。
- **Diag**:AIX提供的一套诊断工具,用于检测硬件和软件问题。 - **AIX版本更新**:定期检查AIX版本更新,确保系统拥有最新的补丁和安全修复。 ### 性能优化与故障排除 - **资源监控**:通过`iostat`、`netpmon`...
### AIX 5.3 HACMP RAC 安装与配置详解 #### 概述 本文档将详细介绍如何在AIX 5.3环境下安装和配置HACMP(High Availability ...对于实际操作中可能遇到的具体问题,还需要参考官方文档进行更详细的了解和解决。
《AIX维护手册》是一本全面介绍AIX操作系统管理和维护的指南,包含了安全设置、常用...通过上述知识点的学习和实践,运维人员可以更有效地管理和维护AIX系统,预防并解决可能出现的问题,保障系统的稳定性和安全性。