Avi Service Engine Crash with Aggressive Congestion Avoidance Enabled
search cancel

Avi Service Engine Crash with Aggressive Congestion Avoidance Enabled

book

Article ID: 415928

calendar_today

Updated On:

Products

VMware Avi Load Balancer

Issue/Introduction

The Avi Service Engine may fail due to a crash in a corner case. Bug ID: AV-253957.

This fault occurs if the Virtual Services are configured with a TCP Proxy Network Profile where "aggressive_congestion_avoidance" is set to true.

A Stacktrace similar to the one below can be seen under "Administration -> Support -> Crash reports -> core_archive.<timestamp>.tar.gz"

[Thread debugging using libthread_db enabled]
Using host libthread_db library 
Core was generated by                   '.
Program terminated with signal SIGABRT, Aborted.
#0  0x0000564c6b49cd5c in m_copym
#0  0x0000564c6b49cd5c in m_copym
#1  0x0000564c6b21c78e in tcp_output_full
#2  0x0000564c6b21e7a5 in tcp_output
#3  0x0000564c6b20ff52 in tcp_do_segment_cut

 

Cause

A logic error occurs during recovery from network congestion when Aggressive Congestion Avoidance is enabled. This specific corner case leads to an SE crash or unresponsive state.

Resolution

Permanent Fix:

This issue is permanently resolved in the following Avi versions:

  • 30.2.6
  • 32.1.1

Workaround:

Disable aggressive_congestion_avoidance in the Network Profile via the CLI.

1. Disable Aggressive Congestion Avoidance: Run the following commands from the Controller shell:

> configure networkprofile <network-profile-name>
> profile tcp_proxy_profile
> no aggressive_congestion_avoidance
> save
> save

2. Optimize for Packet Drops: Disabling the setting above may result in degraded throughput if the underlying network experiences high packet loss (e.g., WAN links). If performance degradation is observed, increase the minimum retransmission timeout to 400ms.

> configure networkprofile <network-profile-name>
> profile tcp_proxy_profile
> min_rexmt_timeout 400
> save
> save