Bug ID 565648: APM process (apmd) file descriptor leak

Last Modified: Apr 28, 2025

Affected Product(s):
BIG-IP APM(all modules)

Known Affected Versions:
12.0.0, 12.0.0 HF1, 12.0.0 HF2

Fixed In:
12.1.0, 12.0.0 HF3

Opened: Jan 05, 2016

Severity: 2-Critical

Symptoms

Access policy operations invoked by internal BIGIP functions (iRules/Rewrite) may cause the APM process (apmd) to leak file descriptors. After some time the APM process file descriptor table is exhausted and no more access policies are processed. Error messages may be observed in the logs: Jan 5 09:10:24 ENBig-AP1 err apmd[5251]: 01490000:3: HTTPParser.cpp func: "readFromSocket()" line: 62 Msg: epoll_create() failed [Too many open files]. Jan 5 09:10:24 ENBig-AP1 err apmd[5251]: 01490000:3: ApmD.cpp func: "process_apd_request()" line: 1573 Msg: error 3 reading/parsing response from socket 1015. strerror: Too many open files, queue size 0, time since accept 0

Impact

The APM process is unable to create sessions leading to an inability to process access policy operations.

Conditions

Access policies invoked by internal functions such as iRules or plugins can cause the leak.

Workaround

Restart the apmd process.

Fix Information

The APM process (apmd) no longer leaks file descriptors when access policy functions are invoked by internal BIGIP functions.

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips