Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.12.0
Description
debraj92 found that when under some circumstance the SaslAuthenticatorImpl's sasl_dispose() function will crash out at destruction. The incident seems to be random and only when certain authentication and encryption combinations are used during connection.
After digging a little deeper, I found that when BOOST communication error occurs, the shutdownSocket (eventually triggering sasl_dispose()) could be called from various threads resulting in a race condition of freeing the handle. This can be reproduced with the querysubmitter. This is reproducible since 1.12.0+.
debraj92 will be adding a patch to resolve this incident.
2019-Feb-11 10:44:01 : TRACE : 2d74 : DrillClientImpl::handleRead: Handle Read from buffer 0000000004E1D850 2019-Feb-11 10:44:01 : TRACE : 2d74 : DrillClientImpl::handleRead: Cancel deadline timer. 2019-Feb-11 10:44:01 : TRACE : 2d74 : DrillClientImpl::handleRead: ERR_QRY_COMMERR. Boost Communication Error: End of file 2019-Feb-11 10:44:31 : TRACE : 3df8 : Disposing 1: +++ ENTER +++ 2019-Feb-11 10:44:31 : TRACE : 2d74 : Disposing 2: +++ ENTER +++ 2019-Feb-11 10:44:31 : TRACE : 2d74 : Disposing 2: --- EXIT --- 2019-Feb-11 10:44:31 : TRACE : 2d74 : Socket shutdown 2019-Feb-11 10:44:31 : TRACE : 3df8 : Disposing 1: --- EXIT ---