Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#5056 closed Bug (wontfix)

Transmission ignores OS set file limits.

Reported by: gizah Owned by:
Priority: Normal Milestone: None Set
Component: libtransmission Version: 2.71
Severity: Normal Keywords:
Cc:

Description

I'm running transmission daemon on FreeBSD currently 2.61 however also on 2.51 the issue exists, release notes for newer versions don't show this to be fixed so I'm assuming the issue still exists.

After some time running about 400-500 torrents I start running into trouble, even though I tweaked my sysclt's to way higher limits and set cache size to 2gig torrents start crashing and the program becomes totally unresponsive (using RPC). The only way of fixing this is by restarting the daemon and removing torrents from being seeded.

Looking into the logs I see that the file limit has been reached, quite to my surprise because my settings.json is set to 30000 and my OS is set to accept 200000 per process.

Restarting the daemon shows the following line in the logs: [21:44:28.645] Changed open file limit from 200000 to 1024 (fdlimit.c:541)

Unfortunately my programming Foo is not high enough to discover why it does it, except that the line referred to seems to be a check to see whether these limits are sane. It seems to check against cache size and some other foo that's definitely above my lvl

Is the function broken (hard limited some way to 1024) or is there a system tweak I need to do before it will accept higher limits

Change History (3)

comment:1 Changed 9 years ago by x190

"hard limited some way to 1024."

This is intentional.

"set cache size to 2gig"

I think that could cause problems in itself. Default is 4MB and 16MB should be more than enough. I refer here to Transmission's settings, not sysctl.

comment:2 Changed 9 years ago by jordan

  • Resolution set to wontfix
  • Status changed from new to closed

the fds are limited to FD_SETSIZE for reasons discussed at length in ticket #4164. the tl;dr answer is libcurl crashes if you go past that number.

comment:3 Changed 9 years ago by jordan

  • Component changed from Transmission to libtransmission
  • Summary changed from Transmission Daemon ignores OS set file limits. to Transmission ignores OS set file limits.
Note: See TracTickets for help on using tickets.