Skip to content

Envoy crashes with assertion failure on redis cluster removal #7990

@ramaraochavali

Description

@ramaraochavali

Description:
Envoy crashes with assertion failure if a redis cluster is removed.

  • Management server sends redis cluster with CDS response
  • Envoy is fully initialized
  • Management server sends CDS update with out redis cluster
  • Envoy tries to remove the cluster and crashes with the following assertion while removing membership update callback.
[2019-08-21 13:35:56.778][1462770][critical][assert] [bazel-out/darwin-fastbuild/bin/source/common/common/_virtual_includes/callback_impl_lib/common/common/callback_impl.h:70] assert failure: std::find_if(callbacks_.begin(), callbacks_.end(), [handle](const CallbackHolder& holder) -> bool { return handle == &holder; }) != callbacks_.end().

If I look at the callbacks_.size() here - it is actually zero.

https://github.com/envoyproxy/envoy/blob/master/source/common/common/callback_impl.h#L60

Any idea on callback is not present during removal?

Metadata

Metadata

Labels

bugno stalebotDisables stalebot from closing an issue

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions