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>



Reply via email to