Bug ID 595385: HTTP:respond causes a keepalive connection to be RST after second request and "Invalid action" log.

Last Modified: Sep 13, 2023

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

Known Affected Versions:
11.4.1, 11.5.0, 11.5.1, 11.5.2, 11.5.3, 11.5.4, 11.5.5, 11.5.6, 11.5.7, 11.5.8, 11.5.9, 11.5.10, 11.6.0, 11.6.1, 11.6.2, 11.6.3, 11.6.3.1, 11.6.3.2, 11.6.3.3, 11.6.3.4, 11.6.4, 11.6.5, 11.6.5.1, 11.6.5.2, 11.6.5.3, 12.0.0, 12.0.0 HF1, 12.1.0 HF1, 12.0.0 HF2, 12.1.0 HF2, 12.0.0 HF3, 12.0.0 HF4, 12.1.1 HF1, 12.1.1 HF2, 12.1.2 HF1, 12.1.2 HF2, 12.1.0, 12.1.1, 12.1.2, 12.1.3, 12.1.3.1, 12.1.3.2, 12.1.3.3, 12.1.3.4, 12.1.3.5, 12.1.3.6, 12.1.3.7, 12.1.4, 12.1.4.1, 12.1.5, 12.1.5.1, 12.1.5.2, 12.1.5.3, 12.1.6

Fixed In:
13.0.0

Opened: May 24, 2016

Severity: 3-Major

Related Article: K57138400

Symptoms

Clients experience connection resets when using HTTP keep-alives. LTM log contains 'Invalid action' messages in the log that look similar to the following: http_process_state_prepend - Invalid action:0x109010 (Server side: vip=/Common/myprofile=http pool=/Common/mypool server_ip=ip_address).

Impact

HTTP keep-alive connections are being dropped when the iRule on the virtual server handling the HTTP traffic invokes the HTTP::respond API in the HTTP_REQUEST_SEND event.

Conditions

HTTP virtual server with an iRule attached. The invocation of the HTTP::respond API within the iRule's HTTP_REQUEST_SEND event for an HTTP keep-alive connection causes a reset of the keep-alive connection.

Workaround

Issue a HTTP::close before HTTP::respond Example: when HTTP_REQUEST_SEND { clientside { if {[HTTP::path] eq "/findex.html"} { HTTP::close HTTP::respond 200 content "This is my response" } } } Alternatively, issue HTTP::respond from a different event.

Fix Information

None

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips