LINUX.ORG.RU

C++, pthread, curl, Curl_raw_nequal() Segmentation fault


0

1

Добрый день! Решаю следующую задачу: отправка SOAP-запросов и обработка ответов от сервера. Если сервер не отвечает,запрос записывается в очередь, которая мониторится в параллельном потоке. То есть главный поток отправляет запросы и обрабатывает ответы, если нет ответов складывает в очередь, продолжает отправлять следующие запросы ,обрабатывать ответы и т.д. Параллельный поток раз в определенный промежуток времени просматривает все запросы и отправляет их на сервер, если приходит положительный ответ от сервера, удаляет запросы из очереди. Многопоточность реализую с помощью pthread, отправку SOAP-запросов - библиотеки curl. Приложение падает. Отладка с помощью gdb выдает следующее: Program received SIGSEGV, Segmentation fault 0x000000000043d633 in Curl_raw_nequal()

Понимаю, что так сказать сложно, но, может быть, у кого-то сразу появятся идеи. Постараюсь подготовить адекватный код.


Отладка с помощью gdb выдает следующее: Program received SIGSEGV, Segmentation fault 0x000000000043d633 in Curl_raw_nequal()

Маша, когда такое получают в gdb, то следующим шагом ты пишешь bt и info threads.

UVV ★★★★★ ()

сразу появятся идеи

pthread_mutex_lock/pthread_mutex_unlock

i-rinat ★★★★★ ()
Ответ на: комментарий от Masha

это есть

Ну тогда всё должно работать, раз это есть. :) Странно, что сегфолтится, это же есть.

Наличие mutex'а ещё не значит его корректного использования. Valgrind может помочь в поиске багов.

i-rinat ★★★★★ ()
Ответ на: комментарий от Masha

Т.е. backtrace ты до сих пор отказываешься показывать, а ещё хочешь, чтобы тебе помогли?

UVV ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.