buptubuntu opened a new pull request #2497:
URL: https://github.com/apache/thrift/pull/2497


   Client: [go]
   
   If there is client connection and no data is send,we will encounter hang 
druing server stop:
   1>If transport factory conf with socket timeout,we will hang until the 
deadline of the socket
   
   2>If transport factory conf without socket timeout,we will hang forever
   
   Stack As below:
   goroutine 140800 [IO wait, 2706 minutes]:
   internal/poll.runtime_pollWait(0x7fbf804fb100, 0x72)
     runtime/netpoll.go:234 +0x89
   internal/poll.(*pollDesc).wait(0xc009087700, 0xc008196000, 0x0)
     internal/poll/fd_poll_runtime.go:84 +0x32
   internal/poll.(*pollDesc).waitRead(...)
     internal/poll/fd_poll_runtime.go:89
   internal/poll.(*FD).Read(0xc009087700, {0xc008196000, 0x10000, 0x10000})
     internal/poll/fd_unix.go:167 +0x25a
   net.(*netFD).Read(0xc009087700, {0xc008196000, 0x0, 0xc0061089b8})
     net/fd_posix.go:56 +0x29
   net.(*conn).Read(0xc007c98038, {0xc008196000, 0x0, 0xc006108978})
     net/net.go:183 +0x45
   github.com/apache/thrift/lib/go/thrift.(*socketConn).Read(0x246aae0, 
{0xc008196000, 0xc0058b4ed0, 0x246aae0})
     github.com/apache/[email protected]/lib/go/thrift/socket_conn.go:101 +0x44
   github.com/apache/thrift/lib/go/thrift.(*TSocket).Read(0xc003555460, 
{0xc008196000, 0x10000, 0x10000})
     github.com/apache/[email protected]/lib/go/thrift/socket.go:221 +0x67
   bufio.(*Reader).Read(0xc005657320, {0xc001da1000, 0x1000, 0x203000})
     bufio/bufio.go:227 +0x1b4
   
github.com/apache/thrift/lib/go/thrift.(*TBufferedTransport).Read(0xc0035554a0, 
{0xc001da1000, 0x431e10, 0x64})
     github.com/apache/[email protected]/lib/go/thrift/buffered_transport.go:67 
+0x45
   bufio.(*Reader).Read(0xc005657380, {0xc0090877f0, 0x4, 0x4b5bac0})
     bufio/bufio.go:227 +0x1b4
   io.ReadAtLeast({0x30c0520, 0xc005657380}, {0xc0090877f0, 0x4, 0x4}, 0x4)
     io/io.go:328 +0x9a
   io.ReadFull(...)
     io/io.go:347
   
github.com/apache/thrift/lib/go/thrift.(*TFramedTransport).readFrame(0xc009087780)
     github.com/apache/[email protected]/lib/go/thrift/framed_transport.go:199 
+0x3c
   
github.com/apache/thrift/lib/go/thrift.(*TFramedTransport).Read(0xc009087780, 
{0xc0090877f0, 0x1, 0x4})
     github.com/apache/[email protected]/lib/go/thrift/framed_transport.go:148 
+0x130
   
github.com/apache/thrift/lib/go/thrift.(*TFramedTransport).ReadByte(0xc009087780)
     github.com/apache/[email protected]/lib/go/thrift/framed_transport.go:157 
+0x2e
   
github.com/apache/thrift/lib/go/thrift.(*TCompactProtocol).readByteDirect(...)
     github.com/apache/[email protected]/lib/go/thrift/compact_protocol.go:766
   
github.com/apache/thrift/lib/go/thrift.(*TCompactProtocol).ReadMessageBegin(0xc008765040,
 {0x311a118, 0xc00319ede0})
     github.com/apache/[email protected]/lib/go/thrift/compact_protocol.go:367 
+0x62
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to