-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash due to incorrect object destruction order #5313
Comments
@zyfjeff yeah this sounds like an order of destruction bug. I can't think of any reason not to rearrange. Can you fix? |
@zyfjeff No problem, I will fix it. |
Do we also want to change the Buffer stuff in ConnectionImpl as well? Ultimately the reason for the issue in ordering is that we have a bit of a circular dependency -- |
The current implementation of |
Title: Crash due to incorrect object destruction order
Description:
I am doing secondary development based on envoy to support the Dubbo protocol. I have a crash problem. I found that ConnectionImpl will destruct
filter_manager_
when destructuring, andfilter_manager_
will destruct the Dubbo filter I wrote. When Dubbo filter is destructed,ConnectionImpl::fd
is called, and this function uses thesocket_
ofConnectionImpl
, butsocket_
has been destructed beforefilter_manager_
.https://github.com/envoyproxy/envoy/blob/master/source/common/network/connection_impl.h#L137
IMO: The
filter_manager_
should be destructed earlier thansocket_
.I don't know if my understanding is correct. If it is not correct, please give me some suggestions.
Call Stack:
The text was updated successfully, but these errors were encountered: