During showdown, ganesha tries to desstroy all xprts, but then crashes because ganesha assert a xprt to be destroyed must have xp_ops initialized already. But in svc_vc_ncreatef and svc_fd_ncreatef, we don't have lock to protect the allocation and initialization part to be together. Shutdown could happen in between, in this case, above assertion will fail Instead of directly asserting, RETRY with some sleep to wait for the initialization of xp_ops to be done
During showdown, ganesha tries to desstroy all xprts, but then crashes because ganesha assert a xprt to be destroyed must have xp_ops initialized already. But in svc_vc_ncreatef and svc_fd_ncreatef, we don't have lock to protect the allocation and initialization part to be together. Shutdown could happen in between, in this case, above assertion will fail Instead of directly asserting, RETRY with some sleep to wait for the initialization of xp_ops to be done