Assertion failed: erased == 1 (mtrie.cpp:292)

I am working on tango device server part, as I start tango DS it is automatically being killed after sometime. I have attached the screen-shot of jive & gdb logs. From the GDB logs, I can see tango DS process is getting “SIGABRT” signal and because of that it is being killed.
I am not getting why it receives SIGABRT signal.

Anyone has any idea why it is getting SIGABRT signal with message : Assertion failed: erased == 1 (mtrie.cpp:292) ???

Hi,

It would be interesting to get more details.
What version of the C++ tango library are you using?
What version of ZMQ are you using?
Can you reproduce this easily with a simple C++ device server?
If yes, can you please share the source code of the simple device server and give instructions on how to reproduce the problem?
I found these issues reported on zmq github repo which look similar to your problem:

Cheers,
Reynald

When looking at PUB crash when SUB exceeded SNDHWM · Issue #2942 · zeromq/libzmq · GitHub, here is the description added in libzmq README when it has been fixed (in ZMQ 4.2.4):

[quote]

  • Fixed #2942 - ZMQ_PUB crash when due to high volume of subscribe and
    unsubscribe messages, an unmatched unsubscribe message is
    received in certain conditions[/quote]

Do you have a high volume of subscribe and unsubscribe messages coming to your device server?

Hi Reynald , thanks for the prompt reply.

We are using 9.2.2 version of C++ tango library and 4.0.7 for ZMQ

I will try to reproduce this with a simple device server program.

Approximately 5 - 7 clients subscribe to a particular attribute, however, the attribute value change is approximately 2 messages/sec.

Further findings after updating ZMQ_v4.2.5:
Changes in Taurus labels values are not updated however the attributes with static values are visible on Taurus label.
Taurus version: 3.7.0
Please find attached POC screens with different ZMQ version