Форум КриптоПро
	 » 
	Общие вопросы
	 » 
	Общие вопросы
	 » 
	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,556
  Сказал(а) «Спасибо»: 44 раз Поблагодарили: 650 раз в 448 постах
  
	 
	
     | 
    
        
            
		      
                Здравствуйте. Смешивать вызовы двух библиотек с одинаковым 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,556
  Сказал(а) «Спасибо»: 44 раз Поблагодарили: 650 раз в 448 постах
  
	 
	
     | 
    
        
            
		      
                И всё же раз вы решили подключать провайдер, то вам надо учитывать его требования к окружению. А вы часом системный libcurl не с флагом RTLD_GLOBAL загружаете? В качестве топорной альтернативы: у curl-а довольно компактный интерфейс (9 функций) - линкуйтесь с ним руками в режиме "если есть cpcurl - с ним, иначе - с системным". Ну и удаление cprocsp-curl не такой плохой вариант: вы утратите возможность работать с облачными токенами/DSS, но, возможно, это вам и не нужно.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Новичок
  Группы: Участники
 Зарегистрирован: 20.11.2024(UTC) Сообщений: 1   
	 
	
     | 
    
        
            
		      
                Windows головного мозга. Долго думал, что писать, но любое сокращение приводит только к вышеуказанной фразе, извините. P.S. Надеюсь, авторитет автора  статьи пробудит у вас тягу к разумному решению.  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 21.11.2010(UTC) Сообщений: 1,143
  Сказал(а) «Спасибо»: 7 раз Поблагодарили: 160 раз в 145 постах
  
	 
	
     | 
    
        
            
		      
                Каким боком версионирование имён из одной разделяемой библиотеки к граблям при попытки грузить "похожие" версии из двух разных??? 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
	                           
	Форум КриптоПро
	 » 
	Общие вопросы
	 » 
	Общие вопросы
	 » 
	SIGABRT в CertGetCertificateChain
	 
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close