Windows 11 Roon 2.71 build 1683 Remote GUI crashes with System.ArithmeticException (ref#Y38VXK)

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

· Windows 11 Roon 2.71 build 1683 Remote GUI crashes with System.ArithmeticException in Math.Sign / Flickable2.AnimationLoop

Hi Roon Support,

I am seeing repeatable GUI-only crashes of the Roon Windows Remote. The Roon Server is running on a Mac mini on the same LAN, and playback continues normally when the Windows Roon GUI exits, so the server/playback path appears unaffected.

Environment
- Roon Remote: 2.71 (build 1683) production
- Client OS: Windows 11, 64-bit
- Display: 3840 x 2160
- UI/display scale reported in the log: scaleFactor 1.75 (175%)
- GPU 0: Intel(R) Graphics, driver 32.0.101.8331
- GPU 1: NVIDIA GeForce RTX 5070 Ti, driver 32.0.16.1088
- Roon Server/Core: Mac mini on the LAN
- Only the Windows GUI exits; music continues playing normally

Crash #1
Local time: 2026-08-20 20:59:34 +08:00
Roon version: 2.71 build 1683

The Windows Remote was displaying the dynamic lyrics screen when the GUI crashed.

The log shows repeated long render frames before the crash, followed by:

Exception Source: System.Private.CoreLib
Exception Type: System.ArithmeticException
Exception Target Site: Math.Sign
Exception Message: Function does not accept floating point Not-a-Number values.

System.Math.Sign(Double value)
Broo.Engine.Flickable2.AnimationLoop(Double frameTimestamp)
Broo.Engine.DeviceTarget.GuiMainLoop()
Sooloos.Application.Main(String[] argv)

Crash #2
Local time: 2026-08-22 05:18:36 +08:00
Roon version: 2.71 build 1683

The exact same exception/signature occurred again:

Exception Source: System.Private.CoreLib
Exception Type: System.ArithmeticException
Exception Target Site: Math.Sign
Exception Message: Function does not accept floating point Not-a-Number values.

System.Math.Sign(Double value)
Broo.Engine.Flickable2.AnimationLoop(Double frameTimestamp)
Broo.Engine.DeviceTarget.GuiMainLoop()
Sooloos.Application.Main(String[] argv)

Immediately before the second crash, there were many severe render stalls, including frames over 1–2 seconds and a maximum observed frame of 2624.59 ms.

At 05:18:28 the Roon process was using about 696 MB physical memory and reported 0 ms GC pause in the last window, so this does not appear to be a simple out-of-memory or GC stall.

Roughly two minutes before the second crash, the log repeatedly reported:

get_spec called with zero width or height: (0x0), scaleFactor: 1.75

Earlier in the same Roon session, at 04:34:21, the log also recorded:

[ui/slowness] widget lyricslrcscrollpanel ... took 368ms to OnLayout

GPU A/B Test Note
Before the second run, I explicitly configured:

Windows Settings -> System -> Display -> Graphics -> Roon.exe -> Power Saving / Intel Graphics

However, the Roon startup log still reports:

OpenGL Version: 4.6.0 NVIDIA 610.88
OpenGL Vendor: NVIDIA Corporation
OpenGL Renderer: NVIDIA GeForce RTX 5070 Ti/PCIe/SSE2

Therefore, although Windows was configured to prefer the Intel GPU, Roon's actual OpenGL renderer remained NVIDIA.

I therefore cannot claim that the crash has been reproduced with Roon actually rendering on the Intel GPU.

If there is a supported way to force Roon/Broo/OpenGL to use the Intel GPU for a controlled A/B test, please advise.

Questions / Request for Investigation
1. Can you investigate the unhandled NaN reaching System.Math.Sign() from Broo.Engine.Flickable2.AnimationLoop()?
2. Does this look related to the historical Windows Math.Sign / Flickable2 crash issue?
3. Could dynamic lyrics/scrolling, window/layout geometry, or 175% display scaling be part of the trigger?
4. Is there a supported way to force Roon to use the Intel GPU/OpenGL renderer for a controlled comparison?
5. Please let me know if you want a crash dump or any specific command-line logging flags enabled for another reproduction.

Privacy note
I have prepared a sanitized crash-excerpt package for this public support request. It omits account/device identifiers, local paths and usernames, network addresses, media identifiers, request URLs, and authentication-related values. I have not included raw full logs publicly. If you need the complete Windows Roon Logs folder, please tell me how to upload it through a private support channel.

Thanks.

Tell us about your home network

· Roon Server/Core is on a Mac mini on the same LAN. The Windows 11 machine runs the Roon Remote only. Playback continues normally when the Windows Remote GUI exits. I am omitting router, network-device, VPN, and address details from this public report.