question

Upvotes
Accepted
129 15 25 31

The RFA application crashed in SSL_library_init () after migrating from RFA 7.6 to RFA 8.0.1.L1

The application was running fine with RFA 7.6 on Oracle Linux 6. However, after migrating to RFA 8.0.1.L1, the application crashed with the following call stack.

(gdb) bt
#0  __strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp.S:259
#1  0x00007ffff7abfdba in ?? () from /usr/lib64/libcrypto.so.6
#2  0x00007ffff7ac0106 in lh_insert () from /usr/lib64/libcrypto.so.6
#3  0x00007ffff7a9c8eb in OBJ_NAME_add () from /usr/lib64/libcrypto.so.6
#4  0x0000003ed224ffc1 in SSL_library_init () from  /usr/lib64/libssl.so.10
#5  0x00000000006e6398 in ripc11InitializeSSL ()
#6  0x00000000006e1f11 in ripc10Initialize ()
#7  0x000000000068e145 in rsslSocketInitialize ()
#8  0x000000000067faf0 in rsslInitialize ()
#9  0x0000000000639de2 in rfa::sessionLayer::RSSL_WRAPCore::initRSSL_Interface()

Please let us know how to solve this issue.

treprfarfa-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
78.1k 246 52 72

On Linux platform, the RFA 8.0.1.L1 internally loads openssl-1.0.1 (libssl.so.10 and libcrypto.so.10) while initializing the underlying library. However, if the application links to openssl-0.9.8 (libssl.so.6 and libcrypto.so.6) while building the application, the application will crash due to the conflict of openssl libraries loaded by the application.

(gdb) info SharedLibrary
From                To                  Syms Read   Shared Object Library
0x0000003ec0e00b00  0x0000003ec0e19a8b  Yes         /lib64/ld-linux-x86-64.so.2
0x00007ffff7dafd10  0x00007ffff7dda168  Yes (*)     /usr/lib64/libssl.so.6
0x00007ffff7a99ac0  0x00007ffff7b381f8  Yes (*)     /usr/lib64/libcrypto.so.6
...
0x0000003ed22182e0  0x0000003ed2253148  Yes         /usr/lib64/libssl.so.10
0x0000003ece669cc0  0x0000003ece75db28  Yes         /usr/lib64/libcrypto.so.10

From the call stack, SSL_Library_init at address 0x0000003ed224ffc1 is from openssl-1.0.1 (/usr/lib64/libssl.so.10) while OBJ_NAME_add at address 0x00007ffff7a9c8eb is from openssl-0.9.8 (/usr/lib64/libcrypto.so.6).

#3  0x00007ffff7a9c8eb in OBJ_NAME_add () from /usr/lib64/libcrypto.so.6
#4  0x0000003ed224ffc1 in SSL_library_init () from  /usr/lib64/libssl.so.10
#5  0x00000000006e6398 in ripc11InitializeSSL ()

To avoid the issue, please migrate the application to use openssl-1.0.1.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
493 4 2 4

In addition to the great information from Jirapongse, changes have been made to RFA to load this in a different way. It is expected to be available in the RFA maintenance release currently targeted for mid-year.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.