Service Engine crash when True Client IP is used
search cancel

Service Engine crash when True Client IP is used

book

Article ID: 434542

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-192601.

This fault occurs if the Virtual Services are configured with a HTTP Profile with True Client IP enabled

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 `se_dp: worker process 2:                          '.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000055a3b2de6767 in ngx_http_profile_config_handler 
#0  0x000055a3b2de6767 in ngx_http_profile_config_handler 
#1  0x000055a3b2cfc05e in ngx_http_core_find_config_phase 
#2  0x000055a3b2cfbe75 in ngx_http_core_run_phases 
#3  ngx_http_handler 
#4  0x000055a3b2d077bb in ngx_http_process_request 

Environment

Avi Load Balancer 22.1.1 - 22.1.5

Cause

The issue is due to a bug in true client feature, where when a memory allocation fails when trying to access an unallocated memory, while handling the error.

Resolution

This issue is fixed in the below versions and later.

Bug ID: AV-192601

Release Notes: SE failure can occur if the memory allocation fails when True Client IP is used.

Fix version: 22.1.6, 30.2.1

Workaround: The SE failures occurs only when memory failures happen, so Increasing the SE memory or disable True Client IP feature can be a workaround.