[GH-ISSUE #1655] Unknown Host Exception on Android native app; only reboot of phone resolves it. #1154

Open
opened 2026-05-07 00:30:39 +02:00 by BreizhHardware · 5 comments

Originally created by @DAE51D on GitHub (Mar 14, 2026).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1655

Something changed recently with the Android native app (past few weeks maybe?).

I have ntfy running in an LXC on Proxmox. It has always been stopped for a backup every night then restarts. It has a static IP and gets the DNS http://ntfy.home.lan/ always too. However inspite of that, the app every morning now tells me it can't connect. The web page works fine (so DNS does resolve)

Force stopping the app (or clearing app cache even) does NOT resolve this. Stopping and restarting the LXC also does not seem to fix the issue (but the LXC isn't the problem I don't think either). The ONLY way I've found that resolves this is to reboot my Samsung Galaxy S23 Ultra phone.

Again, this has NEVER been a problem with the app until recently. My proxmox backup of the LXC has been that way for years now (so that hasn't changed either). I'm using a Unifi DSM if that matters, but again, same as it always was and the DNS name is coming from Proxmox LXC name anyways (as any other LXC name is assigned). And also again, same phone resolves the hostname from Chrome, it's ONLY the native app that loses it... I'll also point out that other LXCs like my Arrstack/Plex, HomeAssistant, etc. ALL are part of this same nightly backup and no other app has these troubles to re-connect to the LXC host after it stops/backups/restarts.

I see this error in the app...

Server: http://ntfy.home.lan/
Error: Unable to resolve host "ntfy.home.lan": No address associated with hostname

Stack trace:
[java.net](http://java.net/).UnknownHostException: Unable to resolve host "ntfy.home.lan": No address associated with hostname
	at [java.net](http://java.net/).Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156)
	at [java.net](http://java.net/).Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
	at [java.net](http://java.net/).InetAddress.getAllByName(InetAddress.java:1152)
	at okhttp3.Dns$Companion$DnsSystem.lookup([Dns.kt:50](http://dns.kt:50/))
	at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress([RouteSelector.kt:170](http://routeselector.kt:170/))
	at okhttp3.internal.connection.RouteSelector.nextProxy([RouteSelector.kt:132](http://routeselector.kt:132/))
	at okhttp3.internal.connection.RouteSelector.next([RouteSelector.kt:70](http://routeselector.kt:70/))
	at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp([RealRoutePlanner.kt:164](http://realrouteplanner.kt:164/))
	at okhttp3.internal.connection.RealRoutePlanner.plan([RealRoutePlanner.kt:75](http://realrouteplanner.kt:75/))
	at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect([FastFallbackExchangeFinder.kt:119](http://fastfallbackexchangefinder.kt:119/))
	at okhttp3.internal.connection.FastFallbackExchangeFinder.find([FastFallbackExchangeFinder.kt:62](http://fastfallbackexchangefinder.kt:62/))
	at okhttp3.internal.connection.RealCall.initExchange$okhttp([RealCall.kt:298](http://realcall.kt:298/))
	at okhttp3.internal.connection.ConnectInterceptor.intercept([ConnectInterceptor.kt:32](http://connectinterceptor.kt:32/))
	at okhttp3.internal.http.RealInterceptorChain.proceed([RealInterceptorChain.kt:126](http://realinterceptorchain.kt:126/))
	at okhttp3.internal.cache.CacheInterceptor.intercept([CacheInterceptor.kt:101](http://cacheinterceptor.kt:101/))
	at okhttp3.internal.http.RealInterceptorChain.proceed([RealInterceptorChain.kt:126](http://realinterceptorchain.kt:126/))
	at okhttp3.internal.http.BridgeInterceptor.intercept([BridgeInterceptor.kt:85](http://bridgeinterceptor.kt:85/))
	at okhttp3.internal.http.RealInterceptorChain.proceed([RealInterceptorChain.kt:126](http://realinterceptorchain.kt:126/))
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept([RetryAndFollowUpInterceptor.kt:74](http://retryandfollowupinterceptor.kt:74/))
	at okhttp3.internal.http.RealInterceptorChain.proceed([RealInterceptorChain.kt:126](http://realinterceptorchain.kt:126/))
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp([RealCall.kt:226](http://realcall.kt:226/))
	at okhttp3.internal.connection.RealCall$AsyncCall.run([RealCall.kt:574](http://realcall.kt:574/))
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1154)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652)
	at java.lang.Thread.run(Thread.java:1564)
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
	at [libcore.io](http://libcore.io/).Linux.android_getaddrinfo(Native Method)
	at [libcore.io](http://libcore.io/).ForwardingOs.android_getaddrinfo(ForwardingOs.java:134)
	at [libcore.io](http://libcore.io/).BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:222)
	at [libcore.io](http://libcore.io/).ForwardingOs.android_getaddrinfo(ForwardingOs.java:134)
	at [java.net](http://java.net/).Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)
	... 24 more
Image Image Image Image

Here's Chrome on Android to my WEB http://ntfy.home.lan/ LXC works fine.
Image

Originally created by @DAE51D on GitHub (Mar 14, 2026). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1655 Something changed recently with the Android native app (past few weeks maybe?). I have `ntfy` running in an LXC on Proxmox. It has always been stopped for a backup every night then restarts. It has a static IP and gets the DNS http://ntfy.home.lan/ always too. However inspite of that, the app every morning now tells me it can't connect. The web page works fine (so DNS does resolve) Force stopping the app (or clearing app cache even) does NOT resolve this. Stopping and restarting the LXC also does not seem to fix the issue (but the LXC isn't the problem I don't think either). The ONLY way I've found that resolves this is to reboot my Samsung Galaxy S23 Ultra phone. Again, this has NEVER been a problem with the app until recently. My proxmox backup of the LXC has been that way for years now (so that hasn't changed either). I'm using a Unifi DSM if that matters, but again, same as it always was and the DNS name is coming from Proxmox LXC name anyways (as any other LXC name is assigned). And also again, same phone resolves the hostname from Chrome, it's ONLY the native app that loses it... I'll also point out that other LXCs like my Arrstack/Plex, HomeAssistant, etc. ALL are part of this same nightly backup and no other app has these troubles to re-connect to the LXC host after it stops/backups/restarts. I see this error in the app... ``` Server: http://ntfy.home.lan/ Error: Unable to resolve host "ntfy.home.lan": No address associated with hostname Stack trace: [java.net](http://java.net/).UnknownHostException: Unable to resolve host "ntfy.home.lan": No address associated with hostname at [java.net](http://java.net/).Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156) at [java.net](http://java.net/).Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103) at [java.net](http://java.net/).InetAddress.getAllByName(InetAddress.java:1152) at okhttp3.Dns$Companion$DnsSystem.lookup([Dns.kt:50](http://dns.kt:50/)) at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress([RouteSelector.kt:170](http://routeselector.kt:170/)) at okhttp3.internal.connection.RouteSelector.nextProxy([RouteSelector.kt:132](http://routeselector.kt:132/)) at okhttp3.internal.connection.RouteSelector.next([RouteSelector.kt:70](http://routeselector.kt:70/)) at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp([RealRoutePlanner.kt:164](http://realrouteplanner.kt:164/)) at okhttp3.internal.connection.RealRoutePlanner.plan([RealRoutePlanner.kt:75](http://realrouteplanner.kt:75/)) at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect([FastFallbackExchangeFinder.kt:119](http://fastfallbackexchangefinder.kt:119/)) at okhttp3.internal.connection.FastFallbackExchangeFinder.find([FastFallbackExchangeFinder.kt:62](http://fastfallbackexchangefinder.kt:62/)) at okhttp3.internal.connection.RealCall.initExchange$okhttp([RealCall.kt:298](http://realcall.kt:298/)) at okhttp3.internal.connection.ConnectInterceptor.intercept([ConnectInterceptor.kt:32](http://connectinterceptor.kt:32/)) at okhttp3.internal.http.RealInterceptorChain.proceed([RealInterceptorChain.kt:126](http://realinterceptorchain.kt:126/)) at okhttp3.internal.cache.CacheInterceptor.intercept([CacheInterceptor.kt:101](http://cacheinterceptor.kt:101/)) at okhttp3.internal.http.RealInterceptorChain.proceed([RealInterceptorChain.kt:126](http://realinterceptorchain.kt:126/)) at okhttp3.internal.http.BridgeInterceptor.intercept([BridgeInterceptor.kt:85](http://bridgeinterceptor.kt:85/)) at okhttp3.internal.http.RealInterceptorChain.proceed([RealInterceptorChain.kt:126](http://realinterceptorchain.kt:126/)) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept([RetryAndFollowUpInterceptor.kt:74](http://retryandfollowupinterceptor.kt:74/)) at okhttp3.internal.http.RealInterceptorChain.proceed([RealInterceptorChain.kt:126](http://realinterceptorchain.kt:126/)) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp([RealCall.kt:226](http://realcall.kt:226/)) at okhttp3.internal.connection.RealCall$AsyncCall.run([RealCall.kt:574](http://realcall.kt:574/)) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1154) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652) at java.lang.Thread.run(Thread.java:1564) Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname) at [libcore.io](http://libcore.io/).Linux.android_getaddrinfo(Native Method) at [libcore.io](http://libcore.io/).ForwardingOs.android_getaddrinfo(ForwardingOs.java:134) at [libcore.io](http://libcore.io/).BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:222) at [libcore.io](http://libcore.io/).ForwardingOs.android_getaddrinfo(ForwardingOs.java:134) at [java.net](http://java.net/).Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135) ... 24 more ``` <img width="1439" height="462" alt="Image" src="https://github.com/user-attachments/assets/9fc86749-fe65-4e3b-b268-fb027f6595f4" /> <img width="1440" height="3088" alt="Image" src="https://github.com/user-attachments/assets/9da882dd-a39b-4594-8d2c-d6ff5990215d" /> <img width="1440" height="3088" alt="Image" src="https://github.com/user-attachments/assets/557d458e-399b-445f-8a88-a04b27b90255" /> <img width="1440" height="3088" alt="Image" src="https://github.com/user-attachments/assets/072ec63c-db61-41c4-bcc6-e9a0528a4361" /> Here's Chrome on Android to my WEB http://ntfy.home.lan/ LXC works fine. <img width="1440" height="3088" alt="Image" src="https://github.com/user-attachments/assets/3b5cca03-d958-48ac-b1c0-13159cd760da" />
Author
Owner

@binwiederhier commented on GitHub (Mar 14, 2026):

This is a DNS issue on your phone, not ntfy. ntfy uses a very common HTTP client (OkHttp) and it has not changed. "No address associated with hostname" is a dead givaway.

The "Connection lost" alert is new, which is probably why you are noticing this now. Feel free to join the Discord/Matrix and we'll help you trouble shoot.

<!-- gh-comment-id:4061048324 --> @binwiederhier commented on GitHub (Mar 14, 2026): This is a DNS issue on your phone, not ntfy. ntfy uses a very common HTTP client (OkHttp) and it has not changed. "No address associated with hostname" is a dead givaway. The "Connection lost" alert is new, which is probably why you are noticing this now. Feel free to join the Discord/Matrix and we'll help you trouble shoot.
Author
Owner

@DAE51D commented on GitHub (Mar 16, 2026):

perhaps, but this is literally the ONLY android app that exhibits this problem. And again, the DNS resolves just fine from the same phone to the web ntfy server via Chrome... This also didn't used to happen; I hear what you're saying about "connection lost" being new, but I never had any troubles getting alerts and I use this app a LOT for my "arrstack" and other services so alerts come in all day long many times... or did.

<!-- gh-comment-id:4069988813 --> @DAE51D commented on GitHub (Mar 16, 2026): perhaps, but this is literally the ONLY android app that exhibits this problem. And again, the DNS resolves just fine from the same phone to the web ntfy server via Chrome... This also didn't used to happen; I hear what you're saying about "connection lost" being new, but I never had any troubles getting alerts and I use this app a LOT for my "arrstack" and other services so alerts come in all day long many times... or did.
Author
Owner

@crispybegs commented on GitHub (Mar 18, 2026):

I just started getting this yesterday for the first time ever, also on an android phone. nothing's changed with my DNS or anything else.
my ntfy works fine on web etc and all parts of the stack seem fine, so it does seem like something's changed in the app behaviour

<!-- gh-comment-id:4082348059 --> @crispybegs commented on GitHub (Mar 18, 2026): I just started getting this yesterday for the first time ever, also on an android phone. nothing's changed with my DNS or anything else. my ntfy works fine on web etc and all parts of the stack seem fine, so it does seem like something's changed in the app behaviour
Author
Owner

@cravl-dev commented on GitHub (Mar 30, 2026):

I just started experiencing what appears to be the same issue today. I'm using the default server; the error persists across network changes, private DNS on/off, cache clears, and force stops. Websocket or JSON stream doesn't matter either. Works fine in browser.

Weirdly, it sometimes crashes on me when I change a setting, here's one of those crash logs from when I toggled from WS to JSON stream in case it's related: https://paste.crdroid.net/geJIyM

Details This is a log of the ntfy Android app. The log shows up to 1,000 entries. Server URLs (aside from ntfy.sh) and topics have been replaced with fruits 🍌🥝🍋🥥🥑🍊🍎🍑.

Device info:

ntfy: 1.24.0 (fdroid)
OS: 4.9.227crDroid7+-g3b6d947d3274
Android: 11 (SDK 30)
Model: fajita
Product: OnePlus6T

Settings:

{
  "autoDeleteSeconds": 2592000,
  "autoDownloadMaxSize": 1048576,
  "broadcastEnabled": true,
  "connectionProtocol": "ws",
  "darkMode": -1,
  "defaultBaseUrl": "https://ntfy.sh",
  "dynamicColors": false,
  "lastSharedTopics": [],
  "minPriority": 1,
  "mutedUntil": 0,
  "recordLogs": true
}

Logs

1774834868029 2026-03-29 21:41:08.029 D NtfyLog Enabled log recording
1774834868361 2026-03-29 21:41:08.361 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Opening https://ntfy.sh/banana,kiwi/ws?since=QPNB2GtdQAkI with listener ID 4 ...
1774834868373 2026-03-29 21:41:08.373 E NtfyWsConnection ntfy.sh/banana,kiwi (gid=1, lid=4): Connection failed (response is null): Unable to resolve host "ntfy.sh": No address associated with hostname
Exception:
java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname
	at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156)
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
	at java.net.InetAddress.getAllByName(InetAddress.java:1152)
	at okhttp3.Dns$Companion$DnsSystem.lookup(Dns.kt:50)
	at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.kt:170)
	at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.kt:132)
	at okhttp3.internal.connection.RouteSelector.next(RouteSelector.kt:70)
	at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp(RealRoutePlanner.kt:164)
	at okhttp3.internal.connection.RealRoutePlanner.plan(RealRoutePlanner.kt:75)
	at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect(FastFallbackExchangeFinder.kt:119)
	at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:62)
	at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:298)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:101)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:85)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:74)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:226)
	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:574)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:923)
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
	at libcore.io.Linux.android_getaddrinfo(Native Method)
	at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
	at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:202)
	at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
	at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)
	... 24 more

1774834868374 2026-03-29 21:41:08.374 D NtfyRepository Connection details updated for https://ntfy.sh: state=CONNECTING, error=Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetry=1774834888373
1774834868376 2026-03-29 21:41:08.376 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Scheduling a restart in 20 seconds (via alarm manager)
1774834888396 2026-03-29 21:41:28.396 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Opening https://ntfy.sh/banana,kiwi/ws?since=QPNB2GtdQAkI with listener ID 5 ...
1774834888415 2026-03-29 21:41:28.415 D NtfyRepository Connection details updated for https://ntfy.sh: state=CONNECTING, error=Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetry=1774834918414
1774834888415 2026-03-29 21:41:28.415 E NtfyWsConnection ntfy.sh/banana,kiwi (gid=1, lid=5): Connection failed (response is null): Unable to resolve host "ntfy.sh": No address associated with hostname
Exception:
java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname
	at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156)
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
	at java.net.InetAddress.getAllByName(InetAddress.java:1152)
	at okhttp3.Dns$Companion$DnsSystem.lookup(Dns.kt:50)
	at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.kt:170)
	at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.kt:132)
	at okhttp3.internal.connection.RouteSelector.next(RouteSelector.kt:70)
	at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp(RealRoutePlanner.kt:164)
	at okhttp3.internal.connection.RealRoutePlanner.plan(RealRoutePlanner.kt:75)
	at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect(FastFallbackExchangeFinder.kt:119)
	at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:62)
	at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:298)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:101)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:85)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:74)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:226)
	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:574)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:923)
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
	at libcore.io.Linux.android_getaddrinfo(Native Method)
	at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
	at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:202)
	at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
	at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)
	... 24 more

1774834888416 2026-03-29 21:41:28.416 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Scheduling a restart in 30 seconds (via alarm manager)
1774834913064 2026-03-29 21:41:53.064 D NtfyMainActivity Create io.heckel.ntfy.ui.MainActivity@de74cb5
1774834913072 2026-03-29 21:41:53.072 D NtfyMainActivity Poll worker version matches: choosing KEEP as existing work policy
1774834913072 2026-03-29 21:41:53.072 D NtfyMainActivity Poll worker: Scheduling period work every 60 minutes
1774834913072 2026-03-29 21:41:53.072 D NtfyMainActivity ServiceStartWorker version matches: choosing KEEP as existing work policy
1774834913073 2026-03-29 21:41:53.073 D NtfyMainActivity ServiceStartWorker: Scheduling period work every 180 minutes
1774834913073 2026-03-29 21:41:53.073 D NtfyMainActivity Delete worker version matches: choosing KEEP as existing work policy
1774834913073 2026-03-29 21:41:53.073 D NtfyMainActivity Delete worker: Scheduling period work every 480 minutes
1774834913076 2026-03-29 21:41:53.076 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = false; remind time reached = true; banner = false
1774834913099 2026-03-29 21:41:53.099 D NtfyMainActivity Checking global and subscription-specific 'muted until' timestamp
1774834913106 2026-03-29 21:41:53.106 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false
1774834913106 2026-03-29 21:41:53.106 D NtfySubscriberMgr Enqueuing work to refresh subscriber service
1774834913147 2026-03-29 21:41:53.147 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service (work ID: 2be02d19-69f8-4b93-9f61-223e4f3dc2a6)
1774834913150 2026-03-29 21:41:53.150 D NtfySubscriberService onStartCommand executed with startId: 3
1774834913150 2026-03-29 21:41:53.150 D NtfySubscriberService using an intent with action START
1774834913157 2026-03-29 21:41:53.157 D NtfySubscriberService Refreshing subscriptions
1774834913157 2026-03-29 21:41:53.157 D NtfySubscriberService - Active connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)]
1774834913157 2026-03-29 21:41:53.157 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)]
1774834913157 2026-03-29 21:41:53.157 D NtfySubscriberService - New connections: []
1774834913158 2026-03-29 21:41:53.158 D NtfySubscriberService - Match? --> true
1774834913158 2026-03-29 21:41:53.158 D NtfySubscriberService - No action required.
1774834913158 2026-03-29 21:41:53.158 D NtfySubscriberService - Obsolete connections: []
1774834915958 2026-03-29 21:41:55.958 D NtfyMainActivity Showing global notification settings dialog
1774834918027 2026-03-29 21:41:58.027 D NtfyMainActivity Entering detail view for subscription Subscription(id=68737268, baseUrl=https://ntfy.sh, topic=banana, instant=true, mutedUntil=0, minPriority=0, autoDelete=-1, insistent=-1, lastNotificationId=QPNB2GtdQAkI, icon=null, upAppId=null, upConnectorToken=null, displayName=Service Notifications, dedicatedChannels=false, totalCount=0, newCount=0, lastActive=0, connectionDetails=ConnectionDetails(state=CONNECTING, error=java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetryTime=1774834918414, firstErrorTime=1774834838315))
1774834918056 2026-03-29 21:41:58.056 D NtfyDetailActivity Create io.heckel.ntfy.ui.DetailActivity@32769b4
1774834918085 2026-03-29 21:41:58.085 D NtfyDetailActivity 0 item(s) inserted at 0, scrolling to the top
1774834918086 2026-03-29 21:41:58.086 D NtfySubscriberMgr Enqueuing work to refresh subscriber service
1774834918122 2026-03-29 21:41:58.122 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service (work ID: 6d47109c-ff9f-4912-a257-4c3e1506b802)
1774834918125 2026-03-29 21:41:58.125 D NtfySubscriberService onStartCommand executed with startId: 4
1774834918125 2026-03-29 21:41:58.125 D NtfySubscriberService using an intent with action START
1774834918132 2026-03-29 21:41:58.132 D NtfySubscriberService Refreshing subscriptions
1774834918133 2026-03-29 21:41:58.133 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)]
1774834918133 2026-03-29 21:41:58.133 D NtfySubscriberService - Active connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)]
1774834918133 2026-03-29 21:41:58.133 D NtfySubscriberService - New connections: []
1774834918133 2026-03-29 21:41:58.133 D NtfySubscriberService - Obsolete connections: []
1774834918134 2026-03-29 21:41:58.134 D NtfySubscriberService - Match? --> true
1774834918134 2026-03-29 21:41:58.134 D NtfySubscriberService - No action required.
1774834918418 2026-03-29 21:41:58.418 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Opening https://ntfy.sh/banana,kiwi/ws?since=QPNB2GtdQAkI with listener ID 6 ...
1774834918422 2026-03-29 21:41:58.422 D NtfyRepository Connection details updated for https://ntfy.sh: state=CONNECTING, error=Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetry=1774834963421
1774834918422 2026-03-29 21:41:58.422 E NtfyWsConnection ntfy.sh/banana,kiwi (gid=1, lid=6): Connection failed (response is null): Unable to resolve host "ntfy.sh": No address associated with hostname
Exception:
java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname
	at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156)
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
	at java.net.InetAddress.getAllByName(InetAddress.java:1152)
	at okhttp3.Dns$Companion$DnsSystem.lookup(Dns.kt:50)
	at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.kt:170)
	at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.kt:132)
	at okhttp3.internal.connection.RouteSelector.next(RouteSelector.kt:70)
	at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp(RealRoutePlanner.kt:164)
	at okhttp3.internal.connection.RealRoutePlanner.plan(RealRoutePlanner.kt:75)
	at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect(FastFallbackExchangeFinder.kt:119)
	at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:62)
	at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:298)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:101)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:85)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:74)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:226)
	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:574)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:923)
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
	at libcore.io.Linux.android_getaddrinfo(Native Method)
	at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
	at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:202)
	at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
	at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)
	... 24 more

1774834918425 2026-03-29 21:41:58.425 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Scheduling a restart in 45 seconds (via alarm manager)
1774834918425 2026-03-29 21:41:58.425 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false
1774834919098 2026-03-29 21:41:59.098 D NtfyDetailActivity Checking 'muted until' timestamp for subscription 68737268
1774834921549 2026-03-29 21:42:01.549 D NtfyDetailActivity Showing connection error dialog for https://ntfy.sh
1774834923162 2026-03-29 21:42:03.162 D NtfySubscriberService Stopping the foreground service
1774834923162 2026-03-29 21:42:03.162 D NtfySubscriberService Subscriber service has been destroyed
1774834923166 2026-03-29 21:42:03.166 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Closing connection
1774835220526 2026-03-29 21:47:00.526 D NtfyLog Enabled log recording
1774835224613 2026-03-29 21:47:04.613 D NtfySubscriberMgr Enqueuing work to refresh subscriber service
1774835224615 2026-03-29 21:47:04.615 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false
1774835224643 2026-03-29 21:47:04.643 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service (work ID: 385687ce-7f53-416e-b2b3-7f9a5552fe15)
1774835224646 2026-03-29 21:47:04.646 D NtfySubscriberService onStartCommand executed with startId: 2
1774835224646 2026-03-29 21:47:04.646 D NtfySubscriberService using an intent with action START
1774835224652 2026-03-29 21:47:04.652 D NtfySubscriberService Refreshing subscriptions
1774835224652 2026-03-29 21:47:04.652 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)]
1774835224653 2026-03-29 21:47:04.653 D NtfySubscriberService - Active connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)]
1774835224654 2026-03-29 21:47:04.654 D NtfySubscriberService - New connections: []
1774835224655 2026-03-29 21:47:04.655 D NtfySubscriberService - Obsolete connections: []
1774835224655 2026-03-29 21:47:04.655 D NtfySubscriberService - Match? --> true
1774835224655 2026-03-29 21:47:04.655 D NtfySubscriberService - No action required.
1774835225788 2026-03-29 21:47:05.788 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Opening https://ntfy.sh/banana,kiwi/ws?since=QPNB2GtdQAkI with listener ID 3 ...
1774835225804 2026-03-29 21:47:05.804 D NtfyRepository Connection details updated for https://ntfy.sh: state=CONNECTING, error=Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetry=1774835240803
1774835225805 2026-03-29 21:47:05.805 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Scheduling a restart in 15 seconds (via alarm manager)
1774835225805 2026-03-29 21:47:05.805 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false
1774835225807 2026-03-29 21:47:05.807 E NtfyWsConnection ntfy.sh/banana,kiwi (gid=1, lid=3): Connection failed (response is null): Unable to resolve host "ntfy.sh": No address associated with hostname
Exception:
java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname
	at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156)
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
	at java.net.InetAddress.getAllByName(InetAddress.java:1152)
	at okhttp3.Dns$Companion$DnsSystem.lookup(Dns.kt:50)
	at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.kt:170)
	at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.kt:132)
	at okhttp3.internal.connection.RouteSelector.next(RouteSelector.kt:70)
	at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp(RealRoutePlanner.kt:164)
	at okhttp3.internal.connection.RealRoutePlanner.plan(RealRoutePlanner.kt:75)
	at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect(FastFallbackExchangeFinder.kt:119)
	at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:62)
	at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:298)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:101)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:85)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:74)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:226)
	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:574)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:923)
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
	at libcore.io.Linux.android_getaddrinfo(Native Method)
	at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
	at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:202)
	at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
	at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)
	... 24 more

1774835226988 2026-03-29 21:47:06.988 D NtfyMainActivity Polling for new notifications
1774835226996 2026-03-29 21:47:06.996 D NtfyMainActivity Polling subscription: Subscription(id=68737268, baseUrl=https://ntfy.sh, topic=banana, instant=true, mutedUntil=0, minPriority=0, autoDelete=-1, insistent=-1, lastNotificationId=QPNB2GtdQAkI, icon=null, upAppId=null, upConnectorToken=null, displayName=Service Notifications, dedicatedChannels=false, totalCount=0, newCount=0, lastActive=0, connectionDetails=ConnectionDetails(state=CONNECTING, error=java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetryTime=1774835240803, firstErrorTime=1774835210751))
1774835226996 2026-03-29 21:47:06.996 D NtfyApiService Polling topic https://ntfy.sh/banana/json?poll=1&since=QPNB2GtdQAkI
1774835227011 2026-03-29 21:47:07.011 D NtfyMainActivity Polling subscription: Subscription(id=73006053, baseUrl=https://ntfy.sh, topic=kiwi, instant=true, mutedUntil=0, minPriority=0, autoDelete=-1, insistent=-1, lastNotificationId=null, icon=null, upAppId=fr.gouv.etalab.mastodon, upConnectorToken=4a3e5c78-babd-40c9-b234-9228b7562f4b, displayName=null, dedicatedChannels=false, totalCount=0, newCount=0, lastActive=0, connectionDetails=ConnectionDetails(state=CONNECTING, error=java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetryTime=1774835240803, firstErrorTime=1774835210751))
1774835227012 2026-03-29 21:47:07.012 D NtfyApiService Polling topic https://ntfy.sh/kiwi/json?poll=1&since=all
1774835227021 2026-03-29 21:47:07.021 D NtfyMainActivity Finished polling for new notifications
1774835231506 2026-03-29 21:47:11.506 D NtfySettingsActivity Create io.heckel.ntfy.ui.SettingsActivity@dd3f542
<!-- gh-comment-id:4151665046 --> @cravl-dev commented on GitHub (Mar 30, 2026): I just started experiencing what appears to be the same issue today. I'm using the default server; the error persists across network changes, private DNS on/off, cache clears, and force stops. Websocket or JSON stream doesn't matter either. Works fine in browser. Weirdly, it sometimes crashes on me when I change a setting, here's one of those crash logs from when I toggled from WS to JSON stream in case it's related: https://paste.crdroid.net/geJIyM <details><summary>Details</summary> This is a log of the ntfy Android app. The log shows up to 1,000 entries. Server URLs (aside from ntfy.sh) and topics have been replaced with fruits 🍌🥝🍋🥥🥑🍊🍎🍑. Device info: -- ntfy: 1.24.0 (fdroid) OS: 4.9.227crDroid7+-g3b6d947d3274 Android: 11 (SDK 30) Model: fajita Product: OnePlus6T Settings: -- ``` { "autoDeleteSeconds": 2592000, "autoDownloadMaxSize": 1048576, "broadcastEnabled": true, "connectionProtocol": "ws", "darkMode": -1, "defaultBaseUrl": "https://ntfy.sh", "dynamicColors": false, "lastSharedTopics": [], "minPriority": 1, "mutedUntil": 0, "recordLogs": true } ``` Logs -- ``` 1774834868029 2026-03-29 21:41:08.029 D NtfyLog Enabled log recording 1774834868361 2026-03-29 21:41:08.361 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Opening https://ntfy.sh/banana,kiwi/ws?since=QPNB2GtdQAkI with listener ID 4 ... 1774834868373 2026-03-29 21:41:08.373 E NtfyWsConnection ntfy.sh/banana,kiwi (gid=1, lid=4): Connection failed (response is null): Unable to resolve host "ntfy.sh": No address associated with hostname Exception: java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156) at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103) at java.net.InetAddress.getAllByName(InetAddress.java:1152) at okhttp3.Dns$Companion$DnsSystem.lookup(Dns.kt:50) at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.kt:170) at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.kt:132) at okhttp3.internal.connection.RouteSelector.next(RouteSelector.kt:70) at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp(RealRoutePlanner.kt:164) at okhttp3.internal.connection.RealRoutePlanner.plan(RealRoutePlanner.kt:75) at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect(FastFallbackExchangeFinder.kt:119) at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:62) at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:298) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:101) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:85) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:74) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:226) at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:574) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname) at libcore.io.Linux.android_getaddrinfo(Native Method) at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73) at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:202) at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73) at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135) ... 24 more 1774834868374 2026-03-29 21:41:08.374 D NtfyRepository Connection details updated for https://ntfy.sh: state=CONNECTING, error=Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetry=1774834888373 1774834868376 2026-03-29 21:41:08.376 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Scheduling a restart in 20 seconds (via alarm manager) 1774834888396 2026-03-29 21:41:28.396 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Opening https://ntfy.sh/banana,kiwi/ws?since=QPNB2GtdQAkI with listener ID 5 ... 1774834888415 2026-03-29 21:41:28.415 D NtfyRepository Connection details updated for https://ntfy.sh: state=CONNECTING, error=Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetry=1774834918414 1774834888415 2026-03-29 21:41:28.415 E NtfyWsConnection ntfy.sh/banana,kiwi (gid=1, lid=5): Connection failed (response is null): Unable to resolve host "ntfy.sh": No address associated with hostname Exception: java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156) at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103) at java.net.InetAddress.getAllByName(InetAddress.java:1152) at okhttp3.Dns$Companion$DnsSystem.lookup(Dns.kt:50) at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.kt:170) at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.kt:132) at okhttp3.internal.connection.RouteSelector.next(RouteSelector.kt:70) at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp(RealRoutePlanner.kt:164) at okhttp3.internal.connection.RealRoutePlanner.plan(RealRoutePlanner.kt:75) at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect(FastFallbackExchangeFinder.kt:119) at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:62) at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:298) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:101) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:85) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:74) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:226) at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:574) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname) at libcore.io.Linux.android_getaddrinfo(Native Method) at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73) at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:202) at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73) at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135) ... 24 more 1774834888416 2026-03-29 21:41:28.416 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Scheduling a restart in 30 seconds (via alarm manager) 1774834913064 2026-03-29 21:41:53.064 D NtfyMainActivity Create io.heckel.ntfy.ui.MainActivity@de74cb5 1774834913072 2026-03-29 21:41:53.072 D NtfyMainActivity Poll worker version matches: choosing KEEP as existing work policy 1774834913072 2026-03-29 21:41:53.072 D NtfyMainActivity Poll worker: Scheduling period work every 60 minutes 1774834913072 2026-03-29 21:41:53.072 D NtfyMainActivity ServiceStartWorker version matches: choosing KEEP as existing work policy 1774834913073 2026-03-29 21:41:53.073 D NtfyMainActivity ServiceStartWorker: Scheduling period work every 180 minutes 1774834913073 2026-03-29 21:41:53.073 D NtfyMainActivity Delete worker version matches: choosing KEEP as existing work policy 1774834913073 2026-03-29 21:41:53.073 D NtfyMainActivity Delete worker: Scheduling period work every 480 minutes 1774834913076 2026-03-29 21:41:53.076 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = false; remind time reached = true; banner = false 1774834913099 2026-03-29 21:41:53.099 D NtfyMainActivity Checking global and subscription-specific 'muted until' timestamp 1774834913106 2026-03-29 21:41:53.106 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false 1774834913106 2026-03-29 21:41:53.106 D NtfySubscriberMgr Enqueuing work to refresh subscriber service 1774834913147 2026-03-29 21:41:53.147 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service (work ID: 2be02d19-69f8-4b93-9f61-223e4f3dc2a6) 1774834913150 2026-03-29 21:41:53.150 D NtfySubscriberService onStartCommand executed with startId: 3 1774834913150 2026-03-29 21:41:53.150 D NtfySubscriberService using an intent with action START 1774834913157 2026-03-29 21:41:53.157 D NtfySubscriberService Refreshing subscriptions 1774834913157 2026-03-29 21:41:53.157 D NtfySubscriberService - Active connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)] 1774834913157 2026-03-29 21:41:53.157 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)] 1774834913157 2026-03-29 21:41:53.157 D NtfySubscriberService - New connections: [] 1774834913158 2026-03-29 21:41:53.158 D NtfySubscriberService - Match? --> true 1774834913158 2026-03-29 21:41:53.158 D NtfySubscriberService - No action required. 1774834913158 2026-03-29 21:41:53.158 D NtfySubscriberService - Obsolete connections: [] 1774834915958 2026-03-29 21:41:55.958 D NtfyMainActivity Showing global notification settings dialog 1774834918027 2026-03-29 21:41:58.027 D NtfyMainActivity Entering detail view for subscription Subscription(id=68737268, baseUrl=https://ntfy.sh, topic=banana, instant=true, mutedUntil=0, minPriority=0, autoDelete=-1, insistent=-1, lastNotificationId=QPNB2GtdQAkI, icon=null, upAppId=null, upConnectorToken=null, displayName=Service Notifications, dedicatedChannels=false, totalCount=0, newCount=0, lastActive=0, connectionDetails=ConnectionDetails(state=CONNECTING, error=java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetryTime=1774834918414, firstErrorTime=1774834838315)) 1774834918056 2026-03-29 21:41:58.056 D NtfyDetailActivity Create io.heckel.ntfy.ui.DetailActivity@32769b4 1774834918085 2026-03-29 21:41:58.085 D NtfyDetailActivity 0 item(s) inserted at 0, scrolling to the top 1774834918086 2026-03-29 21:41:58.086 D NtfySubscriberMgr Enqueuing work to refresh subscriber service 1774834918122 2026-03-29 21:41:58.122 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service (work ID: 6d47109c-ff9f-4912-a257-4c3e1506b802) 1774834918125 2026-03-29 21:41:58.125 D NtfySubscriberService onStartCommand executed with startId: 4 1774834918125 2026-03-29 21:41:58.125 D NtfySubscriberService using an intent with action START 1774834918132 2026-03-29 21:41:58.132 D NtfySubscriberService Refreshing subscriptions 1774834918133 2026-03-29 21:41:58.133 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)] 1774834918133 2026-03-29 21:41:58.133 D NtfySubscriberService - Active connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)] 1774834918133 2026-03-29 21:41:58.133 D NtfySubscriberService - New connections: [] 1774834918133 2026-03-29 21:41:58.133 D NtfySubscriberService - Obsolete connections: [] 1774834918134 2026-03-29 21:41:58.134 D NtfySubscriberService - Match? --> true 1774834918134 2026-03-29 21:41:58.134 D NtfySubscriberService - No action required. 1774834918418 2026-03-29 21:41:58.418 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Opening https://ntfy.sh/banana,kiwi/ws?since=QPNB2GtdQAkI with listener ID 6 ... 1774834918422 2026-03-29 21:41:58.422 D NtfyRepository Connection details updated for https://ntfy.sh: state=CONNECTING, error=Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetry=1774834963421 1774834918422 2026-03-29 21:41:58.422 E NtfyWsConnection ntfy.sh/banana,kiwi (gid=1, lid=6): Connection failed (response is null): Unable to resolve host "ntfy.sh": No address associated with hostname Exception: java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156) at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103) at java.net.InetAddress.getAllByName(InetAddress.java:1152) at okhttp3.Dns$Companion$DnsSystem.lookup(Dns.kt:50) at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.kt:170) at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.kt:132) at okhttp3.internal.connection.RouteSelector.next(RouteSelector.kt:70) at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp(RealRoutePlanner.kt:164) at okhttp3.internal.connection.RealRoutePlanner.plan(RealRoutePlanner.kt:75) at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect(FastFallbackExchangeFinder.kt:119) at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:62) at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:298) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:101) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:85) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:74) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:226) at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:574) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname) at libcore.io.Linux.android_getaddrinfo(Native Method) at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73) at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:202) at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73) at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135) ... 24 more 1774834918425 2026-03-29 21:41:58.425 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Scheduling a restart in 45 seconds (via alarm manager) 1774834918425 2026-03-29 21:41:58.425 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false 1774834919098 2026-03-29 21:41:59.098 D NtfyDetailActivity Checking 'muted until' timestamp for subscription 68737268 1774834921549 2026-03-29 21:42:01.549 D NtfyDetailActivity Showing connection error dialog for https://ntfy.sh 1774834923162 2026-03-29 21:42:03.162 D NtfySubscriberService Stopping the foreground service 1774834923162 2026-03-29 21:42:03.162 D NtfySubscriberService Subscriber service has been destroyed 1774834923166 2026-03-29 21:42:03.166 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Closing connection 1774835220526 2026-03-29 21:47:00.526 D NtfyLog Enabled log recording 1774835224613 2026-03-29 21:47:04.613 D NtfySubscriberMgr Enqueuing work to refresh subscriber service 1774835224615 2026-03-29 21:47:04.615 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false 1774835224643 2026-03-29 21:47:04.643 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service (work ID: 385687ce-7f53-416e-b2b3-7f9a5552fe15) 1774835224646 2026-03-29 21:47:04.646 D NtfySubscriberService onStartCommand executed with startId: 2 1774835224646 2026-03-29 21:47:04.646 D NtfySubscriberService using an intent with action START 1774835224652 2026-03-29 21:47:04.652 D NtfySubscriberService Refreshing subscriptions 1774835224652 2026-03-29 21:47:04.652 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)] 1774835224653 2026-03-29 21:47:04.653 D NtfySubscriberService - Active connections: [ConnectionId(baseUrl=https://ntfy.sh, topicsToSubscriptionIds={banana=68737268, kiwi=73006053}, connectionProtocol=ws, credentialsHash=0, headersHash=0, trustedCertsHash=0, clientCertHash=0, connectionForceReconnectVersion=0)] 1774835224654 2026-03-29 21:47:04.654 D NtfySubscriberService - New connections: [] 1774835224655 2026-03-29 21:47:04.655 D NtfySubscriberService - Obsolete connections: [] 1774835224655 2026-03-29 21:47:04.655 D NtfySubscriberService - Match? --> true 1774835224655 2026-03-29 21:47:04.655 D NtfySubscriberService - No action required. 1774835225788 2026-03-29 21:47:05.788 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Opening https://ntfy.sh/banana,kiwi/ws?since=QPNB2GtdQAkI with listener ID 3 ... 1774835225804 2026-03-29 21:47:05.804 D NtfyRepository Connection details updated for https://ntfy.sh: state=CONNECTING, error=Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetry=1774835240803 1774835225805 2026-03-29 21:47:05.805 D NtfyWsConnection ntfy.sh/banana,kiwi (gid=1): Scheduling a restart in 15 seconds (via alarm manager) 1774835225805 2026-03-29 21:47:05.805 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false 1774835225807 2026-03-29 21:47:05.807 E NtfyWsConnection ntfy.sh/banana,kiwi (gid=1, lid=3): Connection failed (response is null): Unable to resolve host "ntfy.sh": No address associated with hostname Exception: java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156) at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103) at java.net.InetAddress.getAllByName(InetAddress.java:1152) at okhttp3.Dns$Companion$DnsSystem.lookup(Dns.kt:50) at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.kt:170) at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.kt:132) at okhttp3.internal.connection.RouteSelector.next(RouteSelector.kt:70) at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp(RealRoutePlanner.kt:164) at okhttp3.internal.connection.RealRoutePlanner.plan(RealRoutePlanner.kt:75) at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect(FastFallbackExchangeFinder.kt:119) at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:62) at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:298) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:101) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:85) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:74) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:226) at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:574) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname) at libcore.io.Linux.android_getaddrinfo(Native Method) at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73) at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:202) at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73) at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135) ... 24 more 1774835226988 2026-03-29 21:47:06.988 D NtfyMainActivity Polling for new notifications 1774835226996 2026-03-29 21:47:06.996 D NtfyMainActivity Polling subscription: Subscription(id=68737268, baseUrl=https://ntfy.sh, topic=banana, instant=true, mutedUntil=0, minPriority=0, autoDelete=-1, insistent=-1, lastNotificationId=QPNB2GtdQAkI, icon=null, upAppId=null, upConnectorToken=null, displayName=Service Notifications, dedicatedChannels=false, totalCount=0, newCount=0, lastActive=0, connectionDetails=ConnectionDetails(state=CONNECTING, error=java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetryTime=1774835240803, firstErrorTime=1774835210751)) 1774835226996 2026-03-29 21:47:06.996 D NtfyApiService Polling topic https://ntfy.sh/banana/json?poll=1&since=QPNB2GtdQAkI 1774835227011 2026-03-29 21:47:07.011 D NtfyMainActivity Polling subscription: Subscription(id=73006053, baseUrl=https://ntfy.sh, topic=kiwi, instant=true, mutedUntil=0, minPriority=0, autoDelete=-1, insistent=-1, lastNotificationId=null, icon=null, upAppId=fr.gouv.etalab.mastodon, upConnectorToken=4a3e5c78-babd-40c9-b234-9228b7562f4b, displayName=null, dedicatedChannels=false, totalCount=0, newCount=0, lastActive=0, connectionDetails=ConnectionDetails(state=CONNECTING, error=java.net.UnknownHostException: Unable to resolve host "ntfy.sh": No address associated with hostname, nextRetryTime=1774835240803, firstErrorTime=1774835210751)) 1774835227012 2026-03-29 21:47:07.012 D NtfyApiService Polling topic https://ntfy.sh/kiwi/json?poll=1&since=all 1774835227021 2026-03-29 21:47:07.021 D NtfyMainActivity Finished polling for new notifications 1774835231506 2026-03-29 21:47:11.506 D NtfySettingsActivity Create io.heckel.ntfy.ui.SettingsActivity@dd3f542 ``` </details>
Author
Owner

@DAE51D commented on GitHub (Apr 13, 2026):

I think this is websockets related and like something doesn't reset the socket (port) or whatever it needs and keeps trying to hang on to the old one even though the ntfy server has restarted because I noticed I can toggle my Wi-Fi on and off on the phone and that also seems to help fix it sometimes.

That's what also explain why we don't see this issue if the app uses HTTP(S) as that connection is new each time. NTFY is special in using websockets (and for good reason).

Is there a way the app can detect the disconnect and refresh something to get the new socket?

<!-- gh-comment-id:4238851281 --> @DAE51D commented on GitHub (Apr 13, 2026): I think this is websockets related and like something doesn't reset the socket (port) or whatever it needs and keeps trying to hang on to the old one even though the ntfy server has restarted because I noticed I can toggle my Wi-Fi on and off on the phone and that also seems to help fix it sometimes. That's what also explain why we don't see this issue if the app uses HTTP(S) as that connection is new each time. NTFY is special in using websockets (and for good reason). Is there a way the app can detect the disconnect and refresh something to get the new socket?
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#1154
No description provided.