F0622 11:22:30.985245 16127 libevent_ssl_socket.cpp:190] Check failed: 'self->bev' Must be non NULL Try<Nothing> LibeventSSLSocketImpl::shutdown(int how) CHECK_NOTNULL(self->bev)
Test case: A server is non-ssl, B server is enable downgrade, B frequent link reconnect to A, then will generate this error, very low probability. It's looks like bev is already free, than call shutdown again. class OpensslProcess : public ProtobufProcess<OpensslProcess> { public: OpensslProcess() : ProcessBase("OpensslProcess"), sendCnt(0), recvCnt(0) {} ~OpensslProcess() {} virtual void initialize() { install<UdpMessage>(&OpensslProcess::HandleMessage); install("ping", &OpensslProcess::pong); //SendMessage(); } void SendMessage() { string data = "hello world"; UdpMessage msg; msg.set_size(data.size()); msg.set_data(data); Address serverAddr = Address(net::IP::parse("127.0.0.1", AF_INET).get(), 7012); UPID destUpid = UPID("OpensslProcess", serverAddr); send(destUpid, msg); sleep(5); link(destUpid, RemoteConnection::RECONNECT); send(destUpid, msg); link(destUpid, RemoteConnection::RECONNECT); send(destUpid, msg); } [cid:image001.png@01D40DFB.F0D4B050] Su Teng 00241668 Distributed and Parallel Software Lab Huawei Technologies Co., Ltd. Email:sut...@huawei.com<mailto:sut...@huawei.com>