给pam模块,pam_gnome_keyring的代码里面,出问题的位置加了 raise(SIGSEGV)
tty1登录的时候确实调试触发了崩溃,但是 coredumpctl看不见 记录, dmesg 也看不见 segv。
普通 service服务或者进程却是可以生成 coredump。
哪里的问题?
离线
sudo coredumpctl 看看?
dmesg 当然看不到,因为并没有。
在线
sudo coredumpctl 看看?
dmesg 当然看不到,因为并没有。
肯定有看过了,root账户没有
离线
有没有事因为pam本身是什么特殊的沙盒机制导致无法生成core,
pam模块应该是外挂到各种不同的认证进程上,理论上各自进程core应该能生成
离线
有可能。你检查一下呗。
在线
```
cat /etc/systemd/coredump.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See coredump.conf(5) for details.
[Coredump]
#Storage=external
#Compress=yes
#ProcessSizeMax=2G
#ExternalSizeMax=2G
#JournalSizeMax=767M
#MaxUse=
#KeepFree=
```
离线
检查你 raise 信号的进程是不是 suid 进程啥的。详 man 5 core。
在线
不纠结了,我用gdb attach 了, 而且是写个脚本轮询发现tty1进程重启,就attach。 得需要在进程启动的那一瞬间零点几秒后attach。
至少这样让我挂上了
离线