Skip to content

Conversation

@waterlovemelon
Copy link
Contributor

窗管崩溃没有走systemd的注销流程,systemd的session信息错误,导致Accounts服务的已登录用户信息错误,走checkAccount方法的时候任务当前用户已登录直接跳过了。 临时解决方案:用DisplayManager的session信息过滤一下

Log:
Bug: https://pms.uniontech.com/bug-view-283393.html Influence: kwin崩溃的场景
Change-Id: Ie573c4f1ad336ffc2be33f421efdc89ea84f6723 (cherry picked from commit b7539ff991d7f1c46f07a653e8340201dc665a5c) (cherry picked from commit 4f92bbd42aebd9020b018b9722c94a656be6eeba)

窗管崩溃没有走systemd的注销流程,systemd的session信息错误,导致Accounts服务的已登录用户信息错误,走checkAccount方法的时候任务当前用户已登录直接跳过了。
临时解决方案:用DisplayManager的session信息过滤一下

Log:
Bug: https://pms.uniontech.com/bug-view-283393.html
Influence: kwin崩溃的场景
Change-Id: Ie573c4f1ad336ffc2be33f421efdc89ea84f6723
(cherry picked from commit b7539ff991d7f1c46f07a653e8340201dc665a5c)
(cherry picked from commit 4f92bbd42aebd9020b018b9722c94a656be6eeba)
deepin-ci-robot added a commit to linuxdeepin/dde-session-shell-snipe that referenced this pull request Jul 17, 2025
Synchronize source files from linuxdeepin/dde-session-shell.

Source-pull-request: linuxdeepin/dde-session-shell#29
@deepin-ci-robot
Copy link

deepin pr auto review

关键摘要:

  • updateLoginedUserList函数中,loggedUserNameList变量被定义为QStringList类型,但在后续代码中,它被当作QList<QString>类型使用,可能会导致类型不匹配的问题。
  • m_loginedUsers->keys()返回的是一个QStringList,但在后续代码中,它被转换为了QList<QString>类型,这可能会导致性能问题,因为keys()方法返回的是一个QStringList,可以直接使用。
  • updateLoginedUserList函数中,addUser函数被调用时,没有检查m_users是否包含path,可能会导致m_users->value(path)返回nullptr,从而引发空指针异常。
  • updateLoginedUserList函数中,m_loginedUsers->insert(path, user);user->updateLoginState(true);这两行代码被包裹在一个条件判断中,如果user->name().isEmpty()true,则不会执行这两行代码。这可能不是预期的行为,应该检查是否正确处理了这种情况。
  • updateLoginedUserList函数中,loggedUserNameList变量在循环结束后被打印出来,但没有在函数开始时打印,这可能会使调试更加困难。

是否建议立即修改:

@deepin-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: waterlovemelon, yixinshark

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@waterlovemelon
Copy link
Contributor Author

/forcemerge

@deepin-bot deepin-bot bot merged commit 86a050b into linuxdeepin:master Jul 17, 2025
15 checks passed
@waterlovemelon waterlovemelon deleted the sync-gerrit branch July 17, 2025 06:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants