New Nucleus One stuck at "Intitalizing" after installing Backup from Roon Server on Desktop [Ticket In]

Roon Server Machine

Nucleus One with Samsung 850 Evo 250 GB as internal SSD

Networking Gear & Setup Details

Ethernet. Connected to FRITZ!Box 7590 AX

Connected Audio Devices

None yet

Number of Tracks in Library

~2800 Tracks, 64GB

Description of Issue

I got a new Nucleus One to move my roon installation from my Desktop-PC to a dedicated server.

I followed this guide for migration and created a backup on USB, formatted the SSD through the network-interface, moved my music to the SSD through the network-storage path and then first connected to the Server through the Roon-App on my Desktop.

I installed the backup from the stick, and after a while the Nucleus told me it was done and wanted to reboot but after that it’s stuck with “Initializing…” and the “Connect”-Button is greyed out.

After some tries with various combinations of reformatting the SSD again, first setting up the Nucleus without the backup and then importing it afterwards, reinstalling the OS and some more I started looking at the logs. For some reason they all are 2 hours off and using UTC even though the 2nd line in the log indicates that it should be possible for local time to be different than UTC.

I think this might be important since the first Error-Message in the RoonServer_log is:

05/22 13:07:31 Error: [broker] failed to read local time offset from registry: 
System.ArgumentOutOfRangeException: The added or subtracted value results in an un-representable DateTime. (Parameter 't')
   at System.DateTime.ThrowDateArithmetic(Int32 param)
   at System.DateTime.op_Addition(DateTime d, TimeSpan t)
   at Sooloos.Broker.ApiRoot..ctor(State state)

The only other line above Warn-Level in the log is:

05/22 13:07:34 Critical: scx: System.ArgumentOutOfRangeException: Value to add was out of range. (Parameter 'value')
   at System.DateTime.<Add>g__ThrowOutOfRange|75_0()
   at System.DateTime.Add(Double value, Int32 scale)
   at System.DateTime.AddMinutes(Double value)
   at Sooloos.Broker.ApiRoot.get_RemoteLocalDateTime()
   at Sooloos_Broker_Api_Broker_Adapter.Serialize(Object obj, Stream stream)
   at Sooloos.Broker.Remoting.RemotingServerV2._PutObject(Object o, Stream stream, Boolean inline)
   at Sooloos.Broker.Remoting.RemotingServerV2.<>c__DisplayClass30_0.<OnGetService>b__0(Result`1 result)
   at Sooloos.Broker.Distributed.ServerConnectionV2.OnGetService(Guid guid, ResultCallback`1 cb_result)
   at Sooloos.Broker.Remoting.RemotingServerV2.OnGetService(Int32 rid, Byte[] body)
   at Sooloos.Broker.Remoting.RemotingServerV2.<>c__DisplayClass24_0.<OnRequestReceived>b__0()
   at Sooloos.SynchronizationContextThread.<>c__DisplayClass45_0.<Post>b__0(Object _)
   at Sooloos.SynchronizationContextThread._Dispatch(SendOrPostWrapper& ret)

Other than those two the log is clean except for a couple of warnings here and there.

The server is doing a heartbeat ever 15s:

05/22 13:57:47 Info: [stats] 4736mb Virtual, 192mb Physical, 36mb Managed, 156mb estimated Unmanaged, 255 Handles, 44 Threads

and a message like this every 5 minutes:

05/22 13:57:31 Trace: [broker/accounts] [heartbeat] now=05/22/2025 13:57:31 nextauthrefresh=05/22/2025 14:07:32 nextmachineallocate=05/22/2025 17:07:31

Hi @Hannes93 ,

Thanks for the report here. I looked through our ticketing system, but I don’t see the error you listed as previously reported before, so it looks like we are dealing with a novel error, I am escalating this to the team for further review. Can you please confirm if what time-zone/calendar type the previous system used? Was it standard US/European or something more different such as the Thai calendar?

Windows says I’m on UTC+1 (timezone automatically set and time shown is correct) but that doesn’t make sense to me as I’m on GMT+2/CEST which is supposed to be UTC+2, isn’t it?

I was looking through the settings in the server on my Desktop to see if there’s a way to manually set the timezone but couldn’t find it as part of my own debugging-attempts

Location is set to Germany, locale/language to ENG (UK) which also sometimes confuses software I use.

Perhaps the Warnings are important, too. So the RAAT-Server has the following warnings:

05/23 07:50:41 Warn: [easyhttp] [1] POST https://bits.roonlabs.net/1/q/roon.base.,roon.internet_discovery.,roon.raatserver. web exception without response: socketmsg (HostNotFound):  Name or service not known (bits.roonlabs.net:443) Name or service not known
05/23 07:50:41 Warn: [bits] http request failed updating bits, status code: 999, message: <<NULL>>
...
05/23 07:50:41 Warn: [raatmanager] update_bits, json string: {}
...
05/23 07:50:41 Warn: [discovery] got send failure: network is unreachable

The RoonGoer Log is very short and without warnings
The RoonServer Log has a few:

05/23 07:50:40 Warn: [realtime] failed to get time: Name or service not known
05/23 07:50:40 Warn: [orbit] init failed due to Invalid Type: 10, reiniting
...
05/23 07:50:41 Warn: [easyhttp] [1] GET https://api.roonlabs.net/devicedb/1/devicedb-prod.zip check network configuration: socketerr (NetworkUnreachable): Network is unreachable (104.22.15.70:443)
05/23 07:50:41 Warn: [easyhttp] [2] POST https://api.dropboxapi.com/2/users/get_current_account check network configuration: socketerr (NetworkUnreachable): Network is unreachable (162.125.66.19:443)
05/23 07:50:41 Warn: [easyhttp] [3] GET https://api.roonlabs.net/geoip/geoip/1/lookup check network configuration: socketerr (NetworkUnreachable): Network is unreachable (104.22.15.70:443)
...
05/23 07:50:42 Warn: [devicedb] While refreshing, status: 999, body: System.Net.WebException: Network is unreachable (104.22.15.70:443)
 ---> System.Net.Http.HttpRequestException: Network is unreachable (104.22.15.70:443)
 ---> System.Net.Sockets.SocketException (101): Network is unreachable
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ConnectAsync(Socket socket)
   at System.Net.Sockets.Socket.ConnectAsync(EndPoint remoteEP, CancellationToken cancellationToken)
   at System.Net.HttpWebRequest.<>c__DisplayClass216_0.<<CreateHttpClient>b__1>d.MoveNext()
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at System.Net.HttpWebRequest.<>c__DisplayClass216_0.<CreateHttpClient>b__1(SocketsHttpConnectionContext context, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   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.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   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.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
   at System.Net.Http.HttpConnectionPool.<>c__DisplayClass75_0.<CheckForHttp11ConnectionInjection>b__0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
   at System.Threading.Tasks.Task.ExecuteEntryUnsafe(Thread threadPoolThread)
   at System.Threading.Tasks.Task.ExecuteFromThreadPool(Thread threadPoolThread)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
   at System.Threading.Thread.StartCallback()
--- End of stack trace from previous location ---
   at System.Net.HttpWebRequest.<>c__DisplayClass216_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.AddHttp11ConnectionAsync(HttpRequestMessage request)
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, 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.SendRequest(Boolean async)
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   --- End of inner exception stack trace ---
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location ---
   at Base.EasyHttp.HttpWebRequestEasyHttp.QueryAsyncInternal(HttpMethod method, Params p, CancellationToken canceltoken, IAuthProvider auth, Int32 nestedrequestcount)
...
05/23 07:50:42 Warn: [auth] EnsureAuthReady failed: Result[Status=NotLoggedIn]
...
05/23 07:50:44 Warn: [realtime] failed to get time: Name or service not known

Seems like the time-difference seems to mess with the connectivity of the device as it’s connected to a router via ethernet and has no problems to be connected to through the local network and the router is not instructed to block any connections and even instructed to give the Nucleus priority access
It’s set to use IPv6 connections whenever possible which also can create problems with some applications.
I also gave the Router Permission to allow the Nucleus to set it’s own port-forwardings if necessary with the router but it didn’t do that as far as I can see

This is correct for Germany. You may be confused because daylight saving time is currently in force.

And RoonOS always uses just UTC 0 without any correction for location.

I just thought there might be a difference between the local time and what Roon Server uses since the 2nd line in the log after booting is always like this:

05/23 07:50:40 Info: Local time is 05/23/2025 07:50:40, UTC time is 05/23/2025 07:50:40

and it fails to identify the local time correctly

Just reset the DB once more, set the IP to static (same one I told the router to use) and fixed the DNS-Server to 8.8.8.8 instead of leaving it to the Router. Then instead of restoring the backup I started the login-process and de-registered the Desktop-Server but then went back and restored from the backup once more.

Now the warnings about connection errors in the RAATServer log are mostly gone, only one Warning remains:

05/23 09:09:40 Warn: [raatmanager] update_bits, json string: {}

As for the RoonServer log:

From the installation/backup process (RoonServer_log.01.txt):

...
05/23 09:08:17 Warn: [remoting/brokerserver] [initconn 192.168.178.26:63475=>192.168.178.29:9332] failed: System.Exception: incomplete receive
   at Sooloos.Broker.Distributed.InitConnectionV2.Go()
...
05/23 09:08:17 Warn: [auth] EnsureAuthReady failed: Result[Status=NotLoggedIn]
...
05/23 09:08:21 Warn: [realtime] failed to get time: Connection timed out
...

And from the log after restarting (RoonServer_log.txt):

...
05/23 09:09:38 Error: [broker] failed to read local time offset from registry: System.ArgumentOutOfRangeException: The added or subtracted value results in an un-representable DateTime. (Parameter 't')
   at System.DateTime.ThrowDateArithmetic(Int32 param)
   at System.DateTime.op_Addition(DateTime d, TimeSpan t)
   at Sooloos.Broker.ApiRoot..ctor(State state)
...
05/23 09:09:39 Warn: [broker/accounts] error loading account data: System.InvalidOperationException: Operation is not valid due to the current state of the object.
   at Sooloos.Broker.ObscureHelper.Unobscure(Byte[] data)
   at Sooloos.Broker.Accounts._Load()
...
05/23 09:09:39 Warn: [remoting/brokerserver] [initconn 192.168.178.26:63757=>192.168.178.29:9332] failed: System.Exception: got unexpected broker id in REQ_HANDSHAKE: de7a8c72-c2d1-424b-8971-0cae78e3453f
   at Sooloos.Broker.Distributed.InitConnectionV2.Go()
...
05/23 09:09:40 Warn: [auth] EnsureAuthReady failed: Result[Status=NotLoggedIn]
...
05/23 09:09:41 Warn: [remoting/brokerserver] [initconn 192.168.178.26:63761=>192.168.178.29:9332] failed: System.Exception: got unexpected broker id in REQ_HANDSHAKE: de7a8c72-c2d1-424b-8971-0cae78e3453f
   at Sooloos.Broker.Distributed.InitConnectionV2.Go()
...
05/23 09:09:41 Critical: scx: System.ArgumentOutOfRangeException: Value to add was out of range. (Parameter 'value')
   at System.DateTime.<Add>g__ThrowOutOfRange|75_0()
   at System.DateTime.Add(Double value, Int32 scale)
   at System.DateTime.AddMinutes(Double value)
   at Sooloos.Broker.ApiRoot.get_RemoteLocalDateTime()
   at Sooloos_Broker_Api_Broker_Adapter.Serialize(Object obj, Stream stream)
   at Sooloos.Broker.Remoting.RemotingServerV2._PutObject(Object o, Stream stream, Boolean inline)
   at Sooloos.Broker.Remoting.RemotingServerV2.<>c__DisplayClass30_0.<OnGetService>b__0(Result`1 result)
   at Sooloos.Broker.Distributed.ServerConnectionV2.OnGetService(Guid guid, ResultCallback`1 cb_result)
   at Sooloos.Broker.Remoting.RemotingServerV2.OnGetService(Int32 rid, Byte[] body)
   at Sooloos.Broker.Remoting.RemotingServerV2.<>c__DisplayClass24_0.<OnRequestReceived>b__0()
   at Sooloos.SynchronizationContextThread.<>c__DisplayClass45_0.<Post>b__0(Object _)
   at Sooloos.SynchronizationContextThread._Dispatch(SendOrPostWrapper& ret)
...

The VERY weird part is that the time was actually correct in the Installation/Backup log:

05/23 09:08:55 [Local 05/23 11:08:55] Debug: [UpdateRemoteLocalTime] iso = 2025-05-23T11:08:55.5177169+02:00
   offset_utc_minutes = 119.99999993833333
   _remote_local_time = 05/23/2025 09:08:55
   _process_local_time = 05/23/2025 09:08:55
   _is_process_utc_timezone = True (off by -3E-07)

But then got lost again after the restart:

05/23 09:09:38 Info: Local time is 05/23/2025 09:09:38, UTC time is 05/23/2025 09:09:38

Could it be that

offset_utc_minutes = 119.99999993833333

is the problem since in my locale a . is used for 1000-markings and not as decimal separator so on reboot that number is interpreted as 11999999993833333 and creating that

System.ArgumentOutOfRangeException: The added or subtracted value results in an un-representable DateTime.

Error?

Just guessing and trying to help fix things since right now I have a pretty expensive piece of hardware doing absolutely nothing for me :smiley:

100% sure it’s the dot and comma thing as I change them around in my windows-locale trying to create a backup with them reversed and now my Desktop-Server is in the same “initializing…”-loop as the nucleus

Hi @Hannes93,

Thanks for all the additional info and for taking the time to dig into your issue deeper! Our team has a ticket to investigate further and so we should have more information to share once it hits the top of their queue.

Thank you for your patience in the meantime! :raised_hands:

Any ETA for when I’ll finally be able to use my Nucleus?

Hi @Hannes93,

Unfortunately, we’re not able to provide an exact timeline at this stage. Our developers have confirmed that a fix will be required and will need to go through our development and release process.

That said, please rest assured—your case hasn’t been forgotten. We’ll keep this thread updated with any progress or changes as they become available.

I understand that a permanent fix that prevents this from happening takes time. Something like support for multiple decimal points at the same time is not trivial - I get that.

I just thought it’d be possible to force-change the locale on the Nucleus to the same locale as my Desktop or to manipulate the backup in a way that that’s the case without me having to wait for the next release-cycle.

Hi @Hannes93 ,

The Nucleus uses UTC time and a standard date format. If you switch your Desktop to standard date format, it may work to restore the backup. That said, our QA team has been able to reproduce this issue on their end and are working on getting the ticket prepared for dev team review, though we are unable to provide any specific timelines of when it will be addressed (and do keep in mind that the first release cycle will always be to the Early Access program, only then after to Production).

I tried to change the decimal-point setting in Windows in order to create a Backup with the “standard” settings but then my Desktop-Installation wouldn’t start anymore

Hi @Hannes93,

Sorry that suggestion didn’t resolve the issue. As @noris mentioned, our developers have a ticket open to address this, and we’ll be sure to keep you updated as progress is made.

Hello @Hannes93 ,

I just wanted to confirm that our QA team has been able to reproduce the issue in-house and have forwarded the ticket to the developers. Since there’s not much more to do until the ticket reaches the developer’s queue. I can’t comment on specific timelines, but please be on the lookout for a bugfix for this in a future Roon release!

Can you at least give me a ballpark? Are we talking days or weeks? If it’s taking more than a couple of days I’d appreciate it if I could circumvent the issue somehow until an official fix is done.

Would it be possible to edit the backup so it uses the “correct” number-format? Or export just certain parts of Roon without including any system settings so I can at least get my library moved to the new device? Manually changing Settings is no problem if it means that I can finally use my Nucleus - having to wait for longer until the next release would be pretty annoying :confused:

Hi @Hannes93,

Thanks for following up — I completely understand how frustrating it is to be stuck, especially when you’re eager to get your Nucleus up and running.

Right now, we unfortunately don’t have a clear timeline for a fix since the error you’re running into is quite rare and still under investigation. I wish I could give you a ballpark, but we simply don’t have that information yet.

We also don’t currently support partial restores or editing backups manually, so there’s no way to isolate just the library content without bringing over system settings too. If you have an older backup, it may be worth trying that — it could avoid triggering this issue.

Otherwise, starting fresh with a new database is your best option for now. You’d need to reconfigure settings manually, but at least it would get your Nucleus up and usable in the meantime.

I know that’s not ideal, and I really appreciate your patience while we work toward a fix.

just bumping the thread so it’s not automatically closed after 10 days