reproduce-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #61730] cffi crashing with Python 3.10 and OpenSSL 3.0.0


From: Mohammad Akhlaghi
Subject: [bug #61730] cffi crashing with Python 3.10 and OpenSSL 3.0.0
Date: Sun, 26 Dec 2021 17:04:38 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0

URL:
  <https://savannah.nongnu.org/bugs/?61730>

                 Summary: cffi crashing with Python 3.10 and OpenSSL  3.0.0
                 Project: Maneage
            Submitted by: makhlaghi
            Submitted on: Sun 26 Dec 2021 10:04:36 PM UTC
                Category: Software
                Severity: 3 - Normal
              Item Group: Crash
                  Status: Postponed
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

During the updating of Maneage software, I noticed that cffi (Foreign Function
Interface for Python calling C code) is crashing with Python 3.10 and OpenSSL
3.0.0 with the error below

Until we find the solution to this problem, cffi (and all the packages that
depend on it), are being removed (their name is commented in 'version.conf').


building '_openssl' extension
creating build/temp.linux-x86_64-3.10/build
creating build/temp.linux-x86_64-3.10/build/temp.linux-x86_64-3.10
BDIR/software/installed/bin/gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g
-fwrapv -O3 -Wall -IBDIR/software/installed/include
-Wno-nullability-completeness -fPIC
-IBDIR/software/installed/include/python3.10 -c
build/temp.linux-x86_64-3.10/_openssl.c -o
build/temp.linux-x86_64-3.10/build/temp.linux-x86_64-3.10/_openssl.o
-Wconversion -Wno-error=sign-conversion
build/temp.linux-x86_64-3.10/_openssl.c:2286:7: error:
'EVP_PKEY_CTX_set_rsa_oaep_md' redeclared as different kind of symbol
 2286 | int (*EVP_PKEY_CTX_set_rsa_oaep_md)(EVP_PKEY_CTX *, EVP_MD *) = NULL;
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from BDIR/software/installed/include/openssl/x509.h:36,
                 from BDIR/software/installed/include/openssl/ct.h:29,
                 from build/temp.linux-x86_64-3.10/_openssl.c:643:
BDIR/software/installed/include/openssl/rsa.h:158:5: note: previous
declaration of 'EVP_PKEY_CTX_set_rsa_oaep_md' with type 'int(EVP_PKEY_CTX *,
const EVP_MD *)' {aka 'int(struct evp_pkey_ctx_st *, const struct evp_md_st
*)'}
  158 | int EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD
*md);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c:2293:7: error:
'EVP_PKEY_CTX_set0_rsa_oaep_label' redeclared as different kind of symbol
 2293 | int (*EVP_PKEY_CTX_set0_rsa_oaep_label)(EVP_PKEY_CTX *, unsigned char
*,
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from BDIR/software/installed/include/openssl/x509.h:36,
                 from BDIR/software/installed/include/openssl/ct.h:29,
                 from build/temp.linux-x86_64-3.10/_openssl.c:643:
BDIR/software/installed/include/openssl/rsa.h:164:5: note: previous
declaration of 'EVP_PKEY_CTX_set0_rsa_oaep_label' with type 'int(EVP_PKEY_CTX
*, void *, int)' {aka 'int(struct evp_pkey_ctx_st *, void *, int)'}
  164 | int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *ctx, void *label,
int llen);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'Cryptography_pem_password_cb':
build/temp.linux-x86_64-3.10/_openssl.c:3050:37: warning: conversion to
'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the
result [-Wsign-conversion]
 3050 |         memcpy(buf, st->password, st->length);
      |                                   ~~^~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_const_CRYPTO_MEM_CHECK_DISABLE':
build/temp.linux-x86_64-3.10/_openssl.c:6934:12: error:
'CRYPTO_MEM_CHECK_DISABLE' undeclared (first use in this function); did you
mean '_cffi_const_CRYPTO_MEM_CHECK_DISABLE'?
 6934 |   int n = (CRYPTO_MEM_CHECK_DISABLE) <= 0;
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
      |            _cffi_const_CRYPTO_MEM_CHECK_DISABLE
build/temp.linux-x86_64-3.10/_openssl.c:6934:12: note: each undeclared
identifier is reported only once for each function it appears in
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_const_CRYPTO_MEM_CHECK_ENABLE':
build/temp.linux-x86_64-3.10/_openssl.c:6941:12: error:
'CRYPTO_MEM_CHECK_ENABLE' undeclared (first use in this function); did you
mean '_cffi_const_CRYPTO_MEM_CHECK_ENABLE'?
 6941 |   int n = (CRYPTO_MEM_CHECK_ENABLE) <= 0;
      |            ^~~~~~~~~~~~~~~~~~~~~~~
      |            _cffi_const_CRYPTO_MEM_CHECK_ENABLE
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_const_CRYPTO_MEM_CHECK_OFF':
build/temp.linux-x86_64-3.10/_openssl.c:6948:12: error: 'CRYPTO_MEM_CHECK_OFF'
undeclared (first use in this function)
 6948 |   int n = (CRYPTO_MEM_CHECK_OFF) <= 0;
      |            ^~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_const_CRYPTO_MEM_CHECK_ON':
