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

Akechi Sato
Akechi Sato Explorer

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.

Tagged:

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    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.

Answers

  • 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.