Example provider application with EMA C++ is crashing at exit

Options

RTSDK-2.0.6.L1.linux.rrg

RTSDK-2.0.6.L1.linux.rrg/Cpp-C/Ema/Executables/CENTOS7_64_GCC482/Optimized/IProv280

Provider crashes at end with stack

(gdb) bt

#0 0x00007f5ceaf07387 in __GI_raise (sig=sig@entry=6)

at ../nptl/sysdeps/unix/sysv/linux/raise.c:55

#1 0x00007f5ceaf08a78 in __GI_abort () at abort.c:90

#2 0x00007f5ceaf54845 in malloc_printerr (ar_ptr=<optimized out>,

ptr=<optimized out>, str=<optimized out>, action=<optimized out>)

at malloc.c:4971

#3 free_check (mem=<optimized out>, caller=<optimized out>) at hooks.c:300

#4 0x0000000000560846 in refinitiv::ema::access::Pool<refinitiv::ema::access::EncodeIterator, refinitiv::ema::access::EncodeIterator>::returnItem(refinitiv::ema::access::EncodeIterator*) ()

#5 0x0000000000560743 in refinitiv::ema::access::Encoder::releaseEncIterator()

()

#6 0x00000000004d3269 in refinitiv::ema::access::FieldListEncoder::clear() ()

#7 0x00000000004d09bc in refinitiv::ema::access::EncoderPool<refinitiv::ema::access::FieldListEncoder>::returnItem(refinitiv::ema::access::FieldListEncoder*)

()

#8 0x00000000004d0317 in refinitiv::ema::access::FieldList::~FieldList() ()

#9 0x00007f5ceaf0ace9 in __run_exit_handlers (status=-1,

listp=0x7f5ceb2986c8 <__exit_funcs>,

run_list_atexit=run_list_atexit@entry=true) at exit.c:77

#10 0x00007f5ceaf0ad37 in __GI_exit (status=<optimized out>) at exit.c:99

#11 0x00000000005d2865 in refinitiv::ema::access::OmmBaseImplMap<refinitiv::ema::access::OmmServerBaseImpl>::monitorThread(void*) ()

#12 0x00007f5cebac6ea5 in start_thread (arg=0x7f5ceaed0700)

at pthread_create.c:307

#13 0x00007f5ceafcfb0d in clone ()

at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111


To reproduce

-Start provider with MALLOC_CHECK_=2

- Start consumer e.g. RTSDK-2.0.6.L1.linux.rrg/Cpp-C/Ema/Executables/CENTOS7_64_GCC482/Optimized/Cons331

- After consumer receives a message, kill consumer

- Kill provider with control-C, the provider crashes with above stack


Tagged:

Best Answer

  • zoya faberov
    zoya faberov ✭✭✭✭✭
    Answer ✓

    Hello @makarand.vaidya ,

    My understanding is that the crash happens consistently on your side, and is reproducible repeatedly.

    I was not able to directly reproduce the crush on my side: i have followed the instructions given, and on my side, IProv280 has exited cleanly.

    I have also tried the same test on windows RTSDK, and also the provider has exited cleanly.

    In this situation, the best approach, in my understanding, is to open a Premium Support case, and to investigate the issue in detail, by trying to match the environment that you run and try to reproduce on such- mine is on docker, and the versions of installed libraries, likely differ from yours.

    My record indicates that you are a named premium support user for your organization, if this is the case, you can open a premium support case directly, from Refinitiv Real Time API documentation area on developers portal.