Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changing nickname in unresponsive MUC hangs everything #261

Open
ge0rg opened this issue Apr 25, 2020 · 0 comments
Open

Changing nickname in unresponsive MUC hangs everything #261

ge0rg opened this issue Apr 25, 2020 · 0 comments

Comments

@ge0rg
Copy link
Collaborator

ge0rg commented Apr 25, 2020

When changing the nickname in a MUC that doesn't respond, the background thread will apparently block until the request times out (30s).

From yaxim-muc-hang.txt:

04-25 19:38:45.363 14400  8819 D yaxim.SmackableImp: room [email protected]: changing nickname to 🤷<200d>♂️
04-25 19:38:45.365 14400 30247 D SMACK   : SENT (0): <presence to='[email protected]/🤷<200d>♂️' id='wB4n4-333899'><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='https://yaxim.org/' ver='PNyKvAFdHcM4HyMVijywvPee9+o='/></presence>
04-25 19:39:15.365 14400  8819 E yaxim.SmackableImp: Changing nickname failed.
04-25 19:39:15.365 14400  8819 W System.err: org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 30000ms (~30s). Waited for response using: AndFilter: (FromMatchesFilter (full): [email protected]/🤷<200d>♂️, StanzaTypeFilter: Presence).
04-25 19:39:15.365 14400  8819 W System.err:    at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:265)
04-25 19:39:15.366 14400  8819 W System.err:    at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:219)
04-25 19:39:15.366 14400  8819 W System.err:    at org.jivesoftware.smackx.muc.MultiUserChat.changeNickname(MultiUserChat.java:1239)
04-25 19:39:15.366 14400  8819 W System.err:    at org.yaxim.androidclient.service.SmackableImp.syncDbRooms(SmackableImp.java:2582)
04-25 19:39:15.366 14400  8819 W System.err:    at org.yaxim.androidclient.service.XMPPService$2$1.run(XMPPService.java:243)
[...]
04-25 20:42:15.970  5010  5058 W BroadcastQueue: Receiver during timeout of BroadcastRecord{1d60bc8 u0 org.yaxim.androidclient.PING_ALARM} : BroadcastFilter{ab6ea7f 10409/u0 ReceiverList{7abbf9e 14400 org.yaxim.androidclient/10409/u0 remote:94e49d9}}
04-25 20:42:16.140 14400 14400 E yaxim.SmackableImp: Changing nickname failed.
04-25 20:42:16.140 14400 14400 W System.err: org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 30000ms (~30s). Waited for response using: AndFilter: (FromMatchesFilter (full): [email protected]/🤷<200d>♂️, StanzaTypeFilter: Presence).
04-25 20:42:16.141 14400 14400 W System.err:    at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:265)
04-25 20:42:16.141 14400 14400 W System.err:    at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:219)
04-25 20:42:16.141 14400 14400 W System.err:    at org.jivesoftware.smackx.muc.MultiUserChat.changeNickname(MultiUserChat.java:1239)
04-25 20:42:16.141 14400 14400 W System.err:    at org.yaxim.androidclient.service.SmackableImp.syncDbRooms(SmackableImp.java:2582)
04-25 20:42:16.142 14400 14400 W System.err:    at org.yaxim.androidclient.service.SmackableImp$PingAlarmReceiver.onReceive(SmackableImp.java:1626)
04-25 20:42:16.142 14400 14400 W System.err:    at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1646)
04-25 20:42:16.142 14400 14400 W System.err:    at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run(Unknown Source:2)
04-25 20:42:16.142 14400 14400 W System.err:    at android.os.Handler.handleCallback(Handler.java:883)
04-25 20:42:16.142 14400 14400 W System.err:    at android.os.Handler.dispatchMessage(Handler.java:100)
04-25 20:42:16.142 14400 14400 W System.err:    at android.os.Looper.loop(Looper.java:237)
04-25 20:42:16.142 14400 14400 W System.err:    at android.app.ActivityThread.main(ActivityThread.java:7804)
04-25 20:42:16.143 14400 14400 W System.err:    at java.lang.reflect.Method.invoke(Native Method)
04-25 20:42:16.143 14400 14400 W System.err:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
04-25 20:42:16.143 14400 14400 W System.err:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1068)
04-25 20:42:16.169 14400 14400 D yaxim.RosterProvider: notifying change
04-25 20:42:16.181 14400  2383 W m.androidclien: Long monitor contention with owner Smack Cached Executor (2371) at void org.yaxim.androidclient.service.SmackableImp.syncDbRooms()(SmackableImp.java:-1) waiters=2 in boolean org.yaxim.androidclient.service.SmackableImp.joinRoom(java.lang.String, java.lang.String, java.lang.String) for 40.306s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants