Bug ID 641491: TMM core while running iRule LB::status pool poolname member ip port

Last Modified: Sep 13, 2023

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

Known Affected Versions:
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, 13.0.0, 13.0.0 HF1, 13.0.0 HF2, 13.0.0 HF3, 13.0.1

Fixed In:
13.1.0, 12.1.3

Opened: Jan 26, 2017

Severity: 2-Critical

Related Article: K37551222

Symptoms

An iRule response to a DNS request may trigger the Traffic Management Microkernel (TMM) to produce a core file and restart. As a result of this issue, you may encounter one or more of the following symptoms: -- The BIG-IP system may temporarily fail to process traffic as it recovers from the TMM restart, and devices configured as an HA pair may fail over. -- The BIG-IP system generates a TMM core file to the /shared/core directory.

Impact

Traffic disrupted while tmm restarts.

Conditions

This issue occurs when all of the following conditions are met: -- Your BIG-IP DNS system is configured with a wide IP that utilizes an iRule. -- The iRule uses the DNS_REQUEST event command LB::status to check a pool member status. -- The iRule pool address and port are separated by white space. Example iRule syntax: gtm rule pool_member_selection { when DNS_REQUEST { LB::status pool pool-one member 10.0.0.10 80 } }

Workaround

Use format 'ip:port' or vsname instead of 'ip port. Following are two examples: 1. gtm rule rule_crash_test { when DNS_REQUEST { LB::status pool pool-one member 10.2.108.100:80 } } 2. gtm rule rule_crash_test { when DNS_REQUEST { LB::status pool pool-one member pool_vs_name } }

Fix Information

An iRule response to a DNS request no longer triggers TMM to produce a core file and restart.

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips