各位开发者好,我这边在使用 Surge Mac VM Gateway 作为企业网关时,遇到一次 macOS 异常重启。
从 panic log 看,不是普通 App crash,也不像内存不足或电源断电,而是发生了 kernel panic,panic 点位于 macOS 网络栈的 mbuf 处理逻辑。
希望开发者能帮忙判断:
这是否可能与 Surge VM Gateway / Network Extension / 虚拟网卡 / bridge / utun / 高并发网络转发路径有关。
- 使用环境
设备:
Mac model: Mac Mini M4 16+256
macOS: macOS 26.4 (25E246)
Kernel: Darwin Kernel Version 25.4.0
Architecture: Apple Silicon / ARM64
Surge:
Surge version: V6.5.0(10960)
Mode: Surge Mac VM Gateway
QUIC全局:屏蔽ALL
网络角色:
这台 Mac 作为公司网络网关使用
Surge VM Gateway 开启
客户端通过这台 Mac 出口访问网络
实际使用中存在较多并发连接和持续转发流量
补充说明:
场景不是单机普通代理使用,而是网关模式。
局域网内有多台客户端经过这台 Mac 转发。
业务流量包含大量浏览器访问、广告平台访问、长连接、短连接以及多客户端并发。
- 异常现象
机器在运行过程中发生异常关机/自动重启。
重启后系统生成 panic log,bug_type 为:
bug_type: 210
panic 时间:
2026-04-26 19:36:12 +0800
不是用户手动关机,也不是普通应用崩溃。
- 关键 panic 信息
panic log 中最关键的一行是:
panic(cpu 1 caller 0xfffffe0045bd0d50): m_copym_with_hdrs n 0xfffffe2ae98f2e00 copy overflow @uipc_mbuf.c:3268
完整摘要:
panicString:
panic(cpu 1 caller 0xfffffe0045bd0d50):
m_copym_with_hdrs n 0xfffffe2ae98f2e00 copy overflow @uipc_mbuf.c:3268
Debugger message: panic
OS version: 25E246
Kernel version: Darwin Kernel Version 25.4.0
Panicked task: kernel_task
Panicked thread: tid 2074
从字面看,panic 发生在 macOS 内核网络栈 mbuf copy 相关路径里。
- panic 时的任务和线程
panic log 显示:
Panicked task:
pid 0: kernel_task
Panicked thread:
tid: 2074
name: thread call high #11
这说明不是某个用户态应用直接 crash,而是内核态崩溃。
- 网络相关线程/接口线索
panic log 里出现了大量网络相关线程/接口,比较值得关注的包括:
skywalk_fsw_reap_en0
skywalk_netif_poller_en0
dlil_input_en0
ifnet_start_en0
IOUserNetworkTxSubmissionQueue
IOSkywalkNetworkBSDClient
dlil_input_utun0
ifnet_start_utun0
dlil_input_utun4
ifnet_start_utun4
vmenet0
bridge100
AppleEthernetAquantiaAqtion113
其中我特别注意到:
AppleEthernetAquantiaAqtion113
skywalk_netif_poller_en0
skywalk_fsw_reap_en0
dlil_input_utun*
vmenet0
bridge100
因为 Surge VM Gateway 场景下会涉及虚拟网络、bridge、utun、Network Extension 以及大量网络包转发。
这次 panic 点又是 uipc_mbuf.c 的 m_copym_with_hdrs copy overflow,所以怀疑可能是在高并发转发过程中触发了 macOS 网络栈或 Surge VM Gateway 相关路径的边界问题。
- 内存状态
panic log 中 memory pressure 显示为:
memoryPressure: false
也就是当时并不是明显的内存压力导致系统崩溃。
- 当前怀疑方向
目前我不确定这是:
macOS 26.4 自身网络栈 bug;
Surge VM Gateway 在特定流量路径下触发了 macOS 网络栈 bug;
Network Extension / utun / vmenet / bridge 组合下的问题;
AppleEthernetAquantiaAqtion113 网卡驱动参与触发;
高并发、多客户端转发时 mbuf/packet copy 路径被触发异常。
但从日志看,问题明显集中在 kernel network stack / mbuf / skywalk / utun / bridge / en0 这一类路径上。
- 使用场景细节
这台 Mac 不是普通桌面代理使用,而是作为公司网关:
- Surge Mac VM Gateway enabled
- 多台局域网客户端通过该 Mac 出口
- 大量 TCP/HTTPS 连接
- 代理链路中存在远程 proxy nodes
- Surge 内部有策略组 / 负载均衡 / 链式代理配置
我这边的实际业务中,并发连接数可能较高。
在其他服务器侧观察过,类似业务高峰时可能达到上万级连接数。Mac 网关侧具体瞬时连接数这次没有采集到。
- 希望开发者确认的问题
想请开发者帮忙看下:
Surge VM Gateway 在 macOS 26.4 上是否有已知的 kernel panic / mbuf / skywalk / utun 相关问题?
m_copym_with_hdrs copy overflow @uipc_mbuf.c:3268 是否可能由 Surge VM Gateway 的流量处理路径间接触发?
在高并发网关场景下,Surge 是否会对 packet size、fragment、offload、bridge、utun 或 vmenet 做特殊处理?
如果使用 AppleEthernetAquantiaAqtion113 网卡,是否有已知兼容性问题?
我可以继续提供:
- 完整 panic log
- Surge 配置文件,已脱敏
- Surge 诊断日志
- macOS sysdiagnose
- ifconfig 输出
- netstat / route 输出
- 当前网卡信息
- VM Gateway 配置截图
如果开发者需要,我也可以按指定方式复现和采集日志。
关键日志摘录
bug_type: 210
timestamp: 2026-04-26 19:36:12 +0800
os_version: macOS 26.4 (25E246)
product: Mac16,10
kernel: Darwin Kernel Version 25.4.0
panicString:
panic(cpu 1 caller 0xfffffe0045bd0d50):
m_copym_with_hdrs n 0xfffffe2ae98f2e00 copy overflow @uipc_mbuf.c:3268
Panicked task:
pid 0: kernel_task
Relevant network-related entries observed in panic log:
skywalk_fsw_reap_en0
skywalk_netif_poller_en0
dlil_input_en0
ifnet_start_en0
IOUserNetworkTxSubmissionQueue
IOSkywalkNetworkBSDClient
dlil_input_utun0
ifnet_start_utun0
dlil_input_utun4
ifnet_start_utun4
AppleEthernetAquantiaAqtion113
我的判断
这个问题看起来不像普通配置错误,也不像某个 App 层面的 crash。
它更像是 Surge VM Gateway 高并发转发场景下,触发了 macOS 内核网络栈的 panic。
我理解 Surge 本身可能并不能直接导致 kernel panic,但 VM Gateway / Network Extension / utun / bridge / vmenet / en0 这一整条路径可能会触发 macOS 的网络栈 bug。
希望开发者能帮忙判断 Surge 侧是否有可能规避,或者是否建议向 Apple 提交 sysdiagnose。