This is basically the same issue as in Thread stuck in MultiUserChat.enter() forever - #15 by Flow
You are performing a blocking operation in a synchronous listener, which creates a deadlock that is resolved once the blocking operation times out.
Probably somewhere at
at net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl$ParticipantListener.processOwnPresence(ChatRoomJabberImpl.java:2771)
at net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl$ParticipantListener.processPresence(ChatRoomJabberImpl.java:2744)
which is within the listener, the room join should be decoupled from the listener’s control flow. Alternatively, use an asynchronous listener.