Junakr 发表于 2023-11-19 02:34

macOS 14 Chrome 频繁出现“检测到网络变化 ERR_NETWORK_CHANGED”

本帖最后由 Junakr 于 2023-11-19 10:58 编辑

这个问题困扰了我一个月,基本影响 macOS 上的所有 Chromium 应用进行网络访问。

v2 上都看到好几个帖问过这个事 [^1],不过一直都没有人定位到具体原因。今天终于发现有人提供了一个切实有效的解决方法 [^2],并且很大可能就是 Xcode 的远程设备调试功能导致的问题 [^3][^4]。

考虑到泥潭搜索权重也挺高的,干脆也在这里记录一下,帮助下可能有同样困扰的朋友们(没错,我说的是所有果子设备都升级到了最新系统、并且使用最新 Xcode 进行 iOS 开发、连接了移动设备并信任过 Mac 建立起设备匹配的受害者们)。

针对造成这个问题原因的相关讨论有兴趣可以顺着脚注去原链接,我在这里就简单描述下解决方法:

- 打开 Xcode 的 Devices and Simulators 窗口。
- 把 Devices 下所有设备的“Connect via network”选项关掉。
      - 如果你发现这个选项是默认勾选并且是灰色不可点的状态,哈!这又是 Xcode 15 的一个问题 [^5],我的建议是直接删除设备匹配,等问题修复前不再信任 Mac 进行匹配。

如果你在关闭 Xcode 远程调试后继续遇到这个问题(或者根本没用过 Xcode),这里还有几个可能有用的备用解决方法:

- 关掉 Home.app,因为 HomeKit 也有类似 Xcode 自动连接远程设备的行为。
- 停用来自 iPhone 的小组件,因为很可能小组件也用了类似的远程设备同步机制。
- 如果曾经用 Safari 远程调试过 iPhone / iPad 的网页,尝试关掉对应设备的“通过网络连接”选项(如果已经通过 Xcode 删除了设备匹配,Safari 下的远程设备也会同步清除)。

再提一嘴和这个问题无关的一些东西:

- IPv6 背了许多锅,这次真的和它没有关系。
- 和手动添加的 DNS 也无关,还有代理工具会怎么影响网络,自己清楚就不说了。
- iTunes 的 Wi-Fi 同步设备也不会造成影响,还有 Safari 的远程浏览器调试也没发现问题(Safari 的远程调试也需要信任 Mac,设备会自动加入 Xcode 的配对设备列表,这个最好也不要用了),这些远程设备连接还是可以开的。

最后对这个问题只能说,只要 macOS 频繁重建 utun 接口的行为不停止,或者 Chromium 还是如此激进的检测网络变化,这个问题就没有办法彻底解决,考虑到 Chromium 应用的泛滥程度和版本维护难度,还是希望果子尽快动一动吧……

[^1]: https://v2ex.com/t/986410
[^2]: https://v2ex.com/t/993098
[^3]: https://twitter.com/blankwonder/status/1725346373397250555
[^4]: https://bugs.chromium.org/p/chromium/issues/detail?id=1498910
[^5]: https://developer.apple.com/forums/thread/737875

那由 发表于 2023-11-19 09:37

上个月换新笔记本之后arc就疯狂出这个问题,但是我没有装xcode,结果换手机热点就好了

Junakr 发表于 2023-11-19 09:58

那由 发表于 2023-11-19 09:37
上个月换新笔记本之后arc就疯狂出这个问题,但是我没有装xcode,结果换手机热点就好了 ...

局域网中有 HomeKit 设备或 HomePod 吗?这个问题最先报告给 Chromium 就是检测到了 HomeKit 频繁重建 utun,连手机热点让 Mac 和远程设备不在同一个 LAN 也就不存在问题了。

那由 发表于 2023-11-19 10:12

本帖最后由 那由 于 2023-11-19 10:13 编辑

Junakr 发表于 2023-11-19 09:58
局域网中有 HomeKit 设备或 HomePod 吗?这个问题最先报告给 Chromium 就是检测到了 HomeKit 频繁重建 ut ...
也没有,出问题的是公司用的小局域网很干净,然后莫名其妙炸了两天之后最近又发现没问题了,很奇怪
猜测可能c-verge开了tun模式也有可能有影响吧

Junakr 发表于 2023-11-19 10:33

那由 发表于 2023-11-19 10:12
也没有,出问题的是公司用的小局域网很干净,然后莫名其妙炸了两天之后最近又发现没问题了,很奇怪
猜测可 ...

也有可能是启用过 Safari 的远程设备调试?主楼之前忽略了一点就是 Mac 的 Safari 连接 iPhone / iPad 进行网页调试时也需要信任设备建立匹配,而且也会强制自动启用通过网络连接。
小猫咪之类的工具不频繁重启也不会让 Chromium 如此抽风,基本可以排除工具问题。
最麻烦的是这个问题并不太稳定复现,经常用了一段时间后才会频发,最好还是检查一下局域网里有没有曾经和 Mac 连接过的设备为好。

那由 发表于 2023-11-19 11:22

Junakr 发表于 2023-11-19 10:33
也有可能是启用过 Safari 的远程设备调试?主楼之前忽略了一点就是 Mac 的 Safari 连接 iPhone / iPad 进 ...

safari的远程调试好像是把开发者菜单隐藏了就能关掉?试试看
怀疑verge主要是他有一个监听代理是不是活着的功能

Junakr 发表于 2024-3-12 16:42

https://issues.chromium.org/issues/40939844#comment58
https://chromium-review.googlesource.com/c/chromium/src/+/5348265

好消息,Chromium 终于决定修复这个 Bug,为 macOS 版本引入新的 flag 改动了这个有十年以上历史的网络监听逻辑。

Junakr 发表于 2024-4-3 11:38

Chrome 124(Beta 版)已经引入这个问题的修复,接下来就是等待过渡到正式版,以及一堆 Chromium-based 的应用跟进了。
这个摧毁所有 Chromium 应用可用性的问题我关注了这么久,也终于算是可以结束了,如果没有其它情况这应该就是最后一次更新。

bonbonfox 发表于 2024-4-3 22:54

半个月吧,EDGE更新版后从收藏夹每打开一个网站极大几率会卡几秒。。。
页: [1]
查看完整版本: macOS 14 Chrome 频繁出现“检测到网络变化 ERR_NETWORK_CHANGED”