Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to parse the configuration file at ... config.xml #471

Open
arqeco opened this issue Jul 17, 2018 · 27 comments
Open

Failed to parse the configuration file at ... config.xml #471

arqeco opened this issue Jul 17, 2018 · 27 comments

Comments

@arqeco
Copy link

arqeco commented Jul 17, 2018

Hello,

From time to time Synctrayzor (1.1.21) fails to start. This happens on two different Windows 10 laptops, maybe every month or two. A dialog box appears with the message:

Failed to parse the configuration file at C:\Users\Márcio\AppData\Roaming\SyncTrayzor\config.xml
'.', hexadecimal value 0x00 is an invalid character. Line 1, position 1. _(Translated from Portuguese)

Looking at config.xml I can see that all characters have been replaced, somehow, by the null character.

I don't care about going to %appdata% and deleting the file, but other people here have trouble with this. I have found a similar issue #120 but it is closed.

Thank you for SyncTrayzor.

Greetings,
Márcio Moreira

@canton7
Copy link
Owner

canton7 commented Jul 22, 2018

Weird, I've seen this around before, but it was usually associated with Windows updates, also affected log files from both Syncthing and SyncTrayzor (so it wasn't directly do to SyncTrayzor), and wasn't repeatable. My best guesses are Windows Update screwed something up, and disk failure (which I can't do much about).

Can you check the health of the disk on the machine which this message keeps appearing on? When you see it happen, could you also check the log files (in the same directory) for big sequences of null bytes?

@arqeco
Copy link
Author

arqeco commented Jul 23, 2018

Hello,

My disk seems fine. I am going to check the disk, as soon as possible, and inform you.

There are no null bytes in the log files. Below there are the last lines of synctrayzor.log.

"Referência de objeto não definida para uma instância de um objeto." means "Object reference undefined for an object instance" in portuguese.

Greetings,
Márcio

2018-07-23 08:22:53.3866 #9576 [Debug] SyncTrayzor.Services.Config.ConfigurationProvider: Found existing configuration at C:\Users\Márcio\AppData\Roaming\SyncTrayzor\config.xml 
2018-07-23 08:22:54.6678 #9576 [Error] SyncTrayzor.Bootstrapper: An unhandled exception occurred SyncTrayzor.Services.Config.BadConfigurationException Error deserializing configuration file at C:\Users\Márcio\AppData\Roaming\SyncTrayzor\config.xml SyncTrayzor.Services.Config.Configuration LoadFromDisk(SyncTrayzor.Services.Config.Configuration, Boolean ByRef)    em SyncTrayzor.Services.Config.ConfigurationProvider.LoadFromDisk(Configuration defaultConfiguration, Boolean& hadToCreate) na C:\projects\synctrayzor\src\SyncTrayzor\Services\Config\ConfigurationProvider.cs:linha 186
   em SyncTrayzor.Services.Config.ConfigurationProvider.Initialize(Configuration defaultConfiguration) na C:\projects\synctrayzor\src\SyncTrayzor\Services\Config\ConfigurationProvider.cs:linha 99
   em SyncTrayzor.Bootstrapper.Configure() na C:\projects\synctrayzor\src\SyncTrayzor\Bootstrapper.cs:linha 144
   em Stylet.BootstrapperBase.Start(String[] args) na c:\projects\stylet\Stylet\BootstrapperBase.cs:linha 81
   em System.Windows.Application.OnStartup(StartupEventArgs e)
   em System.Windows.Application.<.ctor>b__1_0(Object unused)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   em System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) SyncTrayzor.Services.Config.BadConfigurationException: Error deserializing configuration file at C:\Users\Márcio\AppData\Roaming\SyncTrayzor\config.xml ---> System.Xml.XmlException: '.', valor hexadecimal 0x00, é um caractere inválido. Linha 1, posição 1.
   em System.Xml.XmlTextReaderImpl.Throw(Exception e)
   em System.Xml.XmlTextReaderImpl.ThrowInvalidChar(Char[] data, Int32 length, Int32 invCharPos)
   em System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
   em System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   em System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
   em System.Xml.Linq.XDocument.Load(Stream stream, LoadOptions options)
   em SyncTrayzor.Services.Config.ConfigurationProvider.LoadFromDisk(Configuration defaultConfiguration, Boolean& hadToCreate) na C:\projects\synctrayzor\src\SyncTrayzor\Services\Config\ConfigurationProvider.cs:linha 166
   --- Fim do rastreamento de pilha de exceções internas ---
   em SyncTrayzor.Services.Config.ConfigurationProvider.LoadFromDisk(Configuration defaultConfiguration, Boolean& hadToCreate) na C:\projects\synctrayzor\src\SyncTrayzor\Services\Config\ConfigurationProvider.cs:linha 186
   em SyncTrayzor.Services.Config.ConfigurationProvider.Initialize(Configuration defaultConfiguration) na C:\projects\synctrayzor\src\SyncTrayzor\Services\Config\ConfigurationProvider.cs:linha 99
   em SyncTrayzor.Bootstrapper.Configure() na C:\projects\synctrayzor\src\SyncTrayzor\Bootstrapper.cs:linha 144
   em Stylet.BootstrapperBase.Start(String[] args) na c:\projects\stylet\Stylet\BootstrapperBase.cs:linha 81
   em System.Windows.Application.OnStartup(StartupEventArgs e)
   em System.Windows.Application.<.ctor>b__1_0(Object unused)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   em System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
XmlException '.', valor hexadecimal 0x00, é um caractere inválido. Linha 1, posição 1. Void Throw(System.Exception)
2018-07-23 08:25:25.9183 #9576 [Debug] SyncTrayzor.Services.AutostartProvider: Have read/write access to the registry 
2018-07-23 08:25:33.0118 #9576 [Error] SyncTrayzor.Bootstrapper: An unhandled exception occurred System.NullReferenceException Referência de objeto não definida para uma instância de um objeto. Void Dispose()    em SyncTrayzor.Services.ApplicationWindowState.Dispose() na C:\projects\synctrayzor\src\SyncTrayzor\Services\ApplicationWindowState.cs:linha 67
   em StyletIoC.Internal.Registrations.SingletonRegistration.<.ctor>b__0(Object o, EventArgs e) na c:\projects\stylet\Stylet\StyletIoC\Internal\Registrations\SingletonRegistration.cs:linha 25
   em System.EventHandler.Invoke(Object sender, EventArgs e)
   em StyletIoC.Internal.Container.Dispose() na c:\projects\stylet\Stylet\StyletIoC\Internal\Container.cs:linha 548
   em Stylet.Bootstrapper`1.Dispose() na c:\projects\stylet\Stylet\Bootstrapper.cs:linha 101
   em System.Windows.Application.OnExit(ExitEventArgs e)
   em System.Windows.Application.DoShutdown()
   em System.Windows.Application.ShutdownImpl()
   em System.Windows.Application.ShutdownCallback(Object arg)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   em System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
   em SyncTrayzor.Services.ApplicationWindowState.Dispose() na C:\projects\synctrayzor\src\SyncTrayzor\Services\ApplicationWindowState.cs:linha 67
   em StyletIoC.Internal.Registrations.SingletonRegistration.<.ctor>b__0(Object o, EventArgs e) na c:\projects\stylet\Stylet\StyletIoC\Internal\Registrations\SingletonRegistration.cs:linha 25
   em System.EventHandler.Invoke(Object sender, EventArgs e)
   em StyletIoC.Internal.Container.Dispose() na c:\projects\stylet\Stylet\StyletIoC\Internal\Container.cs:linha 548
   em Stylet.Bootstrapper`1.Dispose() na c:\projects\stylet\Stylet\Bootstrapper.cs:linha 101
   em System.Windows.Application.OnExit(ExitEventArgs e)
   em System.Windows.Application.DoShutdown()
   em System.Windows.Application.ShutdownImpl()
   em System.Windows.Application.ShutdownCallback(Object arg)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   em System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
2018-07-23 08:25:33.4493 #9576 [Error] SyncTrayzor.Bootstrapper: An unhandled AppDomain exception occurred. Terminating: True System.NullReferenceException Referência de objeto não definida para uma instância de um objeto. Void Dispose()    em SyncTrayzor.Services.ApplicationWindowState.Dispose() na C:\projects\synctrayzor\src\SyncTrayzor\Services\ApplicationWindowState.cs:linha 67
   em StyletIoC.Internal.Registrations.SingletonRegistration.<.ctor>b__0(Object o, EventArgs e) na c:\projects\stylet\Stylet\StyletIoC\Internal\Registrations\SingletonRegistration.cs:linha 25
   em System.EventHandler.Invoke(Object sender, EventArgs e)
   em StyletIoC.Internal.Container.Dispose() na c:\projects\stylet\Stylet\StyletIoC\Internal\Container.cs:linha 548
   em Stylet.Bootstrapper`1.Dispose() na c:\projects\stylet\Stylet\Bootstrapper.cs:linha 101
   em System.Windows.Application.OnExit(ExitEventArgs e)
   em System.Windows.Application.DoShutdown()
   em System.Windows.Application.ShutdownImpl()
   em System.Windows.Application.ShutdownCallback(Object arg)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   em System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   em System.Windows.Threading.DispatcherOperation.InvokeImpl()
   em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   em MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   em System.Windows.Threading.DispatcherOperation.Invoke()
   em System.Windows.Threading.Dispatcher.ProcessQueue()
   em System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   em MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   em MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   em System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   em System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   em MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   em MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   em System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   em System.Windows.Application.RunDispatcher(Object ignore)
   em System.Windows.Application.RunInternal(Window window)
   em SyncTrayzor.App.Main() System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
   em SyncTrayzor.Services.ApplicationWindowState.Dispose() na C:\projects\synctrayzor\src\SyncTrayzor\Services\ApplicationWindowState.cs:linha 67
   em StyletIoC.Internal.Registrations.SingletonRegistration.<.ctor>b__0(Object o, EventArgs e) na c:\projects\stylet\Stylet\StyletIoC\Internal\Registrations\SingletonRegistration.cs:linha 25
   em System.EventHandler.Invoke(Object sender, EventArgs e)
   em StyletIoC.Internal.Container.Dispose() na c:\projects\stylet\Stylet\StyletIoC\Internal\Container.cs:linha 548
   em Stylet.Bootstrapper`1.Dispose() na c:\projects\stylet\Stylet\Bootstrapper.cs:linha 101
   em System.Windows.Application.OnExit(ExitEventArgs e)
   em System.Windows.Application.DoShutdown()
   em System.Windows.Application.ShutdownImpl()
   em System.Windows.Application.ShutdownCallback(Object arg)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   em System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   em System.Windows.Threading.DispatcherOperation.InvokeImpl()
   em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   em MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   em System.Windows.Threading.DispatcherOperation.Invoke()
   em System.Windows.Threading.Dispatcher.ProcessQueue()
   em System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   em MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   em MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   em System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   em System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   em MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   em MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   em System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   em System.Windows.Application.RunDispatcher(Object ignore)
   em System.Windows.Application.RunInternal(Window window)
   em SyncTrayzor.App.Main()

canton7 added a commit that referenced this issue Sep 2, 2018
@canton7
Copy link
Owner

canton7 commented Sep 2, 2018

(Fixed that NullReferenceException in your log -- that shouldn't have happened)

@icecore2
Copy link

Issue still here(?), just have the same message on startup.

canton7 added a commit that referenced this issue Jan 21, 2019
@canton7
Copy link
Owner

canton7 commented Jan 21, 2019

Found something that might be related, will fix in the next release.

For now, delete SyncTrayzor's configuration file

@hugobuddel
Copy link

FWIW. Windows 10 just updated and got the null bytes in config.xml again. And the end of syncthing.log also has null bytes. This was on 1.1.22, so as expected. Deleting the config.xml indeed fixed it. Looking forward to the next version, keep up the good work! Loving Syncthing/SyncTrayzor.

@canton7
Copy link
Owner

canton7 commented Feb 5, 2019

If Syncthing's log file also got null bytes, then this is something to do with Windows Update, and is not something that I can fix I'm afraid.

@hugobuddel
Copy link

Hmm, searching for files with all null bytes shows several more files in the AppData directory. Some from Firefox also from yesterday, a program that was also running 'during' the update.

See https://superuser.com/questions/845270/what-could-cause-the-files-to-be-replaced-with-null-bytes-size-and-timestamp-no and https://superuser.com/questions/845268/how-to-find-all-files-that-consist-only-of-null-bytes-any-number-of-them

(The Syncthing log only had the nulls at the end, but searching for files with just some nulls gives way to many false positives. I'll do some more searches.)

Maybe some writes are not properly synced when the upgrade is performed? Or maybe the associated reboot was the triggers as many machines only reboot on update.

Since the main problem is with config.xml, perhaps you could make sure that this file is not kept open longer than needed? Just a though.

By now my worry has extended beyond SyncTrayzor and I'm wondering what other files might be corrupted. That's a bit beyond the scope of this issue though.

@hugobuddel
Copy link

@canton7 you might find this discussion on the Notepad++ forum interesting: https://notepad-plus-plus.org/community/topic/13302/fix-corrupted-txt-file-null

First:

What’s really weird is that, normally, npp opens the file for reading, once done it closes it and you only work with the buffer in the editor. No file interaction until you save the file. I don’t understand how it could happen that a power loss can corrupt the file if the file hasn’t been opened at that time.

Later

this issue can happen with any software if the requirements are fulfilled.
Basically it is this, a thread has opened the file and then something happens which forces
the operating system to kill the process. In this situation a thread might not be able to close
the file correctly which then results in a corrupted file. I’m able to reproduce this with a 32bit npp version

And finally

I have made official pull request addressing the issue: notepad-plus-plus/notepad-plus-plus#4803 .

Maybe there's something useful in that thread.

For me this exercise is over I think. My investigation is summarized on one of the stackoverflow questions: https://superuser.com/a/1402396/13089 . I'll be more careful in the future with closing all my applications when rebooting.

@canton7
Copy link
Owner

canton7 commented Feb 5, 2019

Thanks for those links, I'll do some reading.

Note that SyncTrayzor does only open its config file on startup, and again when it needs to be written to, which shouldn't in theory be very often (although I've never check to see if something's causing it to be saved more often)

@Dulanic
Copy link

Dulanic commented Apr 4, 2020

It's weird that I have seen this happen prob a few times over the past year and even the most recent time when I did a fresh install of Windows 10 and syncthing... I see the same thing with just a bunch of NULL values if I open with NP++. I hadn't done any windows updates and there is 0 issues /w my HD unless the corruption is specific to this file out of hundreds of thousands multiple times... then I should play the lottery :)

@arqeco
Copy link
Author

arqeco commented Apr 6, 2020

What about to add some code to simply delete and recreate config.xml in case it gets corrupted?

Syncthing/Synctrayzor are the best software I know for the job. I've tried others but they can't come close. We need to use this.

The dialog box with "Failed to parse the configuration file at ...\AppData\Roaming\SyncTrayzor\config.xml" could have added two simple button: "Recreate config.xml" and "Cancel".

In fact, this could solve the operational aspect of this bug. Users of every level of knowledge on computing could simply deal of it without asking for support.

That's my suggestion.

@aasutossh
Copy link

I am getting this issue from past couple of days, before that it was all cool.

Aren't we planning to work on this?

@brimwats
Copy link

I am also getting this following the most recent update

@Splozy
Copy link

Splozy commented Feb 8, 2022

This issue persists for me too

@andynormancx
Copy link

I've also hit this issue for the first time on Windows 11 (I've done a few Windows updates after this machine was unused for a while). My config.xml file is full of nulls.

I also spotted one other file, unrelated to SyncTrazor that had been zeroed out. A file that hasn't changed since 2002, Windows shows it hasn't changed and yet the size had gone from 8KB to zero.

The only reason that I spotted this is that the file is part of a SyncThing folder and the files in that folder never get change from this machine and yet it was showing local conflicting changes for that file.

That file was definitely not in use during the Windows updates, it is a basically a backup of stuff I've not looked at in many years. I wonder what other files Windows has managed to clear the contents of...

The two files were impacted differently though, config.xml was full of nulls, the other file was just zero length.

@henryptung
Copy link

As a suggestion, easiest way to resolve this is probably to make the save operation write to a temporary file first in the same directory, and then overwrite the existing config file with an atomic move.

@canton7
Copy link
Owner

