Unbounded per-SSRC RTCP statistics history causes linear memory growth
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- c
- Ambito
- performance
Direzione di ricerca
Read ssrc_receiver_report() in daemon/ssrc.c: it allocates an ssrc_stats_block (L411-418) and appends it to other_e->stats_blocks after only rejecting samples under a second apart (L433-445), and the list is freed only when the SSRC entry is destroyed (L51-58); master repeats this near L2453-2472. Decide a bound (sample count or age) and enforce it at append time, keeping the newest entries. Done means RTCP/MOS memory stays flat across a long call; look for existing ssrc/statistics tests before changing the list.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
rtpengine version the issue has been seen with
12.5.1.41-1~bpo13+1
Used distribution and its version
trixie/sid
Linux kernel version used
6.6.48-flatcar
CPU architecture issue was seen on (see uname -m)
x86_64
Expected behaviour you didn't see
Memory used for RTCP/MOS statistics should remain bounded independently of call duration
Unexpected behaviour you saw
For every accepted RTCP Receiver Report, ssrc_receiver_report() allocates an ssrc_stats_block and appends it to other_e->stats_blocks.
The implementation:
- allocates and populates the statistics record
- only rejects samples received less than one second apart, then appends without a count or age limit
- clears the queue only when the SSRC entry is destroyed
The same unbounded append is still present on master
--final-timeout=SECS provides an indirect bound by deleting the call after a fixed time regardless of continuing RTP/RTCP, which also releases the SSRC history.
Steps to reproduce the problem
No response
Additional program output to the terminal or logs illustrating the issue
Anything else?
No response
- Lingua principale
- Perl
- Stelle
- 992
- Fork
- 459
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sipwise/rtpengine
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 12/100
sipwise/rtpengine#2210 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
HTTP/WS worker threads spin forever in `__websocket_write_done()` (`sched_yield` loop) — 100% CPU with `--listen-http`Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
sipwise/rtpengine#2197 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Kernel NULL pointer dereference in target_put() during target deletionForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
sipwise/rtpengine#2190 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Calls using a third logical interface are silently never written to Redis (breaks keyspace-notification HA)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
sipwise/rtpengine#2181 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di sipwise/rtpengine
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
jimsalterjrs/sanoid#1116 · 1 reazione ·
-
Add .gitattributes so share/skel keeps LF on a Windows git checkoutForse già presa @sadhana-s-codez l’ha presa 3 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
PerlDancer/Dancer2#1854 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
major/MySQLTuner-perl#1007 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100