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

Windows GitHub Runner编译含std::unique_lock的程序运行异常求助

Windows GitHub Runner编译的含std::unique_lock程序运行异常问题

我在部署Windows GitHub Runner编译的可执行文件时遇到严重问题:所有使用std::unique_lock<std::mutex>的程序均不可靠!编译过程正常,但运行时会意外失败。

以下“互斥量测试”程序在标准Windows机器上编译可生成完全正常的可执行文件:

#include "stdio.h"
#include <future>

int main()
{
    printf("main enter\n");
    std::mutex m_mutex;
    printf("Created mutex\n");
    std::unique_lock<std::mutex> lock(m_mutex);
    printf("Instantiated lock\n");
    printf("main exit\n");
}

但下载并运行GitHub Runner生成的exe文件时,程序会在创建锁的环节失败(打印“Created mutex”后退出或挂起)。

我已创建一个极简仓库用于复现该问题,GitHub Runner生成的可执行文件可在仓库的工件中获取。

这个问题给我带来了很大困扰……我发布Python/Pybind11库(直接从GH Runner工件部署多个原生wheel)1个月后才发现该问题

我有几个相关问题:

  • 我是否犯了明显错误?
  • 是否有其他人遇到过这个问题?我几乎可以肯定我不是唯一遇到该问题的人,因为这几乎是使用互斥量的入门程序。我确定该问题从7月3日起就存在,因为我在当天发布的Python库版本中后续发现了这个问题。
  • 有人知道该问题或相关问题是否已在GitHub上提交?如果没有,我应该在哪个最佳位置提交?

内容的提问来源于stack exchange,提问作者Pascal T.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 03:47:14