sockets - Got stuck at java.net.SocketInputStream.socketRead0(Native Method) -


i got stuck @ java.net.socketinputstream.socketread0(native method). please see thread dump below, it's been in status 3 hours.

thread-0" prio=10 tid=0x00007facd02a5000 nid=0x309 runnable [0x00007facd4a43000] java.lang.thread.state: runnable     @ java.net.socketinputstream.socketread0(native method)     @ java.net.socketinputstream.read(socketinputstream.java:150)     @ java.net.socketinputstream.read(socketinputstream.java:121)     @ sun.security.ssl.inputrecord.readfully(inputrecord.java:442)     @ sun.security.ssl.inputrecord.read(inputrecord.java:480)     @ sun.security.ssl.sslsocketimpl.readrecord(sslsocketimpl.java:927)     - locked <0x00000000e34a0428> (a java.lang.object)     @ sun.security.ssl.sslsocketimpl.readdatarecord(sslsocketimpl.java:884)     @ sun.security.ssl.appinputstream.read(appinputstream.java:102)     - locked <0x00000000e34a0590> (a sun.security.ssl.appinputstream)     @ java.io.bufferedinputstream.fill(bufferedinputstream.java:235)     @ java.io.bufferedinputstream.read1(bufferedinputstream.java:275)     @ java.io.bufferedinputstream.read(bufferedinputstream.java:334)     - locked <0x00000000e30408b8> (a java.io.bufferedinputstream)     @ sun.net.www.http.httpclient.parsehttpheader(httpclient.java:633)     @ sun.net.www.http.httpclient.parsehttp(httpclient.java:579)     @ sun.net.www.protocol.http.httpurlconnection.getinputstream(httpurlconnection.java:1322)     - locked <0x00000000e3031d00> (a sun.net.www.protocol.https.delegatehttpsurlconnection)     @ sun.net.www.protocol.https.httpsurlconnectionimpl.getinputstream(httpsurlconnectionimpl.java:254)     - locked <0x00000000e3031c80> (a sun.net.www.protocol.https.httpsurlconnectionimpl) 

and i've set connect timeout , read timeout urlconnection. please see code snippet below. don't know why it'd hang @ java.net.socketinputstream.socketread0. have problem occasionally. suggestion appreciated!

public string sendpost(string params) throws throwable { printwriter out = null; string htmlcontent = null; try {   stringbuffer strbuffer = new stringbuffer();   url url = new url(this.weburl);   urlconnection urlconnection = url.openconnection();   urlconnection.setconnecttimeout(3000);   urlconnection.setreadtimeout(3000);    urlconnection.setrequestproperty("accept", "*/*");   urlconnection.setrequestproperty("connection", "keep-alive");   urlconnection.setrequestproperty("user-agent", "***");    urlconnection.setdooutput(true);   urlconnection.setdoinput(true);    out = new printwriter(urlconnection.getoutputstream());   out.print(params);   out.flush();    bufferedreader bufferdreader = new bufferedreader(new inputstreamreader(urlconnection.getinputstream(), "utf-8"));   string readline = null;         try {             while ((readline = bufferdreader.readline()) != null) {                 strbuffer.append(readline);             }         } catch (throwable e) {             return htmlcontent;         }         htmlcontent = strbuffer.tostring();         bufferdreader.close(); 

i think bug urlconnection. use sockets , timeout on them check.


Comments

Popular posts from this blog

php - Submit Form Data without Reloading page -

linux - Rails running on virtual machine in Windows -

php - $params->set Array between square bracket -