Am using Smack 4.1.0-rc4 connecting to ejabbered xmpp server. Smack throws an exception when it is unable to parse presence of a roster. The actual presence value is "online".
Here is the xml stanza (debug mode of smack) and the Java Exception. Please note the highlighted part in blue
01:00:04 PM RECV (0): <presence from='xxxx/Smack' to='xxxx/Smack' xml:lang='en' id='MNHSI-6'/>
01:00:04 PM RECV (0): <presence from='yyyy/620145815' to='xxxx/Smack'><show>online</show><status>I am available to hear</status><x xmlns='jabber:x:delay' stamp='20150323T16:09:31'/>
<delay xmlns='urn:xmpp:delay' from='yyyy/620145815' stamp='2015-03-23T16:09:31Z'></delay></presence>
Mar 24, 2015 1:00:04 PM org.jivesoftware.smack.AbstractXMPPConnection callConnectionClosedOnErrorListener
WARNING: Connection closed with error
java.lang.IllegalArgumentException: No enum constant org.jivesoftware.smack.packet.Presence.Mode.online
at java.lang.Enum.valueOf(Enum.java:238)
at org.jivesoftware.smack.packet.Presence$Mode.valueOf(Presence.java:329)
at org.jivesoftware.smack.packet.Presence$Mode.fromString(Presence.java:366)
at org.jivesoftware.smack.util.PacketParserUtils.parsePresence(PacketParserUtils.j ava:557)
at org.jivesoftware.smack.util.PacketParserUtils.parseStanza(PacketParserUtils.jav a:155)
at org.jivesoftware.smack.AbstractXMPPConnection.parseAndProcessStanza(AbstractXMP PConnection.java:947)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$400(XMPPTCPConnection.java: 139)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPC onnection.java:982)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$200(XMPPTCPCon nection.java:937)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnecti on.java:952)
at java.lang.Thread.run(Thread.java:745)
01:00:04 PM XMPPConnection closed due to an exception (0)
java.lang.IllegalArgumentException: No enum constant org.jivesoftware.smack.packet.Presence.Mode.online
at java.lang.Enum.valueOf(Enum.java:238)
at org.jivesoftware.smack.packet.Presence$Mode.valueOf(Presence.java:329)
at org.jivesoftware.smack.packet.Presence$Mode.fromString(Presence.java:366)
at org.jivesoftware.smack.util.PacketParserUtils.parsePresence(PacketParserUtils.j ava:557)
at org.jivesoftware.smack.util.PacketParserUtils.parseStanza(PacketParserUtils.jav a:155)
at org.jivesoftware.smack.AbstractXMPPConnection.parseAndProcessStanza(AbstractXMP PConnection.java:947)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$400(XMPPTCPConnection.java: 139)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPC onnection.java:982)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$200(XMPPTCPCon nection.java:937)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnecti on.java:952)
at java.lang.Thread.run(Thread.java:745)
thnks and rgds,
Basav