wineslab / colosseum-near-rt-ric

Source code for the paper M. Polese, L. Bonati, S. D'Oro, S. Basagni, T. Melodia, "ColoRAN: Design and Testing of Open RAN Intelligence on Large-scale Experimental Platforms," arXiv 2112.09559 [cs.NI], December 2021.
Apache License 2.0
36 stars 14 forks source link

e2term crashes when received RIC indication messages with length greater than 2000 bytes #9

Closed fgjeci closed 1 year ago

fgjeci commented 1 year ago

I came across this when I tried to run simulations from ns3 using RIC as the control entity. Everything worked smoothly for small indication messages (less than 2000 bytes), they could be passed to the xapp. However, when longer messages (2237 bytes in my case) was received by E2 term, the read in sctp was not successful. Below, you can find the debug. Hope you find it useful.

{"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"Initiating message 5 "} {"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"Got RICindication - initiating gnb:131-133-31000000"} {"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"ie type (ProtocolIE_ID) = 29"} {"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"Got RIC requestId entry, ie type (ProtocolIE_ID) = 29"} {"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"Received MEID: (null), exit_status 20, ptr gnb:131-133-31000000"} {"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"sub id = 24, mtype = 12050, ric instance id 0, requestor id = 24"} {"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"Tracing: ASN length = 2237, base64 message length = 2984 "} {"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"After processing message and sent to rmr for : gnb:131-133-31000000, Read time is : 0 seconds, 240069 nanoseconds"} {"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"Start Read from SCTP 14 fd"} {"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"Finish Read from SCTP 14 fd message length = -1"} {"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"EAGAIN - descriptor = 14"} {"ts":1683222254040,"crit":"DEBUG","id":"E2Terminator","mdc":{"thread id":"140632186152704"},"msg":"from receive SCTP to send RMR time is 0 seconds and 25103 nanoseconds"}

stack smashing detected : terminated

Thecave3 commented 1 year ago

Hi @fgjeci, this is a known issue with the RIC Bronze version E2 term. Reducing the size of the indication messages should help.

The RIC E version has fixed this issue and is known to work with ns-O-RAN.