Bug ID 857845: ASSERTs in hudproxy_tcp_repick() converted into an OOPS

Last Modified: Mar 23, 2020

Bug Tracker

Affected Product:  See more info
BIG-IP LTM(all modules)

Known Affected Versions:
13.1.0,,,,,,,,, 13.1.1,,,,,, 13.1.3,,, 14.1.0,,,,,,, 14.1.2,,,, 15.0.0, 15.0.1,,

Opened: Dec 04, 2019
Severity: 3-Major


Hudproxy_tcp_repick() asserts that no data is present. Example of assertion in /var/log/tmm: notice panic: ../modules/hudproxy/tcp/tcp_proxy.c:1610: Assertion "server drained" failed.


BIG-IP fails to process traffic when asserts fail.


If data is present, then assertion fails. Example of how to recreate ("server drained" failed): -The virtual server uses an iRule containing both the TCP::collect and LB::detach statements. -The LB::detach statement is not applied in a USER_REQUEST or USER_RESPONSE event. -The server-side connection is detached before the TCP::collect has been drained.


There is no work around. To avoid ("server drained" failed): -Use TCP::notify to generate a USER_REQUEST or USER_RESPONSE event, and detach the server connection within the event. For more information, refer to DevCentral iRules on TCP::notify.

Fix Information


Behavior Change