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

Last Modified: Nov 07, 2022

Bug Tracker

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

Known Affected Versions:
11.0.0, 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.1 HF1, 11.5.1 HF10, 11.5.1 HF11, 11.5.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.10, 11.5.2, 11.5.2 HF1, 11.5.3, 11.5.3 HF1, 11.5.3 HF2, 11.5.4, 11.5.4 HF1, 11.5.4 HF2, 11.5.4 HF3, 11.5.4 HF4, 11.5.5, 11.5.6, 11.5.7, 11.5.8, 11.5.9, 11.6.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.6.1, 11.6.1 HF1, 11.6.1 HF2, 11.6.2, 11.6.2 HF1, 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.0.0 HF2, 12.0.0 HF3, 12.0.0 HF4

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