You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Mike Percy (JIRA)" <ji...@apache.org> on 2017/03/04 17:00:46 UTC

[jira] [Created] (KUDU-1910) Crash when writing to a closed TLS socket before squeasel startup

Mike Percy created KUDU-1910:
--------------------------------

             Summary: Crash when writing to a closed TLS socket before squeasel startup
                 Key: KUDU-1910
                 URL: https://issues.apache.org/jira/browse/KUDU-1910
             Project: Kudu
          Issue Type: Bug
    Affects Versions: 1.3.0
            Reporter: Mike Percy
            Priority: Critical


It is possible to receive a SIGPIPE when writing to a closed TLS socket. At the time of writing, Kudu doesn't explicitly ignore SIGPIPE early in the startup process. Even after we change that, the problem will exist for user programs utilizing the Kudu C++ client for the same reason.

Some potential workarounds for the client issue:

1. Implicitly set the disposition of SIGPIPE to SIG_IGN from a library for the whole client program. We could put this behind a KuduClientBuilder option.
2. Use the [OpenSSL BIO API](https://wiki.openssl.org/index.php/BIO) to set flags to avoid the generation of PIPE signals.
3. Document that clients must ignore or block the PIPE signal in threads that use the Kudu C++ Client API.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)