-
Notifications
You must be signed in to change notification settings - Fork 840
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
[Core]Fix coredump when m_pCryptoControl is Null #1193
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By the time this function CUDT::packData(..)
is called, the m_pCryptoControl
should exist. However, if you somehow manage to close a socket while being in this function, the m_pCryptoControl
might have been destroyed in another thread.
It looks like something is wrong with mutexes protecting both cases.
I'd keenly see the debug log - it will be cleanly seen in what order things happen and therefore how it was possible that |
My suggestion: For testing, keep this change, but in the condition when
When you can see this log during testing, please see if when it happens the broken flag is set and possibly also connected flag is clear. If it is so, it means that the code works still correctly predictably, so the proper fix should be:
in the beginning of |
This reverts commit 06ddfc9.
Closing as fixed by #1315 |
#1182
maybe fixed ~