Skip to content

[BUG] 扫码登录后被其它终端踢下线,约 2 分钟后 QQNT SIGABRT 崩溃(macOS) #669

Description

@nanami7777777

💻 操作系统

macOS (Apple Silicon, arm64)

📱 QQNT 版本

6.9.95-48517

📦 QCE 版本

6.2.8(NapCat v4.18.19,官方完整包 NapCat-QCE-macOS-arm64)

📥 安装方式

官方发布包(Shell 完整包),运行 ./launcher-user.sh

🤔 发生了什么?

扫码登录成功、实时数据正常(拉取到 180 条消息 + 34 个资源)后,账号在另一台终端被登录。NapCat 正确收到了下线通知,但 约 2 分钟后整个进程 SIGABRT 崩溃在 QQNT native 层,而不是干净退出。

崩溃本身在 QQNT/Electron 里,QCE 改不了;但下线之后这 2 分钟的悬停窗口 + 崩溃退出码,让外部守护(Docker/supervisor/systemd)很难判断该不该重启。

🔄 复现步骤

  1. ./launcher-user.sh 启动并扫码登录
  2. 确认实时数据可用(例如 /api/system/status 返回 "online": true
  3. 在另一台设备(或桌面版 QQ)登录同一账号
  4. 观察日志:先出现 [KickedOffLine],约 2 分钟后 SIGABRT

✨ 期望结果

下线是不可避免的外部事件,希望处理得更明确:

  • [KickedOffLine] 之后给出明确的操作指引(例如「请在其它终端退出后重新运行 launcher」),而不是只打一行通知;
  • 进程以非零退出码主动退出,便于守护进程识别并重启;如果能提供可选的自动重登(重新出二维码)更好;
  • 若退出必须由 QQNT 完成,也尽量缩短从下线到退出的间隔,或至少在下线时就把 bridge(40654)和 qce-server(40653)主动关掉——目前这两个端口在下线后仍然监听,Web 界面会继续返回陈旧数据而不是报错。

📋 错误日志

08-29 22:29:55 [info] [qce-server]  INFO [BatchMessageFetcher] 策略执行完成, 获取180条消息
08-29 22:29:56 [info] [qce-server]  INFO [ApiServer] 处理了 34 个消息的资源(attempted=34, downloaded=34, failed=0)
08-29 22:30:36 [error] [KickedOffLine] [下线通知] 您的账号已在另一台终端登录。如非本人操作,则密码可能已泄露,建议前往https://accounts.qq.com/find/password修改密码或紧急冻结账号。
08-29 22:30:37 [info] 账号状态变更为离线
[0829/223037.004492:INFO:guild_ipc_core.cc(481)] Cannot issue Interface method calls on an unbound Remote.
2026-08-29 22:32:28.876 QQ[49304:720633] [Bugly] Fatal signal(6) raised.
2026-08-29 22:32:28.883 QQ[49304:720633] [Bugly]  Trapped fatal signal 'SIGABRT(6)'
(
    "0  libsystem_kernel.dylib         0x00000001888c65e8 __pthread_kill + 8",
    "1  libsystem_pthread.dylib        0x00000001889018d8 pthread_kill + 296",
    "2  libsystem_c.dylib              0x0000000188808644 abort + 148",
    "3  QQNT                           0x0000000113986048 uv_sem_wait + 0",
    "4  QQNT                           0x0000000113ae0fc0 _ZN4node6sqlite19UserDefinedFunction8xDestroyEPv + 19756",
    "5  QQNT                           0x0000000113b64ecc PerfTrace + 516144",
    "6  QQNT                           0x0000000113b1fe6c PerfTrace + 233424",
    "7  QQNT                           0x0000000113b1fe9c PerfTrace + 233472",
    "8  QQNT                           0x000000011398cf1c ElectronInitializeICUandStartNode + 6064",
    "9  QQNT                           0x000000011398b734 ElectronMain + 144",
    "10 QQ                             0x0000000104e4e96c 0x0000000104e44000 + 43372",
    "11 dyld                           0x0000000188543e00 start + 6992"
)
2026-08-29 22:32:29.894 QQ[49304:720633] [Bugly] Forward signal(6) to the previous handler: 0x0

崩溃后端口全部释放:40653406546099 均无监听。

📎 日志和截图确认

  • 已确认日志中不含令牌、密码等敏感信息

✅ 检查清单

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions