127 Star 0 Fork 25

src-openEuler / gdm

 / 详情

【20.03-SP1】重启gdm服务,messages里面出现报错信息

已验收
缺陷
创建于  
2020-12-11 09:59

【环境信息】
系统:arm及x86
源:everything
【问题复现步骤】
重启gdm服务
【预期结果】
重启后,messages没有此报错信息
【实际结果】
重启后,查询/var/log/messages时出现报错信息
输入图片说明

评论 (4)

street_dust 创建了缺陷
street_dust 关联仓库设置为src-openEuler/gdm
展开全部操作日志

Hey street_dust, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.

street_dust 负责人设置为small_leek
street_dust 关联分支设置为openEuler-20.03-LTS-SP1
street_dust 计划截止日期设置为2020-12-12
street_dust 计划开始日期设置为2020-12-11
street_dust 计划截止日期2020-12-12 修改为2020-12-13
street_dust 置顶等级设置为
street_dust 优先级设置为严重
Charlie_Li 优先级严重 修改为次要

该问题在最新版本已无法复现。但是在kill -9 [gdm主进程] 之后,日志报错和当前报错一致,且gdm无法登录,即使重启gdm服务也没有办法恢复。
所以,经对齐目前问题变成解决kill 进程后gdm无法恢复的问题。

针对kill掉gdm主进程之后gdm登录界面无法恢复的问题,调查原因如下:

当启动gdm服务的时候,gdm会自动拉起一个session-c*.scope,该scope负责调用gdm-session-worker替gdm创建相应的子进程,供用户使用。正常使用systemctl去关闭或重启gdm服务,这个session-c*.scope会正常跟着gdm关闭或重启,但是使用kill的方式,session-c*.scope感知不到gdm的退出,其父进程直接变成了systemd,但此时其原先的gdm父进程确实已经退出,所以会导致用户无法进入登录界面的情况。

解决方法:
在gdm的service文件里新增ExecPreStart,在启动gdm之前删除旧的session-c*.scope.

sigui 通过src-openeuler/gdm Pull Request !20任务状态待办的 修改为已完成
sigui 置顶等级 修改为不置顶
street_dust 任务状态已完成 修改为已验收

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5329419 openeuler ci bot 1632792936
1
https://gitee.com/src-openeuler/gdm.git
git@gitee.com:src-openeuler/gdm.git
src-openeuler
gdm
gdm

搜索帮助