Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Smack "No Response From Server". Not sure why am i getting this error

I have an openfire server setted up on my local machine. I am trying to connect this server, but getting "No response from server" error. Not sure why?

I have spark client on the same machine that is getting connected to the server successfully.

Can you please help me out to identify the problem?

Below is the log details that might help

07-30 01:01:02.570: I/System.out(424): 01:01:02 AM SENT (1156489960): <stream:stream to="192.168.1.3"             xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
07-30 01:01:02.593: I/System.out(424): 01:01:02 AM RCV  (1156489960): <?xml version='1.0'  encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"  from=
07-30 01:01:02.593: I/System.out(424): 01:01:02 AM RCV  (1156489960): "praleeds" id="39bc1246" xml:lang="en" version="1.0"><stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></startt
07-30 01:01:02.593: I/System.out(424): 01:01:02 AM RCV  (1156489960): ls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>
07-30 01:01:02.593: I/System.out(424): 01:01:02 AM SENT (1156489960): <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
07-30 01:01:02.617: I/System.out(424): 01:01:02 AM RCV  (1156489960): ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><metho
07-30 01:01:02.617: I/System.out(424): 01:01:02 AM RCV  (1156489960): d>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-re
07-30 01:01:02.623: I/System.out(424): 01:01:02 AM RCV  (1156489960): gister"/></stream:features><proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
07-30 01:01:02.835: W/System.err(424): java.security.KeyStoreException: KeyStore jks implementation not found
07-30 01:01:02.835: W/System.err(424):  at java.security.KeyStore.getInstance(KeyStore.java:134)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.ServerTrustManager.<init>(ServerTrustManager.java:61)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.XMPPConnection.proceedTLSReceived(XMPPConnection.java:839)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:268)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:71)
07-30 01:01:11.612: W/ActivityManager(59): Launch timeout has expired, giving up wake lock!
07-30 01:01:12.038: W/ActivityManager(59): Activity idle timeout for HistoryRecord{45072328 com.android.notifications/.NotificationsActivity}
07-30 01:01:17.284: D/dalvikvm(235): GC_EXPLICIT freed 156 objects / 11400 bytes in 228ms
07-30 01:01:17.653: I/System.out(424): 01:01:17 AM SENT (1156489960): <iq id="Q41Dw-0" to="praleeds" type="set"><query xmlns="jabber:iq:register"><password>praleed</password><email>[email protected]</email><username>praleedsuvarna</username><name>Praleed Suvarna</name></query></iq>
07-30 01:01:22.344: D/dalvikvm(260): GC_EXPLICIT freed 45 objects / 2176 bytes in 239ms
07-30 01:01:22.693: V/Praleed-Notifications(424): No Response from Server; Host : 192.168.1.3; User : null
07-30 01:01:22.924: I/ActivityManager(59): Displayed activity com.android.notifications/.NotificationsActivity: 21292 ms (total 21292 ms)
07-30 01:01:23.545: I/global(424): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
07-30 01:01:23.545: I/global(424): Default buffer size used in BufferedWriter constructor. It would be better to be explicit if an 8k-char buffer is required.
07-30 01:01:23.553: I/System.out(424): 01:01:23 AM SENT (1156489960): <stream:stream to="praleeds" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
07-30 01:01:23.573: I/System.out(424): 01:01:23 AM SENT (1156489960): <presence id="Q41Dw-1" type="unavailable"></presence>
07-30 01:01:23.573: I/System.out(424): 01:01:23 AM SENT (1156489960): </stream:stream>
07-30 01:01:23.799: W/System.err(424): java.io.IOException: Read error: Failure in SSL library, usually a protocol error
07-30 01:01:23.803: W/System.err(424):  at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeread(Native Method)
07-30 01:01:23.803: W/System.err(424):  at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.access$300(OpenSSLSocketImpl.java:55)
07-30 01:01:23.803: W/System.err(424):  at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:542)
07-30 01:01:23.803: W/System.err(424):  at java.io.InputStreamReader.read(InputStreamReader.java:275)
07-30 01:01:23.813: W/System.err(424):  at java.io.BufferedReader.fillBuf(BufferedReader.java:155)
07-30 01:01:23.813: W/System.err(424):  at java.io.BufferedReader.read(BufferedReader.java:348)
07-30 01:01:23.813: W/System.err(424):  at org.jivesoftware.smack.util.ObservableReader.read(ObservableReader.java:42)
07-30 01:01:23.813: W/System.err(424):  at org.kxml2.io.KXmlParser.peek(KXmlParser.java:931)
07-30 01:01:23.813: W/System.err(424):  at org.kxml2.io.KXmlParser.peekType(KXmlParser.java:589)
07-30 01:01:23.813: W/System.err(424):  at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:333)
07-30 01:01:23.813: W/System.err(424):  at org.kxml2.io.KXmlParser.next(KXmlParser.java:1385)
07-30 01:01:23.823: W/System.err(424):  at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:326)
07-30 01:01:23.823: W/System.err(424):  at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
07-30 01:01:23.823: W/System.err(424):  at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:71)

I am using the below code

    System.setProperty("smack.debugEnabled", "true");
    XMPPConnection.DEBUG_ENABLED = true;

    ConnectionConfiguration config = new ConnectionConfiguration("192.168.1.3", 5222);
    Connection connection = new XMPPConnection(config);
    try {
        connection.connect();
        AccountManager am = connection.getAccountManager();
        HashMap<String, String> attributes = new HashMap<String, String>();
        attributes.put("username", "xyz");
        attributes.put("password", "******");
        attributes.put("email", "[email protected]");
        attributes.put("name", "xyz");

        am.createAccount("xyz", "******", attributes);
    }

Thanks in advance.

like image 717
Prals Avatar asked Jul 29 '12 20:07

Prals


2 Answers

Did you notice the error:

7-30 01:01:02.835: W/System.err(424): java.security.KeyStoreException: KeyStore jks implementation not found
07-30 01:01:02.835: W/System.err(424):  at java.security.KeyStore.getInstance(KeyStore.java:134)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.ServerTrustManager.<init>(ServerTrustManager.java:61)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.XMPPConnection.proceedTLSReceived(XMPPConnection.java:839)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:268)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
07-30 01:01:02.835: W/System.err(424):  at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:71)

make sure to fix the truststore implementation! If you are using aSmack for example with

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
    connectionConfiguration.setTruststoreType("AndroidCAStore");
    connectionConfiguration.setTruststorePassword(null);
    connectionConfiguration.setTruststorePath(null);
} else {
    connectionConfiguration.setTruststoreType("BKS");
    String path = System.getProperty("javax.net.ssl.trustStore");
    if (path == null)
        path = System.getProperty("java.home") + File.separator + "etc"
            + File.separator + "security" + File.separator
            + "cacerts.bks";
    connectionConfiguration.setTruststorePath(path);
}

Source

like image 71
Flow Avatar answered Oct 04 '22 01:10

Flow


I have increased the reply timeout and it worked like charm.

SmackConfiguration.setPacketReplyTimeout(10000);

though not sure why I need to do so when the server is installed on the same machine.

like image 25
Prals Avatar answered Oct 04 '22 02:10

Prals