we found our binary coredump in RFA dynamic library file. Following is the call stack information in the core file. The error was raised in Thread #1, and as you can see from the stack information, this Thread is all RFA LIB code.
The RFA LIB version we are using is rfa_v7.6.l1 for Linux.
(gdb) info thread Id Target Id Frame 2 Thread 0x7f1067810880 (LWP 10431) 0x00007f1064d5fab2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 * 1 Thread 0x7f1040e39700 (LWP 10445) 0x00007f1062e4c5d7 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00007f1062e4c5d7 in raise () from /lib64/libc.so.6 #1 0x00007f1062e4dcc8 in abort () from /lib64/libc.so.6 #2 0x00007f10671da33d in __RFA_ProblemReport () from /usr/local/lib/libRFA_Common.so #3 0x00007f1065e038ce in rfa::support::Thread::startWrapper(void*) () from /usr/local/lib/libRFA_SessionLayer.so #4 0x00007f1064d5bdf5 in start_thread () from /lib64/libpthread.so.0 #5 0x00007f1062f0d1ad in clone () from /lib64/libc.so.6 (gdb) thread 2 [Switching to thread 2 (Thread 0x7f1067810880 (LWP 10431))] #0 0x00007f1064d5fab2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 (gdb) bt #0 0x00007f1064d5fab2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f10671d9d96 in rfa::support::ConditionVariable::wait(long, long) () from /usr/local/lib/libRFA_Common.so #2 0x00007f10671cfe87 in rfa::common::EventQueueImpl::dispatch(long) () from /usr/local/lib/libRFA_Common.so #3 0x0000000000445976 in ?? () #4 0x00000000006225da in ?? () #5 0x0000000000445a67 in ?? () #6 0x000000000043949a in ?? () #7 0x00007f1062e38af5 in __libc_start_main () from /lib64/libc.so.6 #8 0x000000000041dce9 in ?? ()
We've checked there is no exception in our application log. The following is the error reported by RFA LIB's own error log:
$ cat RFA_000028BF_00000000_20180622_083002.log RFA Internal failure Application: RFA Process Id: 0x28BF File: Support/OS/Impl/Thread.cpp Line: 59 Problem: Unhandled exception caught
Can anyone help me how to fix this issue?
Do you mean RFA - C++ Edition - 7.6.2.E1 - Linux?
Since we are on Linux platform. RFA - C++ Edition - 7.6.2.E4 is just for Windows...
For RFA 7.6.x, you should use 7.6.2.E2. You can download it from the Software Download. If you are unable to see the package, please contact your TR account team.
However, if the application uses OMM interface, I suggest using RFA 8.1.0.E1 instead.
Re-posted relevant comments as an answer:
I suggest upgrading the application to use the latest version of RFA C++ to avoid all known issues.
For Windows thelatest version is RFA C++ 7.6.2.E4. You can download it from here.
For Linux you should use 7.6.2.E2. You can download it from the Software Download. If you are unable to see the package, please contact your TR account team.
However, if the application uses OMM interface, I suggest using RFA 8.1.0.E1 instead.