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:[email protected]]
Su Teng 00241668
Distributed and Parallel Software Lab
Huawei Technologies Co., Ltd.
Email:[email protected]<mailto:[email protected]>