Here is the exception and stacktrace the first time it is called (this is the call that I'm expecting, due to Google's violation of the spec):
org.xmlpull.v1.XmlPullParserException: Non-empty element tag not followed by text, while Mixed Content (XML 3.2.2) is disallowed
at org.jivesoftware.smack.util.PacketParserUtils.parseElementText(PacketParserUtil s.java:193) ~[smack-core-4.0.5-SNAPSHOT.jar:4.0.5-SNAPSHOT]
at org.jivesoftware.smack.util.PacketParserUtils.parseMessage(PacketParserUtils.ja va:130) ~[smack-core-4.0.5-SNAPSHOT.jar:4.0.5-SNAPSHOT]
at org.jivesoftware.smack.tcp.PacketReader.parsePackets(PacketReader.java:156) [smack-tcp-4.0.5-SNAPSHOT.jar:4.0.5-SNAPSHOT]
at org.jivesoftware.smack.tcp.PacketReader.access$000(PacketReader.java:47) [smack-tcp-4.0.5-SNAPSHOT.jar:4.0.5-SNAPSHOT]
at org.jivesoftware.smack.tcp.PacketReader$1.run(PacketReader.java:81) [smack-tcp-4.0.5-SNAPSHOT.jar:4.0.5-SNAPSHOT]
Here is the exception and stacktrace when it is called after that, in the infinite loop (the content is "</message>"):
java.lang.IndexOutOfBoundsException: only START_TAG can have attributes END_TAG seen ..."false" xmlns:arc="http://jabber.org/protocol/archive"/></message>... @1:3656
at org.xmlpull.mxp1.MXParser.getAttributeValue(MXParser.java:927) ~[xpp3-1.1.4c.jar:na]
at org.jivesoftware.smack.util.PacketParserUtils.parseMessage(PacketParserUtils.ja va:85) ~[smack-core-4.0.5-SNAPSHOT.jar:4.0.5-SNAPSHOT]
at org.jivesoftware.smack.tcp.PacketReader.parsePackets(PacketReader.java:156) [smack-tcp-4.0.5-SNAPSHOT.jar:4.0.5-SNAPSHOT]
at org.jivesoftware.smack.tcp.PacketReader.access$000(PacketReader.java:47) [smack-tcp-4.0.5-SNAPSHOT.jar:4.0.5-SNAPSHOT]
at org.jivesoftware.smack.tcp.PacketReader$1.run(PacketReader.java:81) [smack-tcp-4.0.5-SNAPSHOT.jar:4.0.5-SNAPSHOT]