Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-1910

Crash when writing to a closed TLS socket before squeasel startup

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.3.0
    • None
    • None
    • None

    Description

      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 MSG_NOSIGNAL in send() calls and avoid the generation of PIPE signals due to TLS.
      3. Document that clients must ignore the PIPE signal in programs that use the Kudu C++ Client API.

      Attachments

        Activity

          People

            Unassigned Unassigned
            mpercy Mike Percy
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: