qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
26.62k stars 3.86k forks source link

Memory leak leading to completely frozen system. #21068

Open bacon-cheeseburger opened 1 month ago

bacon-cheeseburger commented 1 month ago

qBittorrent & operating system versions

qBittorrent-nox: compiled from git master (5.0.0beta1-r12813-git+b52fa98a0) OS: debian linux (sid) Qt: 6.6.2 libtorrent-rasterbar: compiled from git master (1.2.19-r12321-git+231613643)

What is the problem?

It appears there's a memory that eventually leads to a completely frozen system that requires a power cycling to recover from. No core file is dumped (due to no memory I assume). The system has 16GB ram and within 48 hours (I think), qbittorrent-nox will have eaten all the ram. In my case I didn't add any new torrents. It was only seeding.

Steps to reproduce

  1. Compile git master.
  2. Start it and let it sit until it crashes.

Additional context

I was previously running git master r12552.git+7bd8f262d because Debian was floundering on Qt6.4 until they recently, finally, updated (to 6.6). That version was solid, no memory leak problem. I haven't done a bisect and hopefully won't have to because of the range I'd need to compile & test. I'm not sure what other info is helpful. Fingers crossed this is a known issue already.

Log(s) & preferences file(s)

No response

HanabishiRecca commented 1 month ago

Probably related to #20675, #20873

bacon-cheeseburger commented 1 month ago

@HanabishiRecca I read through the linked reports and the problem I'm experiencing does seem to be the same or related. Further detail here is, I'm running 3 instances of qbittorrent-nox, each in their own network namespace. So not fully containerized but enough that each one has its own network stack. Each uses a unique subnet and different webui port, which I manage in the default network namespace using nftable filters. I monitor the instances via the webui from Ungoogled Chrome on a Windows system.

I can try bisecting this if necessary.