Problem with connectionStackLimit in TNonblockingServer
-------------------------------------------------------
Key: THRIFT-536
URL: https://issues.apache.org/jira/browse/THRIFT-536
Project: Thrift
Issue Type: Bug
Components: Library (C++)
Environment: Any
Reporter: Grzegorz LeszczyĆski
Priority: Minor
Problem is for version 1.0-782997 for debian, I don't know is it 0.1 or 0.2
version.
Problem is that, when connectionStackLimit is used (and it is used by default),
in TNonblockingServer::returnConnection TConnection could be destroyed. But
returnConnection is called from TConnection::close, so we are inside method for
object, which is destroyed and it could lead to crashes. It looks that only
place, where TConnection data is used, after object being destroyed, is in
TConnection::transition for state APP_READ_REQUEST (in "catch
(IllegalStateException & ise)") - I think it is bug anyway, because return is
missing there. But we made a patch for closing server gracefully and we use
TConnection::close() in TConnection destructor, too.
Anyway, it isn't good idea to delete object inside call to its method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.