Skip to content

Deepgram connection failure causes Satellite memory leak (unbounded RAM growth) #7872

@Stell0

Description

@Stell0

Steps to reproduce

  • Deploy satellite and configure the Deepgram connector.
  • Use an invalid/no-credit Deepgram API key (or otherwise force the Deepgram WebSocket handshake to fail).
  • Place/receive a call that triggers Satellite to create the Deepgram connection (bridge + RTP tasks start).
  • Leave the system running while the Deepgram connection keeps failing/retrying.
  • Monitor the Satellite container / python main.py RSS and swap over time (e.g., docker stats, /proc/<pid>/status, top).

Expected behavior

When the Deepgram connection fails to start, Satellite should terminate/cleanup the related resources (Deepgram connection/socket and background tasks, and the Asterisk channels) and memory usage should remain stable (no unbounded growth over time).

Actual behavior

When the Deepgram connection fails, memory usage for python main.py grows continuously over time until the container consumes multiple GB of RAM (and swap), requiring a container restart.

Evidence from the affected system:

294987 nethvoi+  20   0   10.0g   2.9g   5684 S   0.0  38.4   1686:55 python
nethvoi+  294987 13.2 38.4 10521692 3020788 ?    Ssl  Feb03 1686:55  |   \_ python main.py
584d99323a57  satellite           0.24%       3.159GB / 8.054GB  39.22%      0B / 0B         0B / 0B     12          28h57m39.420796s  13.69%
VmPeak:    10652764 kB
VmSize:    10521692 kB
VmHWM:      4136588 kB
VmRSS:      3020788 kB
RssAnon:    3015104 kB
RssFile:       5684 kB
VmData:     9644508 kB
VmSwap:     5764144 kB
Threads:         12

See also

https://mattermost.nethesis.it/nethesis/pl/d9bent5xdbbqdjnbeju8wkh9zc

Metadata

Metadata

Assignees

Labels

nethvoiceBug or features releted to the NethVoice projectverifiedAll test cases were verified successfully

Type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions