Skip to content
This repository has been archived by the owner on Dec 1, 2022. It is now read-only.

socketread0 hanging thread when calling send() #18

Closed
GoogleCodeExporter opened this issue Mar 17, 2015 · 1 comment
Closed

socketread0 hanging thread when calling send() #18

GoogleCodeExporter opened this issue Mar 17, 2015 · 1 comment

Comments

@GoogleCodeExporter
Copy link

What steps will reproduce the problem?
1. java.net.socketinputstream.socketread0 hanging thread when calling 
send(Message, List<String>, int)

2.
main" prio=10 tid=0x000000005f871800 nid=0x3cc7 runnable [0x00002b18a0f03000]
   java.lang.Thread.State: RUNNABLE
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
   at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
   at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:830)        - locked <0x00000000fe0b57e0> (a java.lang.Object)
   at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:787)        
   at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)        - locked <0x00000000f0228768> (a com.sun.net.ssl.internal.ssl.AppInputStream)
   at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)        
   at java.io.BufferedInputStream.read(BufferedInputStream.java:317)        - locked <0x00000000f278a658> (a java.io.BufferedInputStream)
   at sun.net.www.http.ChunkedInputStream.fastRead(ChunkedInputStream.java:221)        
   at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:662)        - locked <0x00000000f278cf30> (a sun.net.www.http.ChunkedInputStream)
   at java.io.FilterInputStream.read(FilterInputStream.java:116)
   at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2668)
   at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
   at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
   at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)        - locked <0x00000000f278e1b0> (a java.io.InputStreamReader)
   at java.io.InputStreamReader.read(InputStreamReader.java:167)
   at java.io.BufferedReader.fill(BufferedReader.java:136)
   at java.io.BufferedReader.readLine(BufferedReader.java:299)        - locked <0x00000000f278e1b0> (a java.io.InputStreamReader)
   at java.io.BufferedReader.readLine(BufferedReader.java:362)
   at com.google.android.gcm.server.Sender.getString(Sender.java:539)
   at com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:369)
   at com.google.android.gcm.server.Sender.send(Sender.java:261)

What is the expected output? What do you see instead?
It's expected that the Sender retry or exception when hanging socketRead0.

What version of the product are you using? On what operating system?
1.0.2 on CentOS 64bits

Please provide any additional information below.
Attached a patch to fix the issue, I'll add a git clone soon.

Original issue reported on code.google.com by jeongha....@gmail.com on 26 Feb 2013 at 3:48

@kroikie
Copy link
Contributor

kroikie commented Feb 24, 2016

Setting a connection timeout may help with this issue. A PR has been submitted to allow this functionality.

@kroikie kroikie closed this as completed Feb 24, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants