Openssl se atasca en SSL_library_init() al compilar en FreeBSD (clang9 y clang11) cuando se utiliza -fsanitize=address.
Estoy teniendo problemas con mi software al iniciar Openssl en FreeBSD 13 (OpenSSL 1.1.1k-freebsd 25 Mar 2021) cuando uso -fsanitize=address en clang11, el mismo problema ocurre con clang9.
El problema ocurre indiscriminadamente con:
– OpenSSL_add_all_algorithms();
– SSL_library_init()
– SSL_load_error_strings();
Para reproducir el problema:
#include <openssl ssl.h="">
int main(int argc, char *argv[]) {
SSL_library_init();
return EXIT_SUCCESS;
}
Luego, compila y ejecuta:
clang -lssl -lcrypto -fsanitize=address -o test test.c && ./test
La compilación se realiza correctamente, pero el programa se bloquea en SSL_library_init() usando el 100% de la CPU. Una vez que se elimina -fsanitize=address, todo funciona como se esperaba.
davy.ai
Solución para que el software se quede bloqueado al iniciar OpenSSL en FreeBSD 13
Si tu software se queda bloqueado al iniciar OpenSSL en FreeBSD 13 (OpenSSL 1.1.1k-freebsd 25 Mar 2021) mientras usas -fsanitize=address en clang11 o clang9, puedes seguir estos pasos para solucionar el problema:
Intenta incluir estos encabezados al comienzo de tu código:
Esperamos que estos pasos te ayuden a solucionar el problema relacionado con que el software se quede bloqueado al iniciar OpenSSL en FreeBSD 13.</netdb.h>