暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

生产应用调用chrome进程崩溃分析

zayki 2024-11-01
137

生产某个应用再处理图片抓图流程时,需要调用chrome应用执行相关操作,迁移到新环境之后总是提示流程处理失败,下面记录并分享下分析的过程。

查看message日志 [~]# dmesg -T |tail -200 [Fri Nov 1 09:10:16 2024] RPC: Registered tcp NFSv4.1 backchannel transport module. [Fri Nov 1 09:10:17 2024] VFS: Open an exclusive opened block device for write vda1. current [1725 resize2fs]. parent [1204 cloud-init] [Fri Nov 1 09:10:27 2024] kexec: kexec_load: secureboot mode unknown, no efi [Fri Nov 1 09:11:57 2024] traps: ThreadPoolForeg[5385] trap int3 ip:55ebef7b4c04 sp:7f6242cc83d0 error:0 in chrome[55ebec8ef000+7bf3000]

发现应用chrome进程存在int3中断。

使用strace命令再次运行了一遍应用的处理流程,得到如下信息:

[~]# strace -f -tt -T -s10000 -o result.txt + 应用处理命令及参数 572561 08:37:29.401447 <... read resumed>"Name:\tchrome\nUmask:\t0022\nState:\tR (running)\nTgid:\t572561\nNgid:\t0\nPid:\t572561\nPPid:\t572553\nTracerPid:\t572539\nUid:\t1000\t1000\t1000\t1000\nGid:\t1000\t1000\t1000\t1000\nFDSize:\t64\nGroups:\t1000 \nNStgid:\t572561\nNSpid:\t572561\nNSpgid:\t572553\nNSsid:\t572553\nVmPeak:\t 269460 kB\nVmSize:\t 269460 kB\nVmLck:\t 0 kB\nVmPin:\t 0 kB\nVmHWM:\t 42980 kB\nVmRSS:\t 42980 kB\nRssAnon:\t 9624 kB\nRssFile:\t 33356 kB\nRssShmem:\t 0 kB\nVmData:\t 5632 kB\nVmStk:\t 132 kB\nVmExe:\t 126924 kB\nVmLib:\t 26384 kB\nVmPTE:\t 352 kB\nVmSwap:\t 0 kB\nHugetlbPages:\t 0 kB\nCoreDumping:\t0\nTHP_enabled:\t1\nThreads:\t1\nSigQ:\t0/61845\nSigPnd:\t0000000000000000\nShdPnd:\t0000000000000000\nSigBlk:\t0000000000000000\nSigIgn:\t0000000000001000\nSigCgt:\t0000000000000000\nCapInh:\t0000000000000000\nCapPrm:\t0000000000000000\nCapEff:\t0000000000000000\nCapBnd:\t000001ffffffffff\nCapAmb:\t0000000000000000\nNoNewPrivs:\t1\nSeccomp:\t0\nSeccomp_filters:\t0\nSpeculation_Store_Bypass:\tvulnerable\nCpus_allowed:\tf\nCpus_allowed_list:\t0-3\nMems_allowed:\t00000000,00000000,0000", 1024) = 1024 <0.000018>

此处可以看到chrome进程产生了coredump

再次确认coredump

[~]# coredumpctl list -r TIME PID UID GID SIG COREFILE EXE SIZE Fri 2024-11-01 09:11:58 CST 5233 1000 1000 SIGTRAP present /opt/google/chrome/chrome 32.8M

查看chrome版本

[~]# /opt/google/chrome/google-chrome --version Google Chrome 85.0.4183.102

因为是直接迁移过来的,怀疑缺少依赖,旧版本的chrome很难找到rpm安装,于是从goole官网下载新版安装拖到主机上安装

[~]# yum install google-chrome-stable-130.0.6723.91-1.x86_64.rpm Last metadata expiration check: 0:15:17 ago on Fri Nov 1 09:10:22 2024. Dependencies resolved. ============================================================================================================================================================= Package Architecture Version Repository Size ============================================================================================================================================================= Installing: google-chrome-stable x86_64 130.0.6723.91-1 @commandline 108 M Installing dependencies: desktop-file-utils x86_64 0.26-2.hce2 base 60 k emacs-filesystem noarch 1:27.2-3.r8.hce2 updates 5.2 k liberation-fonts noarch 1:2.00.5-4.hce2 base 1.5 M llvm-libs x86_64 12.0.1-2.r1.hce2 updates 23 M mesa-vulkan-drivers x86_64 21.3.1-1.hce2 base 5.8 M nspr x86_64 4.32.0-1.r6.hce2 updates 140 k nss x86_64 3.72.0-2.r4.hce2 updates 648 k nss-softokn x86_64 3.72.0-2.r4.hce2 updates 684 k nss-util x86_64 3.72.0-2.r4.hce2 updates 464 k vulkan-loader x86_64 1.1.92.0-2.hce2 base 106 k xdg-utils noarch 1.1.3-5.hce2 base 57 k Transaction Summary ============================================================================================================================================================= Install 12 Packages Total size: 140 M Total download size: 32 M Installed size: 475 M Is this ok [y/N]: y

安装最新版本的chrome再将/opt/google/chrome替换为老版本,再次运行应用恢复正常。

只是大概记录下用到的命令和分析过程,供参考!

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论