abrt-hook-ccpp: Process 23003 (mongod) of user 0 killed by SIGABRT - dumping core
Jun 10 08:46:27 localhost abrt-hook-ccpp: Failed to create core_backtrace: waitpid failed: No child processes
Jun 10 08:46:27 localhost systemd-logind: Removed session 19.
Jun 10 08:46:27 localhost abrtd: Size of '/var/spool/abrt' >= 1000 MB (MaxCrashReportsSize), deleting old directory 'ccpp-2021-06-09-18:30:32-20758'
Jun 10 08:46:42 localhost avahi-daemon[1075]: Server startup complete. Host name is linux-2878.local. Local service cookie is 3118644900.
Jun 10 09:33:42 localhost avahi-daemon[1075]: Registering HINFO record with values 'X86_64'/'LINUX'.
Jun 10 09:33:43 localhost abrt-hook-ccpp: Process 20763 (mongod) of user 0 killed by SIGABRT - dumping core
Jun 10 09:33:44 localhost abrt-hook-ccpp: Failed to create core_backtrace: waitpid failed: No child processes
从您提供的日志信息来看,
abrt-hook-ccpp
(Application Bug Report Tool 的 C/C++ 钩子)已经捕获到mongod
(MongoDB 数据库服务)进程因为接收到SIGABRT
信号而被终止,并且尝试生成核心转储(core dump)文件以进行错误分析。然而,在尝试创建核心转储的过程中,出现了“Failed to create core_backtrace: waitpid failed: No child processes”的错误,这意味着在尝试获取子进程信息时,没有找到相关的子进程。此外,日志还显示
abrtd
(ABRT Daemon)因为/var/spool/abrt
目录的大小超过了设定的最大崩溃报告大小(MaxCrashReportsSize,这里是1000 MB),所以删除了旧的崩溃报告目录ccpp-2021-06-09-18:30:32-20758
。以下是一些可能的解决步骤和考虑因素:
检查 MongoDB 日志:
查看 MongoDB 的日志文件,通常位于
/var/log/mongodb/
或类似位置,以获取更多关于为什么mongod
进程会接收到SIGABRT
信号的信息。核心转储文件:
尽管
abrt-hook-ccpp
报告了创建核心转储失败,但您仍然应该检查/var/spool/abrt/
或其他配置的目录,看看是否有核心转储文件生成。如果有核心转储文件,您可以使用
gdb
(GNU Debugger)或其他工具来分析它。ABRT 配置:
检查 ABRT 的配置文件(通常位于
/etc/abrt/abrt.conf
),确保核心转储和崩溃报告的设置符合您的需求。如果您不需要保存所有崩溃报告,可以考虑增加
MaxCrashReportsSize
的值或调整其他相关设置。系统资源:
检查系统的磁盘空间、内存和 CPU 使用情况,确保系统没有因为资源耗尽而出现问题。
MongoDB 配置:
检查 MongoDB 的配置文件(通常位于
/etc/mongod.conf
),确保配置正确无误。如果最近更改了配置,请考虑回滚到之前的配置以查看问题是否仍然存在。
系统更新和补丁:
确保您的系统和所有相关软件包都已更新到最新版本,包括 MongoDB 和 ABRT。
重启服务:
如果问题持续存在,尝试重启 MongoDB 服务,看看问题是否得到解决。
查看系统日志:
使用
journalctl
或其他日志查看工具来检查系统日志,看看是否有与 MongoDB 或 ABRT 相关的其他错误或警告信息。通过这些步骤,您应该能够更深入地了解为什么
mongod
进程会被终止,并找到解决问题的方法。如果问题仍然无法解决,您可能需要考虑联系 MongoDB 的支持团队或寻求更专业的帮助。