Skip to content

[问题报告 BUG] 2.1.0 内核每约 180 秒完整重启("Start initial configuration"),所有经过 VPN 的连接被周期性断开 #164

Description

@heechSZ

环境信息

项目 环境
应用版本 ClashBox 2.1.0
内核版本 Mihomo-release-v1.19.30
设备 HUAWEI MateBook Fold(HarmonyOS PC 版)
网络 中国电信 5G

问题说明

开启 VPN 后,内核每隔约 180 秒(以隧道建立时刻为锚点)进行一次完整冷启动。每次重启会杀掉当前所有经过 VPN 的连接:DIRECT 与节点转发的 TCP/UDP 全部中断,甚至包
括到本机 7890/9090 端口的局域网连接。浏览器、Zoom、IM 等所有依赖长连接的应用每 3 分钟断连重连一次。前台亮屏正常使用时 100% 复现。

关键证据(已多方交叉验证)

  1. 通过外部控制 API(9090)的 /logs 流,每 ~180 秒出现一次完整的内核启动横幅:
    Start initial configuration in progress → Initial configuration complete → RESTful API listening at: [::]:9090 → Start initial compatible provider ...
  2. 重启时刻与远端服务器记录的客户端重连时刻精确到秒一致(服务器 nginx 日志显示客户端长连接每 180.0 秒整重连,持续数小时,锚点随隧道建立时刻移动)。
  3. 重启期间以 0.35 秒间隔轮询 /version,失败次数为 0 —— 说明这是应用内(in-process)的内核重建,应用进程本身未崩溃(应用"VPN运行记录"亦显示会话连续、无异常终止)。
  4. 通过 /connections 观察,重启瞬间连接表从 31 条坍缩到 9 条:DIRECT 链路、节点转发链路、TCP 与 UDP 同时断开。
  5. 与流量内容无关:带有 25 秒心跳的 WebSocket 心跳持续到最后一刻仍被杀掉(非空闲超时)。

复现步骤

  1. 开启 VPN,保持任意长连接(如 WebSocket)。
  2. 打开日志页(或 /logs 接口):每约 3 分钟出现一次 Start initial configuration in progress。
  3. 每次出现的同时,所有经过 VPN 的连接中断并重建。复现概率 100%。

已排除的原因

  • MTU:9000 与 1400 均复现
  • TUN stack:已设为 System,仍复现
  • TCP keep-alive:禁用(disable-keep-alive)后仍复现
  • 订阅自动更新:未开启,订阅文件多日未变
  • 节点问题:所有流量强制 DIRECT 直连出口也复现
  • 系统杀后台:应用进程未退出,开启"后台运行/任务保持"后仍复现
  • 空闲超时:持续有心跳流量的连接同样被杀

相关 issue

#158(HarmonyOS 6 后台或锁屏后断流)—— 疑似同一生命周期管理问题族的另一表现。本例的区别在于:前台亮屏、持续使用时也每 3 分钟必然发生,且周期锚定在隧道建立时刻。

期望结果

内核不应周期性完整重启;或应用不应在无任何用户操作的情况下自动重建内核。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions