ETA application crashed in ripc10IntFlushSess

The application uses ETA to send over 10,000 messages per second. Recently, the application crashed with a segmentation fault in ripc10IntFlushSess. Two threads crashed in the same function, a few microseconds apart.
Program terminated with signal 11
#0 0x00000000004282a0 in ripc10IntFlushSess ()
Missing separate debuginfos, use: debuginfo-install
glibc-2.12-1.80.el6.x86_64 libgcc-4.4.6-4.el6.x86_64 libstdc++-4.4.6-4.el6.x86_64
(gdb) bt
#0 0x00000000004282a0 in ripc10IntFlushSess ()
#1 0x0000000000428cb8 in ripc10FlushSess ()
#2 0x0000000000420c60 in rsslSocketFlush ()
#3 0x000000000041362d in rsslFlush ()
Could you please help?
Best Answer
-
From the problem description, the application uses ETA with
multiple threads and two threads can call rsslFlush function on the same
channel concurrently. In this scenario, the application must use RSSL_LOCK_GLOBAL_AND_CHANNEL
instead of RSSL_LOCK_NONE when calling rsslInitialize or rsslInitializeEx
function. This setting allows for accessing the same channel from multiple
threads.RsslInitializeExOpts initOpts = RSSL_INIT_INITIALIZE_EX_OPTS;
RsslError error;
initOpts.rsslLocking = RSSL_LOCK_GLOBAL_AND_CHANNEL;
if (rsslInitializeEx(&initOpts, &error) != RSSL_RET_SUCCESS)
{
…
}Note that writing messages from multiple threads can result
in ordering issues and it is not recommended to write related messages across
different threads.0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 684 Datastream
- 1.4K DSS
- 615 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 249 ETA
- 554 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 643 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 192 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