zoukankan      html  css  js  c++  java
  • 网元查看一个无厘头的core dump问题定位

    查了好多资料,发明还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧!

        明天收到试测部门提的一个bug,bug的容内如下:

        每日一道理
    爱心是一片照射在冬日的阳光,使贫病交迫的人感到人间的温暖;爱心是一泓出现在沙漠里的泉水,使濒临绝境的人从新看到生活的希望;爱心是一首飘荡在夜空的歌谣,使孤苦无依的人获得心灵的慰藉。

        

    问题象现:
    suse10务服器升级到suse11 SP2后,aaasevice、loginrpc、paycenter三个网元分离生发了一次core dump

    用使dmesg查看:
    [166996.321057] aaaservice[30535]: segfault at 7fc667d285e2 ip 00007fc619b5ca30 sp 00007fc5defda448 error 6 in libthrift-0.8.0.so[7fc619af8000+a7000]
    [175616.589046] loginrpc[30324]: segfault at 7f217e4b4fb8 ip 00007f217e24bfb8 sp 00007f2155cffb58 error 4 in libthrift-0.8.0.so[7f217e210000+a7000]
    [197539.833582] paycenter[30499]: segfault at 7f415b9f3fb8 ip 00007f415b78afb8 sp 00007f41382c9768 error 4 in libthrift-0.8.0.so[7f415b74f000+a7000]

    务服器从suse 10升级到suse 11 sp2后,有三个用使thrift的网元core dump了。

    gdb查看core 文件,可以提供线索的息信如下:
    Try: zypper install -C "debuginfo(build-id)=bddef848141961caba26bc83b17e354010ef4107"
    Missing separate debuginfo for /lib64/libexpat.so.1
    Try: zypper install -C "debuginfo(build-id)=2696e815e28d6ef4fcb614baf8b7802891fd5341"

    warning: .dynamic section for "/usr/local/lib/libthrift-0.8.0.so" is not at the expected address (wrong library or version mismatch?)

    warning: .dynamic section for "/usr/local/lib/libactivemq-cpp.so.14" is not at the expected address (wrong library or version mismatch?)

    warning: .dynamic section for "/usr/local/lib/libapr-1.so.0" is not at the expected address (wrong library or version mismatch?)

    warning: .dynamic section for "/usr/local/lib/libaprutil-1.so.0" is not at the expected address (wrong library or version mismatch?)

    Program terminated with signal 11, Segmentation fault.
    #0  0x00007f217e24bfb8 in ?? ()
    (gdb) where
    #0  0x00007f217e24bfb8 in ?? ()
    #1  0x00007f217e276229 in ?? ()
    #2  0x00007f215001cf40 in ?? ()
    #3  0x0000000000000000 in ?? ()
    (gdb) 

    查看系统core dump的志日:
    Apr 24 03:12:57 linux-h9nh kernel: [175616.589046] loginrpc[30324]: segfault at 7f217e4b4fb8 ip 00007f217e24bfb8 sp 00007f2155cffb58 error 4 in libthrift-0.8.0.so[7f217e210000+a7000]

    示提都和thrift的动态库有系关,较比试测境环和开发境环的动态库,动态库的版本都是分歧的,开发境环运行的网元都没有任何问题,没有失掉任何的线索。

    续继分析core dump的时光点,发明都是在4月24号生发的core dump。

    在没有任何息信的可能下,只能查看近最几天试测职员的作操,用使history令命查看历史记录,还好bash的history记录了作操的时光,然后看history里对thrift的作操,查看的息信如下:
    linux-h9nh:/usr/webtvinstall/jkh/THRIFT_INSTALL # history | grep thrift
      738  2013-04-23 09:45:13 ./thrift_install.sh
      804  2013-04-23 09:48:38 tar xvf rpm_for_activemq_and_thrift.tar.gz
      806  2013-04-23 09:48:44 cd rpm_for_activemq_and_thrift
      852  2013-04-24 06:57:37 nm /usr/local/lib/libthrift-0.8.0.so
      883  2013-04-24 03:25:43 ls -ltr *thrift*
      894  2013-04-24 05:15:48 ls -l|grep thrift
      925  2013-04-24 05:26:10 vi thrift_install.sh 

    发明试测职员在4月23号的17:45分重装了thrift。core dump都生发在重装以后,问题和重装有关?

    于是通过志日查看三个网元的动启和core dump时光:
    -rw-r--r-- 1 hitv hitv    3086 Apr 23 08:02 /var/log/hitv/aaaservice[13-04-23:08:03:39]
    -rw-r--r-- 1 hitv hitv   45289 Apr 24 00:49 /var/log/hitv/aaaservice[13-04-24:00:49:20]

    -rw-r--r-- 1 hitv hitv   1856 Apr 23 08:02 /var/log/hitv/loginrpc[13-04-23:08:03:40]
    -rw-r--r-- 1 hitv hitv   2752 Apr 23 08:15 /var/log/hitv/loginrpc[13-04-24:03:13:05]

    -rw-r--r-- 1 hitv hitv    7115 Apr 23 08:02 /var/log/hitv/paycenter[13-04-23:08:03:40]
    -rw-r--r-- 1 hitv hitv 3365295 Apr 24 09:18 /var/log/hitv/paycenter[13-04-24:09:18:40]

    发明一个独特的点特,网元都是在重装库之前动启的,core dump都生发在重装库以后,我们的网元都是务服的进程,只有接收到消息后才停止理处,根据以往的教训,换库后如果不重启网元,网元接收消息理处时会从新加载动态库,这个时候就会生发core dump。

    到此,发明问题的原因,费花1.5个小时。





    文章结束给大家分享下程序员的一些笑话语录: 与女友分手两月有余,精神萎靡,面带菜色。家人介绍一女孩,昨日与其相亲。女孩果然漂亮,一向吝啬的我决定破例请她吃晚饭。
    选了一个蛮贵的西餐厅,点了比较贵的菜。女孩眉开眼笑,与我谈得很投机。聊着聊着,她说:“我给你讲个笑话吧。”“ok”
      “一只螳螂要给一只雌蝴蝶介绍对象,见面时发现对方是只雄蜘蛛。见面后螳螂问蝴蝶‘如何?’,‘他长的太难看了’,‘别看人家长的丑,人家还有网站呢’。”
      “呵呵………”我笑。忽然她问:“你有网站吗?”  

  • 相关阅读:
    C# 编译机器码过程原理之再谈反射
    百度Echarts中国地图经纬度
    网页客服思路以及QQ截图粘贴到聊天框功能
    Linux查看CPU和内存使用情况
    Java 打包方式
    电商系统 常用代码 MyBatis-Plus
    Java cnpm install 没有反应
    Java 项目无法运行 解决
    电商系统 常用代码 VUE
    电商系统 常用代码段 Element-ui
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3043234.html
Copyright © 2011-2022 走看看