[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [Libevent-users] SSL problems after update to libeven 2.1.8



Hi Alexander,

Sorry for the delay,

> So far, yes

Great.

> NOTE: Set LIBPROCESS_SSL_REQUIRE_CERT=1 to require peer certificate
> verification

Hm, maybe something with require-cert (is this SSL_VERIFY_PEER?) ?

> [pid 13305] --- SIGPIPE (Broken pipe) ---
> [pid 13305] libevent_openssl-2.1.so.6->SSL_get_error(0x204e3d0, 0xffffffff,
> -192, 0)                                                        = 5
> [pid 13305] libevent_openssl-2.1.so.6->SSL_get_error(0x204e3d0, 0xffffffff,
> 0x140750dd, 0)                                                  = 1
> [pid 13291] libevent_openssl-2.1.so.6->SSL_get_error(0x7f95b8000e60,
> 0xffffffff, -192, 0)                                                   = 2
> [pid 13305] --- SIGSEGV (Segmentation fault) ---
> [pid 13292] +++ killed by SIGSEGV +++
> [pid 13278] --- SIGCHLD (Child exited) ---
> [pid 13291] libevent_openssl-2.1.so.6->SSL_get_error(0x7f95b8000e60, 0, 11,
> 0)                                                              = 5
> ../../../3rdparty/libprocess/src/tests/ssl_tests.cpp:254: Failure
> (socket).failure(): Failed accept: connection error:
> error:00000000:lib(0):func(0):reason(0)
> ```

I don't like SIGPIPE here, seems that under ltrace it got SIGPIPE and
you do not ignore it, am I right [1]? Could you add code to ignore it and
retry again?

  [1]: https://github.com/apache/mesos/blob/abd1751aa9a305b0648f4a630acbc84e7d837783/3rdparty/libprocess/src/process.cpp#L1029

I think that something like this before start in bash will do the trick:
  trap '' SIGPIPE

Or maybe it will be better if you will remove #ifdef 0/#endif for
print_err() in bufferevent_openssl.c and recompile it with it?

And the best thing that you can do is to produce a sample that I can
compile and dig into, because I think that mesos is not the thing that I
want to compile from sources for this.

> I also verified our use of  `BEV_OPT_DEFER_CALLBACKS` and we do not use it
> for listening sockets, so my backtrace should be alright. Connecting
> sockets do use the flag however.

Regards,
Azat.

P.S. you email client again messed up with long lines from ltrace
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.