Bug ID 2252233: MCPD Crashes When Worker Connection Destructor Accesses Main-Thread Data Structures

Last Modified: Sep 18, 2026

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

Fixed In:
21.1.0

Opened: Mar 19, 2026

Severity: 2-Critical

Symptoms

mcpd_worker core generated with the following backtrace [ 00 ] libc-2.17.so raise ( raise.c:56 ) [ 01 ] libc-2.17.so abort ( abort.c:90 ) [ 02 ] libc-2.17.so __assert_fail_base ( assert.c:92 ) [ 03 ] libc-2.17.so __assert_fail ( assert.c:101 ) [ 04 ] libmcpdcommon.so MCPConnection::sendMessage() ( MCPConnection.cpp:1267 ) [ 05 ] libmcpdcommon.so MCPConnection::send(_mcpmsg_t*) ( MCPConnection.cpp:1540 ) [ 06 ] libmcpdcommon.so request_group::reply(bool, _mcpmsg_t*, bool) ( request_group.cpp:2496 ) [ 07 ] libmcpdcommon.so request_group::delete_connection(MCPConnection*, bool&) ( request_group.cpp:2637 ) [ 08 ] libmcpdcommon.so MCPProcessor::delete_connection(MCPConnection*) ( MCPProcessor.cpp:2808 ) [ 09 ] libmcpdcommon.so MCPConnection::~MCPConnection() ( MCPConnection.cpp:543 ) [ 10 ] libmcpdcommon.so MCPConnection::~MCPConnection() ( MCPConnection.cpp:555 ) [ 11 ] libmcpdcommon.so operator() ( functional:2471 ) [ 12 ] libmcpdcommon.so EpollManager::run() ( epoll.cpp:274 ) [ 13 ] libmcpdcommon.so MCP_worker_service::worker_run() ( MCPWorkerService.cpp:242 ) [ 14 ] libmcpdcommon.so MCP_worker_service::thread_entry(void*) ( MCPWorkerService.cpp:80 ) [ 15 ] libpthread-2.17.so start_thread ( pthread_create.c:308 )

Impact

Mcpd will be restarted, along with other control plane daemons that depend on it.

Conditions

When a workers connection socket errors or closes

Workaround

None

Fix Information

MCPd will not be restarted if the MCPd worker thread connection socket error or is closed.

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips