Crash on join MUC
licaon-kter opened this issue · 6 comments
2.2.4 F-Droid
Open atalk
Wait for green dot as online
Open Create/Join chat room
Press join (tried with Conversations and then Ejabberd support MUCs)
aTalk crashes
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='mydomain.tld' type='result' id='WF614-24'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='conference.mydomain.tld' type='result' id='VR79T-8'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='proxy.mydomain.tld' type='result' id='VR79T-9'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='pubsub.mydomain.tld' type='result' id='VR79T-10'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='upload.mydomain.tld' type='result' id='VR79T-11'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='conference.mydomain.tld' type='result' id='VR79T-12'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='conference.mydomain.tld' type='result' id='WF614-26'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='mydomain.tld' type='result' id='WF614-28'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='conference.mydomain.tld' type='result' id='VR79T-13'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='proxy.mydomain.tld' type='result' id='VR79T-14'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='pubsub.mydomain.tld' type='result' id='VR79T-15'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='upload.mydomain.tld' type='result' id='VR79T-16'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='conference.mydomain.tld' type='result' id='VR79T-17'>
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='conference.mydomain.tld' type='result' id='WF614-30'>
I ActivityTaskManager: START u0 {flg=0x10000000 cmp=org.atalk.android/.gui.chat.ChatActivity (has extras)} from uid 10300
I ActivityTaskManager: START u0 {flg=0x10000000 cmp=org.atalk.android/.gui.chat.ChatActivity (has extras)} from uid 10300
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='conference.siacs.eu' type='result' id='VR79T-19'>
D SMACK : <c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='https://android.atalk.org' ver='C8m/4hb7TJHmm8dpt7KpttXz6sY='/>
I ActivityTaskManager: Displayed org.atalk.android/.gui.chat.ChatActivity: +78ms
D SMACK : <iq xml:lang='ro-RO' to='user@mydomain.tld/atalk' from='conversations@conference.siacs.eu' type='result' id='VR79T-20'>
D SMACK : <presence to='user@mydomain.tld/atalk' from='conversations@conference.siacs.eu' id='14106899751581595707'>
D SMACK : <presence to='user@mydomain.tld/atalk' from='conversations@conference.siacs.eu/RookieJabb'>
D SMACK : <presence xml:lang='en' to='user@mydomain.tld/atalk' from='conversations@conference.siacs.eu/edhelas' id='xLA21p'>
D AndroidRuntime: Shutting down VM
E AndroidRuntime: FATAL EXCEPTION: main
E AndroidRuntime: Process: org.atalk.android, PID: 7893
E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke interface method 'org.jxmpp.jid.BareJid org.jxmpp.jid.Jid.asBareJid()' on a null object reference
E AndroidRuntime: at net.java.sip.communicator.impl.protocol.jabber.ServerStoredContactListJabberImpl.findContactById(ServerStoredContactListJabberImpl.java:364)
E AndroidRuntime: at net.java.sip.communicator.impl.protocol.jabber.OperationSetPersistentPresenceJabberImpl.findContactByJid(OperationSetPersistentPresenceJabberImpl.java:346)
E AndroidRuntime: at net.java.sip.communicator.impl.protocol.jabber.ChatRoomMemberJabberImpl.getContact(ChatRoomMemberJabberImpl.java:257)
E AndroidRuntime: at org.atalk.android.gui.chat.conference.ConferenceChatSession.lambda$memberPresenceChanged$0$ConferenceChatSession(ConferenceChatSession.java:355)
E AndroidRuntime: at org.atalk.android.gui.chat.conference.-$$Lambda$ConferenceChatSession$a4yMgukCHlFB915HrNo2D-eIy-g.run(Unknown Source:4)
E AndroidRuntime: at android.os.Handler.handleCallback(Unknown Source:2)
E AndroidRuntime: at android.os.Handler.dispatchMessage(Unknown Source:4)
E AndroidRuntime: at android.os.Looper.loop(Unknown Source:242)
E AndroidRuntime: at android.app.ActivityThread.main(Unknown Source:98)
E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Unknown Source:11)
E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(Unknown Source:275)
D SMACK : <presence to='user@mydomain.tld/atalk' from='conversations@conference.siacs.eu/markus'>
E (UtilActivator.java:90)#uncaughtException: at org.atalk.android.gui.chat.conference.ConferenceChatSession.lambda$memberPresenceChanged$0$ConferenceChatSession(ConferenceChatSession.java:355)
E (UtilActivator.java:90)#uncaughtException: at org.atalk.android.gui.chat.conference.-$$Lambda$ConferenceChatSession$a4yMgukCHlFB915HrNo2D-eIy-g.run(Unknown Source:4)
E (ExceptionHandler.java:79)#uncaughtException: at org.atalk.android.gui.chat.conference.ConferenceChatSession.lambda$memberPresenceChanged$0$ConferenceChatSession(ConferenceChatSession.java:355)
E (ExceptionHandler.java:79)#uncaughtException: at org.atalk.android.gui.chat.conference.-$$Lambda$ConferenceChatSession$a4yMgukCHlFB915HrNo2D-eIy-g.run(Unknown Source:4)
D SMACK : <presence to='user@mydomain.tld/atalk' from='conversations@conference.siacs.eu/wedge'>
Is my understanding of your test setup are as follow:
- a chat room was first created using Conversation on ejabberd server i.e conversations@conference.siasc.eu.
- Then you use aTalk to create/join the existing chat room conversations@conference.siasc.eu
From the log, it seems the chat room has at least 5 occupants when user@mydomain.tld/atalk joins the chat room i.e.:
a. conversations@conference.siacs.eu
b conversations@conference.siacs.eu/RookieJabb
c. conversations@conference.siacs.eu/edhelas
d. conversations@conference.siacs.eu/markus
e. conversations@conference.siacs.eu/wedge
The problem lies with the first occupant (a) whom does not have a nickName; I do not understand why a conference room itself can be a participant, which itself is not a standard xmpp protocol.
How did conversation client invite a chatRoom to join?
Sorry I miss-interpreted the occupant info. (a) is not the participant but a capability broadcast for user@mydomain.tld/atalk.
Follow the captured log, I have also confirmed the problem is indeed caused by participant i.e.
(c) conversations@conference.siacs.eu/edhelas; I believe the participant has hided his jid.
I have fixed the problem for next release.
Thanks :)
Those are public anonymous MUCs where I join as a normal (non moderator/admin) user.
v2.2.5 released. Please verify
v2.2.5 released. Please verify
Works for me!
Indeed. Thanks