canton7 commented Mar 31, 2022

@henryptung
Copy link

henryptung commented Apr 9, 2022

@canton7 Maybe it needs to call Flush(true) before base.Dispose()?

https://docs.microsoft.com/en-us/dotnet/api/system.io.filestream.flush?view=net-6.0#overloads

Use the Flush(Boolean) method overload when you want to ensure that all buffered data in intermediate file buffers is written to disk.

Seems like FileStream.Dispose() does implicitly call Flush(), but not necessarily Flush(true).

@Moredread
Copy link

I sometimes get this problem on power loss on Windows 10, and now on Windows 11. The config file is exactly 4096 bytes, all zeroes, every time this happens.

@canton7
Copy link
Owner

canton7 commented Apr 11, 2022

The only difference between base.Dispose() and Flush(true) is a call to FlushFileBuffers (which happens in Flush(true), but not base.Dispose()).

That shouldn't matter. We're just about to close the file handle, and when we do that, the OS will lazy-write any unflushed buffers to disk.

But, whether the OS does write any unflushed buffers to disk or not shouldn't matter, because we've just been writing to a temporary file: we're about to move that to the proper config file. That call to MoveFileEx sould use any data currently buffered by the OS, and we pass MOVEFILE_WRITE_THROUGH which:

The function does not return until the file is actually moved on the disk.

Setting this value guarantees that a move performed as a copy and delete operation is flushed to disk before the function returns. The flush occurs at the end of the copy operation.

The fact that we're seeing any changes at all to config.xml proves that we're getting to the MoveFileEx call, as otherwise any changes would just be to the temporary file. As soon as MoveFileEx returns, the OS should have finished moving everything over to config.xml.

@canton7
Copy link
Owner

canton7 commented Apr 11, 2022

Although, there are hints that MoveFileEx might not work well with unflushed changes. If that is the case, I don't see how it would correlate to the reports of it happening around Windows upgrades.

@derkork
Copy link

derkork commented Mar 20, 2023

I'm seeing this on a regular basis. I usually delete the config.xml file and then things just continue to work. I'm actually synching the folder which contains the config.xml file (for backup), could this be causing it?

@mon0theist
Copy link

Yeah just got the "all NULLS" config.xml as well. But then I accidentally deleted the Syncthing config, not the SyncTrayzor config. So that's nice.

@endolith
Copy link

I just lost Synctrayzor's config.xml to null bytes after I powered on the laptop, it seemed to work and then did something weird and went black, and I powered on again. :(

I've also had other files in AppData disappear recently, with apps acting like they were just started for the first time. Not sure if related.

@steelowheel
Copy link

steelowheel commented Sep 15, 2023

I just got the "Failed to parse the configuration file" box, after BIOS update.

Failed to parse the configuration file at C:\Users\kensentme\AppData\Roaming\SyncTrayzor\config.xml.

'.', hexadecimal value 0x00, is an invalid character. Line 1, position 1.

If you manually downgraded SyncTrayzor, note that this is not supported.

Please attempt to fix C:\Users\kensentme\AppData\Roaming\SyncTrayzor\config.xml by hand. If unsuccesful, please delete C:\Users\kensentme\AppData\Roaming\SyncTrayzor\config.xml and let SyncTrayzor re-create it.

SyncTrayzor will now close.

This is a Windows 10 Pro system with AMD Ryzen 5600G and a lower end Asus B550 motherboard. I ran the update in the BIOS, with its EzFlash tool. After the update was done, and before the system proceeded to start booting to Windows 10, I entered the newly installed BIOS. The BIOS settings were reset so I re-configured everything just like they used to be before.

After that I saved the settings, restarted the system, and after booting to Windows and logging in I was greeted with the "Failed to parse the configuration file" box.

This is just to let you know in what situation I got this error message. It's the first time I see that. And I don't really know if it's BIOS update related but this is where I got it. I'll now try to solve this by hand, or by deleting the config.xml

Thanks, cheers!

Edit: deleting config.xml solved this for me.

@jjustra
Copy link

jjustra commented Nov 17, 2023

Same NULL-bytes error in SyncTrayzor after Win update here. Deleting trayzor's config.xml helped, all is good now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests