[ 
https://issues.apache.org/jira/browse/THRIFT-5456?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevin Wojniak updated THRIFT-5456:
----------------------------------
    Description: 
TServerSocket sets up many socket options, but unlike TSocket, it doesn't 
disable SIGPIPE.

One example for how this can be triggered is the server receives a request, but 
takes too long to process it. The sender then times out, and potentially closes 
its sockets. The server then completes the request, and then attempts to write 
back the result. Since the socket is now closed, a SIGPIPE signal is sent to 
the process, and if that signal isn't ignored, the process would crash, with a 
potential -13 exit code.

  was:
TSocketServer sets up many socket options, but unlike TSocket, it doesn't 
disable SIGPIPE.

One example for how this can be triggered is the server receives a request, but 
takes too long to process it. The sender then times out, and potentially closes 
its sockets. The server then completes the request, and then attempts to write 
back the result. Since the socket is now closed, a SIGPIPE signal is sent to 
the process, and if that signal isn't ignored, the process would crash, with a 
potential -13 exit code.


> [C++] TServerSocket doesn't ignore SIGPIPE
> ------------------------------------------
>
>                 Key: THRIFT-5456
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5456
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>            Reporter: Kevin Wojniak
>            Assignee: Kevin Wojniak
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> TServerSocket sets up many socket options, but unlike TSocket, it doesn't 
> disable SIGPIPE.
> One example for how this can be triggered is the server receives a request, 
> but takes too long to process it. The sender then times out, and potentially 
> closes its sockets. The server then completes the request, and then attempts 
> to write back the result. Since the socket is now closed, a SIGPIPE signal is 
> sent to the process, and if that signal isn't ignored, the process would 
> crash, with a potential -13 exit code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to