Last Modified: Sep 13, 2023
Affected Product(s):
BIG-IP LTM
Known Affected Versions:
11.3.0, 11.4.0, 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.1.0 HF1, 12.1.0 HF2, 12.1.1 HF1, 12.1.1 HF2, 12.1.2 HF1, 12.1.2 HF2
Fixed In:
12.0.0
Opened: Jun 19, 2014 Severity: 3-Major Related Article:
K16433
If an LB_FAILED iRule calls HTTP::respond and references an undefined value, then Traffic Management Microkernel (TMM) can crash or failover. The following is in the ltm logfile showing the undefined value reference: Jun 19 11:10:04 bigip1 err tmm[9515]: 01220001:3: TCL error: /Common/rule_lbpickfailed <LB_FAILED> - can't read "value": no such variable while executing "log local0. "$value doesn't exist""
The TMM crashes.
The following have to be configured in order for this to reproduce: 1. An http profile with web acceleration and http compression enabled: profiles { /Common/http { } /Common/optimized-acceleration { } /Common/tcp { } /Common/wan-optimized-compression { } } 2. An LB_FAILED iRule that calls HTTP::respond and references an undefined value: when LB_FAILED { HTTP::respond 200 content "content" log local0. "$value doesn't exist" }
Fix iRule by not referencing an undefined value within LB_FAILED.
If an LB_FAILED iRule calls HTTP::respond and references an undefined value, then Traffic Management Microkernel (TMM) no longer crashes or fails over.