[GH-ISSUE #691] timeout on android #509

Closed
opened 2026-05-07 00:24:55 +02:00 by BreizhHardware · 3 comments

Originally created by @Robin-Sch on GitHub (Mar 31, 2023).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/691

🐞 Describe the bug

Timeout error in the android app when subscribing to a topic. Both on official and selfhosted instance.

💻 Components impacted

Android app (f-droid)

💡 Screenshots and/or logs

D NtfyLog Log was truncated
D NtfySubscriberMgr Enqueuing work to refresh subscriber service
D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = false; remind time reached = true; banner = false
D NtfyApiService Checking read access for user kiwiuser against https://banana.example.com/test
W NtfyAddFragment Connection to topic failed: timeout
Exception:
java.io.InterruptedIOException: timeout
	at okhttp3.internal.connection.RealCall.timeoutExit(RealCall.kt:398)
	at okhttp3.internal.connection.RealCall.callDone(RealCall.kt:360)
	at okhttp3.internal.connection.RealCall.noMoreExchanges$okhttp(RealCall.kt:325)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:209)
	at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
	at io.heckel.ntfy.msg.ApiService.checkAuth(ApiService.kt:156)
	at io.heckel.ntfy.ui.AddFragment$checkReadAndMaybeShowLogin$1.invokeSuspend(AddFragment.kt:209)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: java.net.SocketException: Socket closed
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:394)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
	at java.net.Socket.connect(Socket.java:621)
	at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)
	at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:207)
	at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
	at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
	at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
	at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
	... 11 more

D NtfyMainActivity Checking global and subscription-specific 'muted until' timestamp
D NtfySettingsActivity Create io.heckel.ntfy.ui.SettingsActivity@d317f1b

🔮 Additional context

Works fine in the webbrowser on my phone and on my pc

Originally created by @Robin-Sch on GitHub (Mar 31, 2023). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/691 :lady_beetle: **Describe the bug** <!-- A clear and concise description of the problem. --> Timeout error in the android app when subscribing to a topic. Both on official and selfhosted instance. :computer: **Components impacted** <!-- ntfy server, Android app, iOS app, web app --> Android app (f-droid) :bulb: **Screenshots and/or logs** <!-- If applicable, add screenshots or share logs help explain your problem. To get logs from the ... - ntfy server: Enable "log-level: trace" in your server.yml file - Android app: Go to "Settings" -> "Record logs", then eventually "Copy/upload logs" - web app: Press "F12" and find the "Console" window --> ``` D NtfyLog Log was truncated D NtfySubscriberMgr Enqueuing work to refresh subscriber service D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = false; remind time reached = true; banner = false D NtfyApiService Checking read access for user kiwiuser against https://banana.example.com/test W NtfyAddFragment Connection to topic failed: timeout Exception: java.io.InterruptedIOException: timeout at okhttp3.internal.connection.RealCall.timeoutExit(RealCall.kt:398) at okhttp3.internal.connection.RealCall.callDone(RealCall.kt:360) at okhttp3.internal.connection.RealCall.noMoreExchanges$okhttp(RealCall.kt:325) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:209) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) at io.heckel.ntfy.msg.ApiService.checkAuth(ApiService.kt:156) at io.heckel.ntfy.ui.AddFragment$checkReadAndMaybeShowLogin$1.invokeSuspend(AddFragment.kt:209) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) Caused by: java.net.SocketException: Socket closed at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:394) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436) at java.net.Socket.connect(Socket.java:621) at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128) at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295) at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:207) at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) ... 11 more D NtfyMainActivity Checking global and subscription-specific 'muted until' timestamp D NtfySettingsActivity Create io.heckel.ntfy.ui.SettingsActivity@d317f1b ``` :crystal_ball: **Additional context** <!-- Add any other context about the problem here. --> Works fine in the webbrowser on my phone and on my pc
BreizhHardware 2026-05-07 00:24:55 +02:00
  • closed this issue
  • added the
    🪲 bug
    label
Author
Owner

@binwiederhier commented on GitHub (Apr 3, 2023):

Given that this doesn't happen to anyone else, it must be environmental, or related to your phone. Especially since it happens on the official instance as well.

A timeout generally suggests that there is a networking issue of some sort.

Does your phone/ISP only speak IPv6 maybe? ntfy.sh does not work with IPv6 (yet).

<!-- gh-comment-id:1493522833 --> @binwiederhier commented on GitHub (Apr 3, 2023): Given that this doesn't happen to anyone else, it must be environmental, or related to your phone. Especially since it happens on the official instance as well. A timeout generally suggests that there is a networking issue of some sort. Does your phone/ISP only speak IPv6 maybe? ntfy.sh does not work with IPv6 (yet).
Author
Owner

@Robin-Sch commented on GitHub (Apr 3, 2023):

Which is weird, because in the browser, it does work fine.

And no, it's not ipv6 only.

<!-- gh-comment-id:1493647778 --> @Robin-Sch commented on GitHub (Apr 3, 2023): Which is weird, because in the browser, it does work fine. And no, it's not ipv6 only.
Author
Owner

@Robin-Sch commented on GitHub (Apr 4, 2023):

I have no idea what changed, but somehow now it's working?...

<!-- gh-comment-id:1496270642 --> @Robin-Sch commented on GitHub (Apr 4, 2023): I have no idea what changed, but somehow now it's working?...
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ntfy#509
No description provided.