Build: #50 was successful Changes by Florian Schmaus <flo@geekplace.eu>

Code commits

Smack (4.3)

  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> 9be498c440e2b10cae4d01b4d0037bfdb90c85cf

    Fix NPE in Roster's presence listeners if 'from' is not set
    The NPE is caused by an inbound presence stanza without the 'from'
    attribute set. The stacktrace of the NPE is:

    FATAL EXCEPTION: Smack Cached Executor
    Process: de.fhg.ivi.senetz.mobile.android.mbk.debug, PID: 13365
    java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Object.hashCode()' on a null object reference
        at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:944)
        at org.jivesoftware.smack.roster.Roster.getPresencesInternal(Roster.java:374)
        at org.jivesoftware.smack.roster.Roster.getOrCreatePresencesInternal(Roster.java:388)
        at org.jivesoftware.smack.roster.Roster.access$1100(Roster.java:94)
        at org.jivesoftware.smack.roster.Roster$PresencePacketListener$1.run(Roster.java:1519)
        at org.jivesoftware.smack.AsyncButOrdered$Handler.run(AsyncButOrdered.java:121)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)

    Thanks to Marcel Heckel for reporting this.

    Fixes SMACK-861.

    • smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java (version 9be498c440e2b10cae4d01b4d0037bfdb90c85cf)
  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> 25b3f354216683e568a54b93be1c6a931cd79b26

    Ensure that shutdown() terminates reader/writer threads
    In case an exception happens in connect()/login() the
    'disconnectedButResumable' boolean may (still) be set. Which causes
    only one of the reader and writer threads to exit, typically the
    reader thread, because shutdown() will bail out very early. This
    leaves a dangling (writer) thread causing memory leaks and deadlocks
    on a subsequent connect()/login().

    • smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version 25b3f354216683e568a54b93be1c6a931cd79b26)
  • Florian Schmaus <flo@geekplace.eu>

    Florian Schmaus <flo@geekplace.eu> 5d46e281fcbd60f34bd96ccbe36faa8072d39354

    XMPPTCPConnection log when reader/writer threads start and exit

    • smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version 5d46e281fcbd60f34bd96ccbe36faa8072d39354)