Github runner создает ненадежные исполняемые файлы при использовании unique_lock [дубликат]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Github runner создает ненадежные исполняемые файлы при использовании unique_lock [дубликат]

Сообщение Anonymous »

Я столкнулся с серьезной проблемой при развертывании исполняемых файлов, созданных средствами Windows GitHub: любой исполняемый файл, использующий std::unique_lock, ненадежен! Он компилируется правильно, но неожиданно происходит сбой во время выполнения.
Приведенная ниже программа «hello mutex» создаст совершенно корректный исполняемый файл при компиляции на стандартной машине с Windows.

Код: Выделить всё

#include "stdio.h"
#include 

int main()
{
printf("main enter\n");
std::mutex m_mutex;
printf("Created mutex\n");
std::unique_lock lock(m_mutex);
printf("Instantiated lock\n");
printf("main exit\n");
}
Однако при загрузке и запуске exe-файла, созданного исполнителями GitHub, программа не сможет создать блокировку (она закроется или зависнет после печати «Созданный мьютекс»).
Я создал очень простой репозиторий на GitHub, чтобы продемонстрировать проблему: https://github.com/pthom/poub_pfd
Можно найти исполняемые файлы, созданные участниками GitHub. внутри артефактов этого репозитория: https://github.com/pthom/poub_pfd/actions
Эта проблема меня сильно уязвила... Я обнаружил ее через 1 месяц после выпуск моей библиотеки Python/Pybind11 (для которой я развертываю несколько собственных колес непосредственно из артефактов GH Runners)

У меня есть несколько связанных вопросов:
  • Совершил ли я очевидную ошибку?
  • Кто-нибудь тоже сталкивался с этой проблемой?
Я почти уверен, что я не единственный, кто может страдать от это, поскольку это почти программа Hello World, использующая мьютексы.
Я уверен, что эта проблема существует с 3 июля, поскольку она была обнаружена намного позже в выпуске библиотеки Python, который я создал на данный момент.
  • Кто-нибудь знает, была ли эта проблема или связанная с ней уже опубликована на GitHub?
    Если нет, то где лучше всего место, где я должен это опубликовать?


Подробнее здесь: https://stackoverflow.com/questions/788 ... ckstdmutex
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»