Roon Server fails to update (ref#6AYH0J)

Hi! What’s not quite right with Roon?

· None of the above quite fits

None of the above quite fits

· None of these quite match

Tell us what's going on

· Roon Server failing to update

Tell us about your home network

· Roon Server is running on an ubuntu server connected via ethernet to my router. I'm able to SSH into the server, and can see in the logs Roon Server is failing to contact download.roonlabs.net. The rest of the networking on the server appears to be fine, so I'm not really sure what's going on.

08/16 12:10:01 Trace: [remoting/remotingserverv2] SENT NONFINAL DistributedBroker.UpdatesChangedResponse={ IsSupported=True WasJustUpdated=False Status='Downloading' HasChangeLog=False Progress=0 AvailableVersion={ MachineValue=207101683 DisplayValue='2.71 (build 1683) production' Branch='production' } CurrentVersion={ MachineValue=207001671 DisplayValue='2.70 (build 1671) production' Branch='production' } }
08/16 12:10:01 Trace: [remoting/remotingserverv2] SENT NONFINAL DistributedBroker.UpdatesChangedResponse={ IsSupported=True WasJustUpdated=False Status='Downloading' HasChangeLog=False Progress=0 AvailableVersion={ MachineValue=207101683 DisplayValue='2.71 (build 1683) production' Branch='production' } CurrentVersion={ MachineValue=207001671 DisplayValue='2.70 (build 1671) production' Branch='production' } }
08/16 12:10:01 Trace: [remoting/remotingserverv2] SENT NONFINAL DistributedBroker.UpdatesChangedResponse={ IsSupported=True WasJustUpdated=False Status='Downloading' HasChangeLog=False Progress=0 AvailableVersion={ MachineValue=207101683 DisplayValue='2.71 (build 1683) production' Branch='production' } CurrentVersion={ MachineValue=207001671 DisplayValue='2.70 (build 1671) production' Branch='production' } }
08/16 12:10:01 Trace: [clientupgrades] Updates changed! IsSupported: True, Status: Downloading, Progress: 0
08/16 12:10:01 Info: [library stats] tracks: 36675 (hidden: 3506), albums: 3062 (hidden: 271), artists: 1359, works: 18149, performances: 23574, playlists: 168, tags: 0
08/16 12:10:01 Info: [cache stats] ordered_caches: 0/5/0/0 (t/al/p/w), album_details: 3, performer_details: 12, genre_details: 1, toplevel_genres: 0, work_details: 1, unified_search: 4
08/16 12:10:01 Info: [library] [albumcache] live album=3 performer=12 work=1 genre=1 | recomputed_albums=0 details_loop=0ms search_flush=0ms
08/16 12:10:01 Info: [query stats] live_queries: 46, library_endmutations: 280, modified_items: 0, query_rebuilds: 0
08/16 12:10:01 Info: [query types] PerformerWorksBrowser:16, PerformerAlbumsBrowser:16, PerformerTracksBrowser:8, Query<LibraryAlbum>:6
08/16 12:10:01 Error: [appupdater] While downloading update: System.Net.WebException: Resource temporarily unavailable (download.roonlabs.net:80)
 ---> System.Net.Http.HttpRequestException: Resource temporarily unavailable (download.roonlabs.net:80)
 ---> System.Net.Sockets.SocketException (00000001, 11): Resource temporarily unavailable
   at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses, AddressFamily addressFamily, Nullable`1 activityOrDefault)
   at System.Net.Dns.<>c.<GetHostEntryOrAddressesCoreAsync>b__34_0(Object s, NameResolutionActivity activity)
   at System.Threading.Tasks.ContinuationResultTaskFromTask`1.InnerInvoke()
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
   at System.Net.HttpWebRequest.<>c__DisplayClass224_0.<<CreateHttpClient>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.InjectNewHttp11ConnectionAsync(QueueItem queueItem)
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.SocketsHttpHandler.<SendAsync>g__CreateHandlerAndSendAsync|115_0(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at System.Net.HttpWebRequest.HandleResponse(Boolean async)
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   --- End of inner exception stack trace ---
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
   at System.Net.WebClient.GetWebResponseTaskAsync(WebRequest request)
   at System.Net.WebClient.DownloadBitsAsync(WebRequest request, Stream writeStream, AsyncOperation asyncOp, Action`3 completionDelegate)
08/16 12:10:01 Trace: [remoting/remotingserverv2] SENT NONFINAL DistributedBroker.UpdatesChangedResponse={ IsSupported=True WasJustUpdated=False Status='Error' HasChangeLog=False AvailableVersion={ MachineValue=207101683 DisplayValue='2.71 (build 1683) production' Branch='production' } CurrentVersion={ MachineValue=207001671 DisplayValue='2.70 (build 1671) production' Branch='production' } }
08/16 12:10:01 Trace: [remoting/remotingserverv2] SENT NONFINAL DistributedBroker.UpdatesChangedResponse={ IsSupported=True WasJustUpdated=False Status='Error' HasChangeLog=False AvailableVersion={ MachineValue=207101683 DisplayValue='2.71 (build 1683) production' Branch='production' } CurrentVersion={ MachineValue=207001671 DisplayValue='2.70 (build 1671) production' Branch='production' } }
08/16 12:10:01 Trace: [remoting/remotingserverv2] SENT NONFINAL DistributedBroker.UpdatesChangedResponse={ IsSupported=True WasJustUpdated=False Status='Error' HasChangeLog=False AvailableVersion={ MachineValue=207101683 DisplayValue='2.71 (build 1683) production' Branch='production' } CurrentVersion={ MachineValue=207001671 DisplayValue='2.70 (build 1671) production' Branch='production' } }
08/16 12:10:01 Trace: [clientupgrades] Updates changed! IsSupported: True, Status: Error, Progress:
08/16 12:10:01 Trace: [servicemanager] cloning service com.roonlabs.roon.broker.tcp with localEndpoints=tcp://xxx.xxx.xxx.xxx:9331,tcp://xxx.xxx.xxx.xxx:9331,tcp://xxx.xxx.xxx.xxx:9331
08/16 12:10:01 Trace: [servicemanager] cloning service com.roonlabs.roon.broker.tcpv2 with localEndpoints=tcp://xxx.xxx.xxx.xxx:9332,tcp://xxx.xxx.xxx.xxx:9332,tcp://xxx.xxx.xxx.xxx:9332
08/16 12:10:01 Trace: [servicemanager] cloning service com.roonlabs.roon.broker.http with localEndpoints=tcp://xxx.xxx.xxx.xxx:9330,tcp://xxx.xxx.xxx.xxx:9330,tcp://xxx.xxx.xxx.xxx:9330
08/16 12:10:01 Trace: [servicemanager] cloning service com.roonlabs.roon.api.tcp with localEndpoints=tcp://xxx.xxx.xxx.xxx:9150,tcp://xxx.xxx.xxx.xxx:9150,tcp://xxx.xxx.xxx.xxx:9150
08/16 12:10:01 Trace: [servicemanager] cloning service com.roonlabs.roon.api.http with localEndpoints=http://xxx.xxx.xxx.xxx:9330/api,http://xxx.xxx.xxx.xxx:9330/api,http://xxx.xxx.xxx.xxx:9330/api
08/16 12:10:01 Trace: [servicemanager] cloning service com.roonlabs.roon.broker.tcp with localEndpoints=tcp://xxx.xxx.xxx.xxx:9331,tcp://xxx.xxx.xxx.xxx:9331,tcp://xxx.xxx.xxx.xxx:9331
08/16 12:10:01 Trace: [servicemanager] cloning service com.roonlabs.roon.broker.tcpv2 with localEndpoints=tcp://xxx.xxx.xxx.xxx:9332,tcp://xxx.xxx.xxx.xxx:9332,tcp://xxx.xxx.xxx.xxx:9332
08/16 12:10:01 Trace: [servicemanager] cloning service com.roonlabs.roon.broker.http with localEndpoints=tcp://xxx.xxx.xxx.xxx:9330,tcp://xxx.xxx.xxx.xxx:9330,tcp://xxx.xxx.xxx.xxx:9330
08/16 12:10:01 Trace: [servicemanager] cloning service com.roonlabs.roon.api.tcp with localEndpoints=tcp://xxx.xxx.xxx.xxx:9150,tcp://xxx.xxx.xxx.xxx:9150,tcp://xxx.xxx.xxx.xxx:9150
08/16 12:10:01 Trace: [servicemanager] cloning service com.roonlabs.roon.api.http with localEndpoints=http://xxx.xxx.xxx.xxx:9330/api,http://xxx.xxx.xxx.xxx:9330/api,http://xxx.xxx.xxx.xxx:9330/api
08/16 12:10:01 Debug: [easyhttp] [35362] POST to https://api.roonlabs.net/roonmobile/1/cores/announce returned after 143 ms, status code: 200, request body size: 2 KB
08/16 12:10:01 Trace: [broker/accounts] network reachability changed. refreshing
08/16 12:10:01 Trace: [realtime] fetching time from NTP server
08/16 12:10:01 Trace: [broker/accounts] [heartbeat] now=8/16/2026 7:10:01 PM nextauthrefresh=8/16/2026 8:08:00 PM nextmachineallocate=8/16/2026 7:55:46 PM
08/16 12:10:01 Trace:  [broker/accounts]   doing auth refresh, next=8/16/2026 8:08:00 PM
08/16 12:10:01 Trace: [broker/accounts] refreshing account info for email='xxxxxx@gmail.com' userid=ced3a45c-52b7-4a56-9fcb-30d08b5f3392
08/16 12:10:01 Trace: [fiveaccountserver] POST https://accounts5.roonlabs.com/accounts/3/login
08/16 12:10:01 Trace: [fiveaccountserver] BODY token=<<<TOKEN>>>

Just to add a little more color, this has worked fine for years with no issue. I’m still able to use roon arc when away from the house, and all my local roon devices work fine with the roon server. As far as I can tell only the update feature is broken for me.

After some additional troubleshooting, turns out the DNS server I was talking to was barfing. Switching to a different DNS server resolved the issue for me. Nothing to see here, hahaha