Github user zwoop commented on a diff in the pull request:
https://github.com/apache/trafficserver/pull/657#discussion_r64237117
--- Diff: proxy/http2/Http2Stream.cc ---
@@ -241,17 +243,22 @@ Http2Stream::do_io_close(int /* flags */)
{
current_reader = NULL; // SM on the way out
if (!sent_delete) {
+ SCOPED_MUTEX_LOCK(lock, this->mutex, this_ethread());
--- End diff --
I don't know this code at all, but it seems a little scary to hold this
mutex for so long. Particularly since it's still being held when we reenable SM
? And it's also held across the calls to a number of other methods, which
hopefully are not trying to lock anything, but it seems like we could easily
open up the possibilities of deadlocks here.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---