Size: a a a

2021 February 01

a

akuma in pro.cxx
вот кусок кода, и почему-то я висну на получении ответа
источник

a

akuma in pro.cxx
и это срабатывает только на минте, на убунте и сентосе все ок работатет
источник

D

Dmitriy in pro.cxx
akuma
и это срабатывает только на минте, на убунте и сентосе все ок работатет
Выполнение точно идет в другом потоке?
источник

a

akuma in pro.cxx
да
источник

a

akuma in pro.cxx
если дебажить, то иногда срабатывает, но вываливает с сегфолтом, а если просто запутить, то всегда виснет в ожидании ready
источник

АК

Александр Караев... in pro.cxx
akuma
c++
std::promise<json> promise_answ;
               std::future<json> future_answ = promise_answ.get_future();
               _manager.addJob(db_name, it->second, in["cmd"], &promise_answ);
               // future_answ.wait();
               while (future_answ.wait_for(std::chrono::seconds(1)) != std::future_status::ready) {
                   std::cout << "... still not ready\n";
               }
               json answer;
               answer = future_answ.get();
               std::cout << answer << std::endl;
меня тут очень напрягает конструкция &promise_answ
источник

a

akuma in pro.cxx
там указатель
источник

a

akuma in pro.cxx
промис же не копируемый
источник

AF

Aidar Fattakhov in pro.cxx
тебе надо остальной код дебажить
источник

AF

Aidar Fattakhov in pro.cxx
начни с -fsanitize=thread
источник

a

akuma in pro.cxx
Aidar Fattakhov
тебе надо остальной код дебажить
Так, по каким-то магическим причинам, когда я дебажу, все отрабатывает
источник

a

akuma in pro.cxx
Aidar Fattakhov
начни с -fsanitize=thread
ок
источник

a

akuma in pro.cxx
Aidar Fattakhov
начни с -fsanitize=thread
Спасибо нашел ошибку, но проблема изначально была не в ней - это промежуточный косяк в попытках завести на минте. Всетаки иетерсно, какие могут быть причины того, что на двух других системах работало как должно, а тут не работало, мб есть мысли?
источник

a

akuma in pro.cxx
копмиляторы одинаковые использовал
источник

D

Dmitriy in pro.cxx
akuma
Спасибо нашел ошибку, но проблема изначально была не в ней - это промежуточный косяк в попытках завести на минте. Всетаки иетерсно, какие могут быть причины того, что на двух других системах работало как должно, а тут не работало, мб есть мысли?
В чем была ошибка?
источник

a

akuma in pro.cxx
Dmitriy
В чем была ошибка?
поменял промис на указатель и забыл убрать move(). Но этивсе изменения были ток на минте. Изначально вообще все по ссылке передавалось через std::ref() - на бубне и сентосе работало ок
источник

АР

Андрей Руссков... in pro.cxx
если санитайзеры ругаются, значит, работает не ок
источник

s

std::slavik in pro.cxx
akuma
и это срабатывает только на минте, на убунте и сентосе все ок работатет
ulimit?
источник

ВБ

Валерия Бьянка... in pro.cxx
)
источник

s

std::slavik in pro.cxx
akuma
Спасибо нашел ошибку, но проблема изначально была не в ней - это промежуточный косяк в попытках завести на минте. Всетаки иетерсно, какие могут быть причины того, что на двух других системах работало как должно, а тут не работало, мб есть мысли?
размер стека например в настройках
источник