EricssonResearch / scream

SCReAM - Mobile optimised congestion control algorithm
BSD 2-Clause "Simplified" License
174 stars 53 forks source link

RtpQueue is full with newCc after 65536 seconds (max uint32_t in ntp domain) #55

Open realuptime opened 10 months ago

realuptime commented 10 months ago

Hi,

ScreamTx rust plugin constantly logs "RtpQueue is full" after running for 65536 seconds (65536 * 65536 in ntp domain = 4294967296 = max uint32_t). For sure it is not ok to keep ntp domain time in a uint32_t variable type. It happens when no receiver is connected. After this point, the receiver will not be able to receive any RTP packet. BTW, is there a way to reset screamtx without recreating the pipeline or re-inserting a new instance of screamtx? I have attached 2 logs when this happened: repro_queue_full1.zip repro_queue_full2.zip

realuptime commented 10 months ago

IF the client is connected when the ntp time wraps around, all is good! No dropped packets or queue full.

summary 65530.2 Transmit rate = 8182kbps, PLR = 0.00%( 0.01%), RTT = 0.047s, Queue delay = 0.003s encoder_rate 8000 kbbps summary 65532.2 Transmit rate = 8213kbps, PLR = 0.00%( 0.01%), RTT = 0.047s, Queue delay = 0.003s encoder_rate 8000 kbbps summary 65534.2 Transmit rate = 8277kbps, PLR = 0.00%( 0.01%), RTT = 0.047s, Queue delay = 0.003s encoder_rate 8000 kbbps summary 0.2 Transmit rate = 8049kbps, PLR = 0.00%( 0.01%), RTT = 0.047s, Queue delay = 0.004s encoder_rate 8000 kbbps summary 2.2 Transmit rate = 8307kbps, PLR = 0.00%( 0.01%), RTT = 0.050s, Queue delay = 0.007s encoder_rate 8000 kbbps summary 4.2 Transmit rate = 8248kbps, PLR = 0.00%( 0.01%), RTT = 0.051s, Queue delay = 0.009s encoder_rate 8000 kbbps summary 6.2 Transmit rate = 8253kbps, PLR = 0.00%( 0.01%), RTT = 0.050s, Queue delay = 0.007s encoder_rate 8000 kbbps

realuptime commented 10 months ago

Without newcc, the game was running idle for almost two days and there was no 'RtpQeue is full" error. I could reconnect the receiver and all was fine.

IngJohEricsson commented 10 months ago

Hi Sorry for the slow response. Strange that -newcc removes the issue. I will have a look at the problem as soon as possible.

Skickat från Outlook för iOShttps://aka.ms/o0ukef


Från: realuptime @.> Skickat: Sunday, September 3, 2023 10:07:53 PM Till: EricssonResearch/scream @.> Kopia: Subscribed @.***> Ämne: Re: [EricssonResearch/scream] RtpQueue is full with newCc after 65536 seconds (max uint32_t in ntp domain) (Issue #55)

Without newcc, the game was running idle for almost two days and there was no 'RtpQeue is full" error. I could reconnect the receiver and all was fine.

— Reply to this email directly, view it on GitHubhttps://protect2.fireeye.com/v1/url?k=31323334-501cfaf3-313273af-454445554331-c64609c3861b4481&q=1&e=a8b1df29-9d1a-4d3c-b487-ba51fb558e84&u=https%3A%2F%2Fgithub.com%2FEricssonResearch%2Fscream%2Fissues%2F55%23issuecomment-1704390516, or unsubscribehttps://protect2.fireeye.com/v1/url?k=31323334-501cfaf3-313273af-454445554331-25a0ab98902b31ee&q=1&e=a8b1df29-9d1a-4d3c-b487-ba51fb558e84&u=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACRZ2GA25SFQZFGLGBANGVLXYTPRTANCNFSM6AAAAAA4FRTUTU. You are receiving this because you are subscribed to this thread.Message ID: @.***>