Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
SIGABRT в CertGetCertificateChain
Статус: Новичок
Группы: Участники
Зарегистрирован: 22.10.2018(UTC) Сообщений: 9 Сказал(а) «Спасибо»: 3 раз
|
Добрый день! Нужна помощь. Alt 8.1 amd64 (9.1 aarch64 аналогично) cprocsp 5.0.12000-6.x86_64
имеем установленную системную curl и cprocsp-curl при вызове capilite CertGetCertificateChain ловится краш
munmap_chunk(): invalid pointer: 0x00007fffc4982dd0 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x6f325)[0x7ffff4e65325] /lib64/libc.so.6(+0x74ae6)[0x7ffff4e6aae6] /usr/lib64/libcurl.so.4(+0x3136e)[0x7ffff7b8636e] /usr/lib64/libcurl.so.4(curl_multi_cleanup+0xdc)[0x7ffff7b8821c] /opt/cprocsp/lib/amd64/libcpcurl.so(curl_easy_perform+0x1a9)[0x7fffc497ebd9] /opt/cprocsp/lib/amd64/liburlretrieve.so.4(_ZN12UrlRetriever12retrieve_urlEPKc+0x621)[0x7fffda1f9c91] /opt/cprocsp/lib/amd64/libcapi20.so.4(+0xc0e4b)[0x7fffda4bce4b] /opt/cprocsp/lib/amd64/libcapi20.so.4(+0xc16b1)[0x7fffda4bd6b1] /opt/cprocsp/lib/amd64/libcapi20.so.4(CryptRetrieveObjectByUrlA+0xd6)[0x7fffda4bd856] /opt/cprocsp/lib/amd64/libcapi20.so.4(+0x6c3bb)[0x7fffda4683bb] /opt/cprocsp/lib/amd64/libcapi20.so.4(+0x6c4f0)[0x7fffda4684f0] /opt/cprocsp/lib/amd64/libcapi20.so.4(+0x74976)[0x7fffda470976] /opt/cprocsp/lib/amd64/libcapi20.so.4(+0x74b9c)[0x7fffda470b9c] /opt/cprocsp/lib/amd64/libcapi20.so.4(+0x74e36)[0x7fffda470e36] /opt/cprocsp/lib/amd64/libcapi20.so.4(+0xb9794)[0x7fffda4b5794] /opt/cprocsp/lib/amd64/libcapi20.so.4(CertGetCertificateChain+0x6e)[0x7fffda4b5e1e]
удаление cprocsp-curl помогает, но хотелось бы более элегантное решение\исправление. В нашем коде вызовы curl также используются.
Спасибо!
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,424
Сказал(а) «Спасибо»: 37 раз Поблагодарили: 570 раз в 397 постах
|
Здравствуйте. Смешивать вызовы двух библиотек с одинаковым API нельзя (нашего и не нашего curl или любых других). Скорее всего, вам надо убрать линковку с системным curl, так как наш практически ему не уступает. |
|
1 пользователь поблагодарил Русев Андрей за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 22.10.2018(UTC) Сообщений: 9 Сказал(а) «Спасибо»: 3 раз
|
Автор: Андрей Русев Здравствуйте. Смешивать вызовы двух библиотек с одинаковым API нельзя (нашего и не нашего curl или любых других). Скорее всего, вам надо убрать линковку с системным curl, так как наш практически ему не уступает. Андрей, спасибо. Мы не смешиваем вызовы. Наше приложение не в курсе о линковке с cprocsp-curl. Проблема внутри capilite. Соединение создается вашей версией библиотеки, а освобождаются ресурсы вызовом обычной системной. Мы не можем тянуть зависимость от cprocsp-curl, так как в некоторых вариантах поставки нам не нужна capilite. Библиотека, использующая capilite ставится отдельным пакетом и загружается динамически. Отредактировано пользователем 21 июля 2021 г. 10:57:53(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,424
Сказал(а) «Спасибо»: 37 раз Поблагодарили: 570 раз в 397 постах
|
И всё же раз вы решили подключать провайдер, то вам надо учитывать его требования к окружению. А вы часом системный libcurl не с флагом RTLD_GLOBAL загружаете? В качестве топорной альтернативы: у curl-а довольно компактный интерфейс (9 функций) - линкуйтесь с ним руками в режиме "если есть cpcurl - с ним, иначе - с системным". Ну и удаление cprocsp-curl не такой плохой вариант: вы утратите возможность работать с облачными токенами/DSS, но, возможно, это вам и не нужно. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 20.11.2024(UTC) Сообщений: 1
|
Windows головного мозга. Долго думал, что писать, но любое сокращение приводит только к вышеуказанной фразе, извините. P.S. Надеюсь, авторитет автора статьи пробудит у вас тягу к разумному решению.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 21.11.2010(UTC) Сообщений: 1,098
Сказал(а) «Спасибо»: 7 раз Поблагодарили: 151 раз в 136 постах
|
Каким боком версионирование имён из одной разделяемой библиотеки к граблям при попытки грузить "похожие" версии из двух разных???
|
|
|
|
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
SIGABRT в CertGetCertificateChain
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close