build/temp.linux-x86_64-3.10/_openssl.c:6955:12: error: 'CRYPTO_MEM_CHECK_ON'
undeclared (first use in this function)
 6955 |   int n = (CRYPTO_MEM_CHECK_ON) <= 0;
      |            ^~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_const_EVP_R_KEYGEN_FAILURE':
build/temp.linux-x86_64-3.10/_openssl.c:7686:12: error: 'EVP_R_KEYGEN_FAILURE'
undeclared (first use in this function)
 7686 |   int n = (EVP_R_KEYGEN_FAILURE) <= 0;
      |            ^~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_d_BIO_s_datagram':
build/temp.linux-x86_64-3.10/_openssl.c:12034:10: warning: return discards
'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
12034 |   return BIO_s_datagram();
      |          ^~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_f_BIO_s_datagram':
build/temp.linux-x86_64-3.10/_openssl.c:12045:12: warning: assignment discards
'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
12045 |   { result = BIO_s_datagram(); }
      |            ^
build/temp.linux-x86_64-3.10/_openssl.c: In function '_cffi_d_BIO_s_mem':
build/temp.linux-x86_64-3.10/_openssl.c:12060:10: warning: return discards
'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
12060 |   return BIO_s_mem();
      |          ^~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function '_cffi_f_BIO_s_mem':
build/temp.linux-x86_64-3.10/_openssl.c:12071:12: warning: assignment discards
'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
12071 |   { result = BIO_s_mem(); }
      |            ^
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_d_CRYPTO_mem_ctrl':
build/temp.linux-x86_64-3.10/_openssl.c:14906:10: warning: implicit
declaration of function 'CRYPTO_mem_ctrl'; did you mean 'CRYPTO_memcmp'?
[-Wimplicit-function-declaration]
14906 |   return CRYPTO_mem_ctrl(x0);
      |          ^~~~~~~~~~~~~~~
      |          CRYPTO_memcmp
build/temp.linux-x86_64-3.10/_openssl.c: In function '_cffi_d_ERR_GET_FUNC':
build/temp.linux-x86_64-3.10/_openssl.c:20543:10: warning: implicit
declaration of function 'ERR_GET_FUNC'; did you mean 'ERR_GET_LIB'?
[-Wimplicit-function-declaration]
20543 |   return ERR_GET_FUNC(x0);
      |          ^~~~~~~~~~~~
      |          ERR_GET_LIB
build/temp.linux-x86_64-3.10/_openssl.c: In function '_cffi_d_FIPS_mode':
build/temp.linux-x86_64-3.10/_openssl.c:24980:10: warning: implicit
declaration of function 'FIPS_mode' [-Wimplicit-function-declaration]
24980 |   return FIPS_mode();
      |          ^~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function '_cffi_d_FIPS_mode_set':
build/temp.linux-x86_64-3.10/_openssl.c:25006:10: warning: implicit
declaration of function 'FIPS_mode_set' [-Wimplicit-function-declaration]
25006 |   return FIPS_mode_set(x0);
      |          ^~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_d_OCSP_resp_get0_certs':
build/temp.linux-x86_64-3.10/_openssl.c:28094:10: warning: return discards
'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
28094 |   return OCSP_resp_get0_certs(x0);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_f_OCSP_resp_get0_certs':
build/temp.linux-x86_64-3.10/_openssl.c:28117:12: warning: assignment discards
'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
28117 |   { result = OCSP_resp_get0_certs(x0); }
      |            ^
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_d_SSL_CTX_add_extra_chain_cert':
build/temp.linux-x86_64-3.10/_openssl.c:34208:10: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
34208 |   return SSL_CTX_add_extra_chain_cert(x0, x1);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_f_SSL_CTX_add_extra_chain_cert':
build/temp.linux-x86_64-3.10/_openssl.c:34246:14: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
34246 |   { result = SSL_CTX_add_extra_chain_cert(x0, x1); }
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_d_SSL_CTX_get_mode':
build/temp.linux-x86_64-3.10/_openssl.c:34676:10: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
34676 |   return SSL_CTX_get_mode(x0);
      |          ^~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_f_SSL_CTX_get_mode':
build/temp.linux-x86_64-3.10/_openssl.c:34699:14: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
34699 |   { result = SSL_CTX_get_mode(x0); }
      |              ^~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_d_SSL_CTX_get_session_cache_mode':
build/temp.linux-x86_64-3.10/_openssl.c:34790:10: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
34790 |   return SSL_CTX_get_session_cache_mode(x0);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_f_SSL_CTX_get_session_cache_mode':
build/temp.linux-x86_64-3.10/_openssl.c:34813:14: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
34813 |   { result = SSL_CTX_get_session_cache_mode(x0); }
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_d_SSL_CTX_set_mode':
build/temp.linux-x86_64-3.10/_openssl.c:36449:10: warning: conversion to 'long
int' from 'long unsigned int' may change the sign of the result
[-Wsign-conversion]
36449 |   return SSL_CTX_set_mode(x0, x1);
      |          ^~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c:36449:10: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_f_SSL_CTX_set_mode':
