I have the same problem too. I tested smack 3.1.0 and i can connect only to my local Openfire server, i installed local ejabberd server and this error ocurr:
java.lang.NullPointerException
at org.jivesoftware.smack.util.Base64.encodeBytes(Base64.java:636)
at org.jivesoftware.smack.sasl.SASLMechanism.challengeReceived(SASLMechanism.java: 152)
at org.jivesoftware.smack.SASLAuthentication.challengeReceived(SASLAuthentication. java:492)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:338)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:76)
I get the same error when i try to connect to jabber.org. It seams Smack 3.1.0 wokrs only when you connect to openfire server. I hope this will be fixed soon.