I've got a SUSE 15.1 install (on ppc64le) that kernel panics on a very simple test program, built in a slightly unusual way.
I'm compiling on SUSE 12, using gcc 4.8.3. I'm linking to a static copy of libcrypto.a (from openssl-1.1.1g), built without threads. I have a 10 line C test program that compiles and runs fine on the SUSE 12 system. If I compile the same program on SUSE 15.1 (with gcc 7.4.1), it runs fine on SUSE 15.1. But, if I run the version that I compiled on SUSE 12, on the SUSE 15.1 system, the call to RAND_status() gets to a malloc() and then panics. (And, of course, if I just compile a call to malloc(), that runs fine on both systems.) Here's the test program, it's really just a call to RAND_status(): #include <stdio.h> #include <openssl/rand.h> int main(int argc, char **argv) { int has_enough_data = RAND_status(); printf("The PRNG %s been seeded with enough data\n", has_enough_data ? "HAS" : "has NOT"); return 0; } openssl is configured/built with: ./config no-shared no-dso no-threads -fPIC -ggdb3 -debug -static make and the test program is compiled with: gcc -ggdb3 -o rand_test rand_test.c libcrypto.a The kernel on SUSE 12 is: 3.12.28-4-default And glibc is: 2.19 The kernel on SUSE 15.1 is: 4.12.14-197.18-default And glibc is: 2.26 In a previous iteration it was panicking in pthread_once(), so I compiled openssl without pthreads support, and now it panics calling malloc(). If I link to the system-supplied libcrypto.so, it works fine, and running the same tests on x86_64 works fine, it's only ppc64le that panics, and only running code from the old system on the new one. I'm trying to dig further down into this to come up with a standalone test case, but I'm wondering if anything here stands out as a known problem, or if someone can point me in the right direction. Thanks, Carl Jacobsen