Github user xiaosuo commented on the issue: https://github.com/apache/thrift/pull/1211 @jeking3 you are correct. In fact, we had found this issue, and we should do such things at all the error path when notifying the io threads. I will address this issue in a separated patch. At the same time, we should setIdle() before calling addTask(). Because the added task maybe expired and destroyed by other threads due to failing to notify IO threads, and the latter setIdle() may corrupt the memory.
--- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. ---