Sent now.
Yes. completely fresh. No attempt at all to restore a backup.
I think I found a copy of 831 RoonServer installer in my backups. Soon Iâll try a restore, and disable the auto-update (if I can, I donât remember being asked during install if I want auto-updates or not).
Install without internet. After installing you can change and put auto update off in setting/about/âŚ
Then turn internet on again.
Another possibility is code itself maybe tested on environment running newer .NET Framework and older hardware environment may run on older .NET Framework. For example, Windows 7 and early Windows 10 builds have like .NET Framework version 4.5-4.7. Newer version of Windows 10 will update to .NET Framework version 4.8.
Code itself maybe fine on .NET Framework version 4.8 but the way it was handled on older .NET Framework may not work as intended. I suggest Roon to test their update on older .NET Framework version like 4.6 and they maybe able to reproduce the issue to fix themselves.
By the way, this is my assumption based on Windows release. For Mac and Linux using Mono framework, Roon may need to be tested on older Mono platform version too.
Regards,
Keetakawee
Does your local database engine have a repair utility?
Well, crap. I did have an older copy of RoonServer installer⌠but build 814. The RoonServer installer doesnât ask about enabling/disablling updates. Iâd blocked Internet access, but the setup blocked me proceeding until an update check was done. I had to re-enable - at which point it refused to proceed until the Core updated to 880.
After that, not restoring a backup, Iâm back to empty library and no audio devices. Thereâs only so much abuse Iâm willing to take as a customerâŚ
PS: If I close the Roon client and reopen, I get the âIssue loading databaseâ error.
Anyone else does the Windows RoonServer installer (I canât install the whole thing due to some graphics dependency) and knows how to avoid the update check, let us know.
I think this maybe the reason why some systems keep encountering database error. It seems new update uses function that doesnât exist in older .NET Framework/Mono version.
12/16 14:17:06 Critical: Library.Init: System.TypeInitializationException: The type initializer for âPetitSearch.Analysis.CommonWordsCollectionâ threw an exception. â> System.MissingMethodException: Method not found: âSystem.Collections.Generic.HashSet1<!!0> System.Linq.Enumerable.ToHashSet(System.Collections.Generic.IEnumerable
1<!!0>)â.
at PetitSearch.Analysis.CommonWordsCollectionâŚcctor()
â End of inner exception stack trace â
at PetitSearch.SearchIndex1..ctor(DocumentPropertyContainer
1 propertyContainer, Boolean storeDocuments)
at Sooloos.Broker.Music.LibrarySearchIndexâŚctor()
at Sooloos.Broker.Music.LibraryIndexâŚctor(Library library)
at Sooloos.Broker.Music.Library.Init(Database db)
Yup, you nailed it. Iâve already escalated with the R&D team and will see what we can do.
Iâm glad to hear that I can help. I still couldnât figure out why no audio device is detected in build 880 but itâs probably from the similar reason. Please forward to R&D team to test on older .NET Framework and Mono version that is based on older version of Windows/Mac to resolve inconsistencies with new changes in build 880.
Hmm so âŚYOUR gonna Frekin fix it Right ⌠cause losing Data Bass âŚis NOT an option ⌠and saying just start over is NOT going to be accepted by RooN community
Did you remove all old Roonfolders/registry entries? I use ccleaner (registry) for that.
After install I restore backup. Then I changed in settings auto update off. Then turned internet on.
Thereâs another critical error I found from log. Iâm not sure how itâs related since itâs null but it seems to be related to library and broker stuff.
12/16 00:19:16 Critical: scx: System.NullReferenceException: Object reference not set to an instance of an object.
at Sooloos.Broker.Music.LibraryApi.get_IsGenreMappingSupported()
at Sooloos_Broker_Api_Library_Adapter.Serialize(Object obj, Stream stream)
at Sooloos.Broker.Remoting.RemotingServer._PutObject(Object o, Stream stream, Boolean inline)
at Sooloos_Broker_Api_Broker_Adapter.Serialize(Object obj, Stream stream)
at Sooloos.Broker.Remoting.RemotingServer._PutObject(Object o, Stream stream, Boolean inline)
at Sooloos.Broker.Remoting.RemotingServer.<>c__DisplayClass28_0.b__0(Result`1 result)
at Sooloos.Broker.Remoting.RemotingServer.OnGetService(Int32 rid, Byte[] body)
at Sooloos.SynchronizationContextThread._Dispatch(SendOrPostWrapper& ret)
No, we wonât be able to fix your database if itâs corrupt and you donât have an uncorrupted backup.
What we suspect we might be able to fix is if youâre starting with a new database and see no audio devices â itâs a different issue.
I didnât try to clear the registry, but executed an uninstall and a removal of all leftover folders. Selected the âremove database and settingsâ option on the uninstaller.
May give up anyway since I canât find a backup here for 831 installer.
-Alan
IF itâs corrupt - how do we really know if it is? And if all of my backups are corrupt, that points to a really unfortunate bug in your previous versions.
There are people here with corrupted databases who have only been using Roon a few weeks. How did their databases get corrupted if not by Roon itself? How did so many users experience corrupted databases who did not have them corrupted before after earlier updates?
I found another critical error. This time itâs ArgumentOutOfRangeException. Still canât find anything unusual with missing audio device. RAATServer looks fine so maybe itâs Roon core talk to RAATServer to get audio devices but got empty result instead.
12/16 09:46:18 Critical: scx: System.ArgumentOutOfRangeException: Number must be either non-negative and less than or equal to Int32.MaxValue or -1.
Parameter name: dueTime
at System.Threading.TimerâŚctor(TimerCallback callback, Object state, Int64 dueTime, Int64 period)
at Sooloos.CallingThread.AddOneShotTimer(Int64 ms, Action callback, String name)
at Sooloos.CallingThread.AddOneShotTimer(TimeSpan ts, Action callback, String name)
at Sooloos.Broker.Music.LibraryApi.StartBackgroundGetMixes(Sooid profileid, DateTime localtime)
at Sooloos.Broker.Music.LibraryApi.<>c__DisplayClass541_0.<b__0>d.MoveNext()
â End of stack trace from previous location where exception was thrown â
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)
at Sooloos.SynchronizationContextThread._Dispatch(SendOrPostWrapper& ret)
Who? Iâd like to talk with them and take a deeper look because that doesnât sound right. Itâs still possible of course, but we see it less often.
We always get reports of corruption after updates. This community is rapidly growing so it feels louder every time. Thankfully this will be far less common now that weâve released improved db integrity monitoring, so it will be less likely for folks to experience latent corruption.
Ben Goldberg in this thread mentioned that his oldest backup was only a few weeks old.
Oldest backup age is not the same as total Roon usage. Maybe Ben only keeps a few backups.
Edit: for example Iâve been using Roon for more than 6 months now and my oldest backup is just 2 months old.