Bug ID 527932: Transfer of concurrent large compressed response documents with INFLATE enabled results in low memory conditions

Last Modified: Sep 13, 2023

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

Known Affected Versions:
11.0.0, 11.6.0 HF1, 11.6.0 HF2, 11.6.0 HF3, 11.6.0 HF4, 11.6.0 HF5, 11.6.0 HF6, 11.6.0 HF7, 11.6.0 HF8, 11.5.1 HF1, 11.6.1 HF1, 11.5.1 HF2, 11.6.1 HF2, 11.5.1 HF3, 11.5.1 HF4, 11.5.1 HF5, 11.5.1 HF6, 11.5.1 HF7, 11.5.1 HF8, 11.5.1 HF9, 11.5.1 HF10, 11.5.1 HF11, 11.5.2 HF1, 11.6.2 HF1, 11.5.3 HF1, 11.5.3 HF2, 11.5.4 HF1, 11.5.4 HF2, 11.5.4 HF3, 11.5.4 HF4, 11.1.0, 11.2.0, 11.2.1, 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.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

Fixed In:
12.1.0

Opened: Jun 15, 2015

Severity: 2-Critical

Symptoms

Buffering without constraint by INFLATE can lead to low memory conditions and/or memory fragmentation. This in conjunction with other allocator behaviors can lead to allocation failures and/or SIGABRT failures.

Impact

We might run into low memory conditions and/or memory fragmentation. This in conjunction with other allocator behaviors can lead to allocation failures and/or SIGABRT failures.

Conditions

When large transfers of compressed response documents are ongoing, INFLATE will buffer all ingress regardless of how fast the inflation is progressing or not. When subjected to concurrent large compressed response documents, zlib becomes throttled thus causing INFLATE jobs to proceed slowly. This causes the ingress pouring in to INFLATE to be buffered. Note that some modules, such as REWRITE, make heavy use of INFLATE, which makes those modules particularly susceptible to this issue.

Workaround

None

Fix Information

Flow control is added to INFLATE, which would limit the amount of data buffered by the module.

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips