You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在网络驱动器运行clang编译程序后,后续编译可执行文件为何全部挂起?

在SMB网络共享运行编译后的可执行文件后,本地编译程序全部挂起(macOS)

环境信息

  • 设备:搭载M1 Pro芯片、运行macOS 12.6的MacBook Pro
  • 编译器:Apple clang 14.0.0(通过删除DeveloperTools文件夹并执行xcode-select --install全新安装)
  • Shell:zsh
  • 网络共享:通过Finder无配置挂载的SMB共享(Apple ID验证),共享端为运行macOS 11.6.8的Core i5款iMac主目录(已测试根目录和tmp目录,结果一致)

最小复现步骤

  1. 使用Apple开发者工具的gcc编译一个“Hello World”C程序(最初发现时用ghc编译Haskell程序也会出现相同问题)
  2. 运行本地编译的可执行文件,执行正常
  3. 通过cd命令进入挂载的网络驱动器目录
  4. 在该目录下重复编译并运行程序——可执行文件挂起
  5. 返回本地目录,运行之前编译的可执行文件,依然正常
  6. 再次在本地编译任何程序(包括原源码)——新编译的可执行文件均会挂起

已尝试的排查操作

  • 终止挂起进程、检查lsof、卸载网络驱动器、登录登出、检查PATH等操作均无效,仅重启系统可恢复正常
  • 对比网络目录与本地目录编译时的gcc -v输出,仅-fdebug-compilation-dir(对应当前工作目录)和目标文件名不同,其余参数完全一致
  • 仅编译不会触发问题,运行网络驱动器上的可执行文件才会导致后续本地编译程序挂起
  • 查阅Console日志和system.log,未发现相关异常条目
  • 对比lsof和ps -axww输出,未发现显著差异
  • 让挂起的本地进程运行整夜,无任何变化

疑问

这是否触发了macOS的沙箱或安全机制?是clang/llvm的未知特性?还是考虑到ghc(使用原生代码生成器)也出现相同问题,是stdout的实现存在bug?

内容的提问来源于stack exchange,提问作者Heath Raftery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 01:20:39