This is crashing inside the getentropy call in glibc or the weak symbol binding does not work correctly for some reason. I'd suggest changing the line 359 of providers/implementations/rands/seeding/rand_unix.c from: # if !defined(__DragonFly__) && !defined(__NetBSD__) to: # if 0 That might help. Regards, Tomas Mraz On Thu, 2022-06-02 at 12:49 +0530, Minal Patil wrote: > here is the backtrace with debug. > Program received signal SIGILL, Illegal instruction. > 0x0000000010000004 in ?? () > Missing separate debuginfos, use: dnf debuginfo-install libgcc-8.3.1- > 4.5.el8.ppc64le libstdc++-8.3.1-4.5.el8.ppc64le > (gdb) bt > #0 0x0000000010000004 in ?? () > #1 0x000000001006da60 in syscall_random (buf=0x104a3350, buflen=48) > at providers/implementations/rands/seeding/rand_unix.c:364 > #2 0x000000001006e3b4 in ossl_pool_acquire_entropy (pool=0x104a3300) > at providers/implementations/rands/seeding/rand_unix.c:646 > #3 0x0000000010252ca0 in seed_src_generate (vseed=0x10446e90, > out=0x104a32c0 "", outlen=48, strength=0, > prediction_resistance=0, adin=0x7fffffffe340 "PoD\020", > adin_len=8) at providers/implementations/rands/seed_src.c:114 > #4 0x0000000010253124 in seed_get_seed (vseed=0x10446e90, > pout=0x7fffffffe410, entropy=256, min_len=48, > max_len=4294967294, prediction_resistance=0, adin=0x7fffffffe340 > "PoD\020", adin_len=8) > at providers/implementations/rands/seed_src.c:204 > #5 0x000000001032a764 in get_entropy (drbg=0x10446f50, > pout=0x7fffffffe410, entropy=384, min_len=48, max_len=4294967294, > prediction_resistance=0) at > providers/implementations/rands/drbg.c:241 > #6 0x000000001032b140 in ossl_prov_drbg_instantiate > (drbg=0x10446f50, strength=0, prediction_resistance=0, > pers=0x10397a88 <ossl_pers_string> "OpenSSL NIST SP 800-90A > DRBG", perslen=29) > at providers/implementations/rands/drbg.c:451 > #7 0x000000001024eab8 in drbg_ctr_instantiate_wrapper > (vdrbg=0x10446f50, strength=0, prediction_resistance=0, pstr=0x0, > pstr_len=0, params=0x7fffffffe620) at > providers/implementations/rands/drbg_ctr.c:337 > #8 0x0000000010127aa0 in evp_rand_instantiate_locked > (ctx=0x1042da90, strength=0, prediction_resistance=0, pstr=0x0, > pstr_len=0, params=0x7fffffffe620) at crypto/evp/evp_rand.c:505 > #9 0x0000000010127b50 in EVP_RAND_instantiate (ctx=0x1042da90, > strength=0, prediction_resistance=0, pstr=0x0, > pstr_len=0, params=0x7fffffffe620) at crypto/evp/evp_rand.c:518 > #10 0x000000001003a988 in rand_new_drbg (libctx=0x0, > parent=0x1042da60, reseed_interval=256, reseed_time_interval=3600) > at crypto/rand/rand_lib.c:595 > #11 0x000000001003ab58 in RAND_get0_primary (ctx=0x0) at > crypto/rand/rand_lib.c:642 > #12 0x000000001003add4 in RAND_get0_private (ctx=0x0) at > crypto/rand/rand_lib.c:706 > #13 0x0000000010039cd4 in RAND_priv_bytes_ex (ctx=0x0, buf=0x10421f40 > "", num=64, strength=0) > at crypto/rand/rand_lib.c:333 > #14 0x00000000100a7824 in bnrand (flag=PRIVATE, rnd=0x10420e70, > bits=512, top=1, bottom=1, strength=0, ctx=0x10420b90) > at crypto/bn/bn_rand.c:51 > #15 0x00000000100a7db4 in BN_priv_rand_ex (rnd=0x10420e70, bits=512, > top=1, bottom=1, strength=0, ctx=0x10420b90) > at crypto/bn/bn_rand.c:122 > #16 0x00000000100a6ae4 in probable_prime (rnd=0x10420e70, bits=512, > safe=0, mods=0x10420f30, ctx=0x10420b90) > --Type <RET> for more, q to quit, c to continue without paging-- > at crypto/bn/bn_prime.c:486 > #17 0x00000000100a5c3c in BN_generate_prime_ex2 (ret=0x10420e70, > bits=512, safe=0, add=0x0, rem=0x0, cb=0x0, > ctx=0x10420b90) at crypto/bn/bn_prime.c:160 > #18 0x000000001003dce8 in rsa_multiprime_keygen (rsa=0x10411eb0, > bits=1024, primes=2, e_value=0x10411e70, cb=0x0) > at crypto/rsa/rsa_gen.c:191 > #19 0x000000001003e71c in rsa_keygen (libctx=0x0, rsa=0x10411eb0, > bits=1024, primes=2, e_value=0x10411e70, cb=0x0, > pairwise_test=0) at crypto/rsa/rsa_gen.c:437 > #20 0x000000001003d598 in RSA_generate_multi_prime_key > (rsa=0x10411eb0, bits=1024, primes=2, e_value=0x10411e70, cb=0x0) > at crypto/rsa/rsa_gen.c:71 > #21 0x000000001003d434 in RSA_generate_key_ex (rsa=0x10411eb0, > bits=1024, e_value=0x10411e70, cb=0x0) > at crypto/rsa/rsa_gen.c:46 > #22 0x0000000010003ae8 in generate_key (keysize=1024, > pub_key=0x7fffffffef48, pri_key=0x7fffffffef50) at generatekey.c:25 > #23 0x0000000010003da8 in main () at generatekey.c:74 > > On Thu, Jun 2, 2022 at 12:06 PM Tomas Mraz <tomas@xxxxxxxxxxx> wrote: > > Can you please try to build the openssl with debug information (-d > > on > > Configure command line)? To see whether the backtrace will contain > > more > > information. > > > > Tomas Mraz > > > > On Thu, 2022-06-02 at 11:09 +0530, Minal Patil wrote: > > > Hello All, > > > > > > I am trying to use RSA_generate_key_ex function to generate the > > > RSA > > > key pairs on RHEL 7.2 PPCle. I am observing crash when i link the > > > source code with Openssl 3.0 whereas same works if i link with > > > Openssl 1.0.2 > > > > > > Below is configure command used for compiling openssl > > > ./Configure no-shared threads -- > > > prefix=/home/testuser/OpenSSL/Build > > - > > > -openssldir=/home/testuser/OpenSSL/Build --libdir=lib linux- > > > ppc64le > > - > > > Wa,--noexecstack > > > > > > I am attaching the source code I am using for reference. > > > Below is stack trace observed > > > > > > Program received signal SIGILL, Illegal instruction. > > > #0 0x0000000010000004 in ?? () > > > #1 0x000000001005afdc in ossl_pool_acquire_entropy () > > > #2 0x00000000101fed14 in seed_get_seed () > > > #3 0x00000000102be844 in get_entropy () > > > #4 0x00000000102bee8c in ossl_prov_drbg_instantiate () > > > #5 0x00000000101f9b2c in drbg_ctr_instantiate_wrapper () > > > #6 0x00000000100ff2e0 in EVP_RAND_instantiate () > > > #7 0x0000000010031c18 in rand_new_drbg () > > > #8 0x0000000010032bd0 in RAND_get0_primary () > > > #9 0x00000000100333f8 in RAND_get0_private () > > > #10 0x0000000010033558 in RAND_priv_bytes_ex () > > > #11 0x00000000100926cc in BN_priv_rand_ex () > > > #12 0x0000000010090b78 in BN_generate_prime_ex2 () > > > #13 0x0000000010035a90 in RSA_generate_multi_prime_key () > > > #14 0x00000000100361b4 in RSA_generate_key_ex () > > > #15 0x00000000100048b8 in generate_key (keysize=1024, > > > pub_key=0x7fffffffef38, pri_key=0x7fffffffef40) at > > > generatekey.c:25 > > > #16 0x0000000010004b78 in main () at generatekey.c:74 > > > > > > I am compiling both 1.0.2j and 3.0 with same configure command > > > and > > on > > > the same machine(i.e. RHEL 7). > > > > > > Any suggestion or pointer would be highly helpful. > > > > -- > > Tomáš Mráz, OpenSSL > > > > > > -- Tomáš Mráz, OpenSSL