Service Engine may crash when the following requirements are met:
All versions running with the above VS config.
This particular problem is not applicable to non-DNS L4 Proxy or L7 Proxy
When the Service Engine tries to send a large DNS response(received from the backend server) to the client on a TCP connection that is recovering from network drops
The stack trace will include the function: panic (It should be present in initial #0 method calls)
Sample stack trace:
To investigate further, you can review the latest stack traces from the Controller or SE by accessing the following path:
CLI:
Login to Controller via ssh and run this command.Please note you have to replace the name of se_dp file here.
root@<Controller ip>:# cat /opt/avi/archive/stack_traces/<se_dp.timestamp>.stack_trace
UI:
Navigate to Administration>Support>Crash Reports>Expand the latest crash file.
Workarounds:
In the DNS VS there would be 2 services, one with UDP-per-Pkt and other with System-TCP-Proxy.
Remove the service of type System-TCP-Proxy, create a new VS which shares the VIP with the DNS VS. Configure this new VS with application profile as System-L4 and System-TCP-Proxy network profile.
With workaround 1, we will miss DNS information under the VS logs as the VS is configured with System-l4.
With workaround 2, we will miss DNS over TCP related logs.
The crash is fixed in 30.2.4, 31.1.2, 31.2.1.