build/temp.linux-x86_64-3.10/_openssl.c:36482:14: warning: conversion to 'long
int' from 'long unsigned int' may change the sign of the result
[-Wsign-conversion]
36482 |   { result = SSL_CTX_set_mode(x0, x1); }
      |              ^~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c:36482:14: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
In file included from build/temp.linux-x86_64-3.10/_openssl.c:807:
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_d_SSL_CTX_set_session_cache_mode':
build/temp.linux-x86_64-3.10/_openssl.c:36845:45: warning: conversion to 'long
int' from 'long unsigned int' may change the sign of the result
[-Wsign-conversion]
36845 |   return SSL_CTX_set_session_cache_mode(x0, x1);
      |                                             ^~
build/temp.linux-x86_64-3.10/_openssl.c:36845:10: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
36845 |   return SSL_CTX_set_session_cache_mode(x0, x1);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from build/temp.linux-x86_64-3.10/_openssl.c:807:
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_f_SSL_CTX_set_session_cache_mode':
build/temp.linux-x86_64-3.10/_openssl.c:36878:49: warning: conversion to 'long
int' from 'long unsigned int' may change the sign of the result
[-Wsign-conversion]
36878 |   { result = SSL_CTX_set_session_cache_mode(x0, x1); }
      |                                                 ^~
build/temp.linux-x86_64-3.10/_openssl.c:36878:14: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
36878 |   { result = SSL_CTX_set_session_cache_mode(x0, x1); }
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_d_SSL_CTX_set_tmp_dh':
build/temp.linux-x86_64-3.10/_openssl.c:37251:10: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
37251 |   return SSL_CTX_set_tmp_dh(x0, x1);
      |          ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_f_SSL_CTX_set_tmp_dh':
build/temp.linux-x86_64-3.10/_openssl.c:37289:14: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
37289 |   { result = SSL_CTX_set_tmp_dh(x0, x1); }
      |              ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_d_SSL_CTX_set_tmp_ecdh':
build/temp.linux-x86_64-3.10/_openssl.c:37304:10: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
37304 |   return SSL_CTX_set_tmp_ecdh(x0, x1);
      |          ^~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_f_SSL_CTX_set_tmp_ecdh':
build/temp.linux-x86_64-3.10/_openssl.c:37342:14: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
37342 |   { result = SSL_CTX_set_tmp_ecdh(x0, x1); }
      |              ^~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_d_SSL_SESSION_get_ticket_lifetime_hint':
build/temp.linux-x86_64-3.10/_openssl.c:38095:10: warning: conversion to 'long
int' from 'long unsigned int' may change the sign of the result
[-Wsign-conversion]
38095 |   return SSL_SESSION_get_ticket_lifetime_hint(x0);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function
'_cffi_f_SSL_SESSION_get_ticket_lifetime_hint':
build/temp.linux-x86_64-3.10/_openssl.c:38118:14: warning: conversion to 'long
int' from 'long unsigned int' may change the sign of the result
[-Wsign-conversion]
38118 |   { result = SSL_SESSION_get_ticket_lifetime_hint(x0); }
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function '_cffi_d_SSL_get_mode':
build/temp.linux-x86_64-3.10/_openssl.c:39511:10: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
39511 |   return SSL_get_mode(x0);
      |          ^~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function '_cffi_f_SSL_get_mode':
build/temp.linux-x86_64-3.10/_openssl.c:39534:14: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
39534 |   { result = SSL_get_mode(x0); }
      |              ^~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c: In function '_cffi_d_SSL_set_mode':
build/temp.linux-x86_64-3.10/_openssl.c:41478:10: warning: conversion to 'long
int' from 'long unsigned int' may change the sign of the result
[-Wsign-conversion]
41478 |   return SSL_set_mode(x0, x1);
      |          ^~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c:41478:10: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
build/temp.linux-x86_64-3.10/_openssl.c: In function '_cffi_f_SSL_set_mode':
build/temp.linux-x86_64-3.10/_openssl.c:41511:14: warning: conversion to 'long
int' from 'long unsigned int' may change the sign of the result
[-Wsign-conversion]
41511 |   { result = SSL_set_mode(x0, x1); }
      |              ^~~~~~~~~~~~
build/temp.linux-x86_64-3.10/_openssl.c:41511:14: warning: conversion to 'long
unsigned int' from 'long int' may change the sign of the result
[-Wsign-conversion]
build/temp.linux-x86_64-3.10/_openssl.c: At top level:
cc1: note: unrecognized command-line option '-Wno-nullability-completeness'
may have been intended to silence earlier diagnostics
error: command 'BDIR/software/installed/bin/gcc' failed with exit code 1
make: *** [reproduce/software/make/python.mk:235:
BDIR/software/installed/version-info/python/cryptography-2.6.1] Error 1





    _______________________________________________________

Reply to this item at:

  <https://savannah.nongnu.org/bugs/?61730>

_______________________________________________
  Message sent via Savannah
  https://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]