Libc++abi.dylib: завершение с неперехваченным исключением типа std::__1::system_error: ошибка блокировки мьютекса: невер ⇐ C++
Libc++abi.dylib: завершение с неперехваченным исключением типа std::__1::system_error: ошибка блокировки мьютекса: невер
У меня был код для пула потоков, который уже довольно давно работает на моей машине с Ubuntu. Это проект CMake, и я полагаю, что в качестве компилятора он использовал последнюю версию g++.
Я только что попробовал запустить код на Mac, CMake пытается использовать AppleClang 12.0.0.12000032, и меня поразило
libc++abi.dylib: завершение с неперехваченным исключением типа std::__1::system_error: ошибка блокировки мьютекса: неверный аргумент В AppleClang отсутствует std::shared_mutex или std::mutex? Это функции С++ 17. Нужно ли что-то сделать, чтобы включить C++17 на этом Mac? Я упоминаю, что это необходимо в моем файле CMakeLists.txt.
Вот полный результат сборки:
(base) clare.obrien.brown@Clares-Air build % cmake .. -- Идентификатор компилятора C: AppleClang 12.0.0.12000032. -- Идентификатор компилятора CXX: AppleClang 12.0.0.12000032. -- Обнаружение информации ABI компилятора C -- Обнаружение информации ABI компилятора C – готово -- Проверка работоспособности компилятора C: /Library/Developer/CommandLineTools/usr/bin/cc - пропущено -- Обнаружение особенностей компиляции C -- Обнаружение особенностей компиляции C – готово -- Обнаружение информации ABI компилятора CXX -- Обнаружение информации ABI компилятора CXX – выполнено -- Проверка работы компилятора CXX: /Library/Developer/CommandLineTools/usr/bin/c++ — пропущено -- Обнаружение особенностей компиляции CXX -- Обнаружение возможностей компиляции CXX – выполнено -- Ищем pthread.h -- Ищем pthread.h - найдено -- Выполнение теста CMAKE_HAVE_LIBC_PTHREAD -- Выполнение теста CMAKE_HAVE_LIBC_PTHREAD – успех -- Найдено тем: ПРАВДА -- Настройка завершена -- Генерация завершена -- Файлы сборки записаны в: /Users/clare.obrien.brown/ssme/build. (базовый) clare.obrien.brown@Clares-Air build % make Сканирование зависимостей целевого объекта ssme_test [ 16%] Создание объекта CXX test/CMakeFiles/ssme_test.dir/test-main.cpp.o [ 33%] Создание объекта CXX test/CMakeFiles/ssme_test.dir/test_ada_pmmh_mvn.cpp.o [ 50%] Создание объекта CXX test/CMakeFiles/ssme_test.dir/test_parameters.cpp.o В файле, включенном из /Users/clare.obrien.brown/ssme/test/test_parameters.cpp:5: /Users/clare.obrien.brown/ssme/include/ssme/parameters.h:333:58: предупреждение: неиспользуемый параметр «trans_p» [-Wunused-parameter] float_t null_trans::log_jacobian(const float_t& trans_p) ^ Создано 1 предупреждение. [ 66%] Создание объекта CXX test/CMakeFiles/ssme_test.dir/test_thread_pool.cpp.o /Users/clare.obrien.brown/ssme/test/test_thread_pool.cpp:13:46: предупреждение: неиспользуемый параметр «obs_data» [-Wunused-parameter] static double d(param_t nums, obs_data_t obs_data) { ^ /Users/clare.obrien.brown/ssme/test/test_thread_pool.cpp:54:45: предупреждение: неиспользуемый параметр 'od' [-Wunused-parameter] [](param_t nums, obs_data_t od) -> double{ ^ /Users/clare.obrien.brown/ssme/test/test_thread_pool.cpp:82:40: предупреждение: неиспользуемый параметр 'ydata' [-Wunused-parameter] двойной d(param_t theta, obs_data_t ydata) { ^ Создано 3 предупреждения. [ 83%] Создание объекта CXX test/CMakeFiles/ssme_test.dir/test_utils.cpp.o [100%] Связывание исполняемого файла CXX ssme_test [100%] Построенная цель ssme_test (базовый) clare.obrien.brown@Clares-Air build % cd ../test (базовый) clare.obrien.brown@Clares-Air test % ../build/test/ssme_test libc++abi.dylib: завершение с неперехваченным исключением типа std::__1::system_error: ошибка блокировки мьютекса: неверный аргумент libc++abi.dylib: завершение с неперехваченным исключением типа std::__1::system_error: ошибка блокировки мьютекса: неверный аргумент zsh: прервать ../build/test/ssme_test
У меня был код для пула потоков, который уже довольно давно работает на моей машине с Ubuntu. Это проект CMake, и я полагаю, что в качестве компилятора он использовал последнюю версию g++.
Я только что попробовал запустить код на Mac, CMake пытается использовать AppleClang 12.0.0.12000032, и меня поразило
libc++abi.dylib: завершение с неперехваченным исключением типа std::__1::system_error: ошибка блокировки мьютекса: неверный аргумент В AppleClang отсутствует std::shared_mutex или std::mutex? Это функции С++ 17. Нужно ли что-то сделать, чтобы включить C++17 на этом Mac? Я упоминаю, что это необходимо в моем файле CMakeLists.txt.
Вот полный результат сборки:
(base) clare.obrien.brown@Clares-Air build % cmake .. -- Идентификатор компилятора C: AppleClang 12.0.0.12000032. -- Идентификатор компилятора CXX: AppleClang 12.0.0.12000032. -- Обнаружение информации ABI компилятора C -- Обнаружение информации ABI компилятора C – готово -- Проверка работоспособности компилятора C: /Library/Developer/CommandLineTools/usr/bin/cc - пропущено -- Обнаружение особенностей компиляции C -- Обнаружение особенностей компиляции C – готово -- Обнаружение информации ABI компилятора CXX -- Обнаружение информации ABI компилятора CXX – выполнено -- Проверка работы компилятора CXX: /Library/Developer/CommandLineTools/usr/bin/c++ — пропущено -- Обнаружение особенностей компиляции CXX -- Обнаружение возможностей компиляции CXX – выполнено -- Ищем pthread.h -- Ищем pthread.h - найдено -- Выполнение теста CMAKE_HAVE_LIBC_PTHREAD -- Выполнение теста CMAKE_HAVE_LIBC_PTHREAD – успех -- Найдено тем: ПРАВДА -- Настройка завершена -- Генерация завершена -- Файлы сборки записаны в: /Users/clare.obrien.brown/ssme/build. (базовый) clare.obrien.brown@Clares-Air build % make Сканирование зависимостей целевого объекта ssme_test [ 16%] Создание объекта CXX test/CMakeFiles/ssme_test.dir/test-main.cpp.o [ 33%] Создание объекта CXX test/CMakeFiles/ssme_test.dir/test_ada_pmmh_mvn.cpp.o [ 50%] Создание объекта CXX test/CMakeFiles/ssme_test.dir/test_parameters.cpp.o В файле, включенном из /Users/clare.obrien.brown/ssme/test/test_parameters.cpp:5: /Users/clare.obrien.brown/ssme/include/ssme/parameters.h:333:58: предупреждение: неиспользуемый параметр «trans_p» [-Wunused-parameter] float_t null_trans::log_jacobian(const float_t& trans_p) ^ Создано 1 предупреждение. [ 66%] Создание объекта CXX test/CMakeFiles/ssme_test.dir/test_thread_pool.cpp.o /Users/clare.obrien.brown/ssme/test/test_thread_pool.cpp:13:46: предупреждение: неиспользуемый параметр «obs_data» [-Wunused-parameter] static double d(param_t nums, obs_data_t obs_data) { ^ /Users/clare.obrien.brown/ssme/test/test_thread_pool.cpp:54:45: предупреждение: неиспользуемый параметр 'od' [-Wunused-parameter] [](param_t nums, obs_data_t od) -> double{ ^ /Users/clare.obrien.brown/ssme/test/test_thread_pool.cpp:82:40: предупреждение: неиспользуемый параметр 'ydata' [-Wunused-parameter] двойной d(param_t theta, obs_data_t ydata) { ^ Создано 3 предупреждения. [ 83%] Создание объекта CXX test/CMakeFiles/ssme_test.dir/test_utils.cpp.o [100%] Связывание исполняемого файла CXX ssme_test [100%] Построенная цель ssme_test (базовый) clare.obrien.brown@Clares-Air build % cd ../test (базовый) clare.obrien.brown@Clares-Air test % ../build/test/ssme_test libc++abi.dylib: завершение с неперехваченным исключением типа std::__1::system_error: ошибка блокировки мьютекса: неверный аргумент libc++abi.dylib: завершение с неперехваченным исключением типа std::__1::system_error: ошибка блокировки мьютекса: неверный аргумент zsh: прервать ../build/test/ssme_test
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Завершение с неперехваченным исключением типа std::invalid_argument: stoi: без преобразования
Anonymous » » в форуме C++ - 0 Ответы
- 45 Просмотры
-
Последнее сообщение Anonymous
-