Goz3rr / SatisfactorySaveEditor

293 stars 76 forks source link

SatisfactorySaveEditor crashed on open savefile #23

Closed moraks closed 5 years ago

moraks commented 5 years ago

SatisfactorySaveEditor-v0.2.1 crashed on open savefile.

Сrash log: AppCrash_SatisfactorySave_89c9ef260816dced929fe91c4217af5ee2b16_6fa552b3_13d71b1b.zip

Satisfactory Save: moraks_autosave_1.zip

System error message: `Приложение: SatisfactorySaveEditor.exe Версия платформы: v4.0.30319 Описание. Процесс был завершен из-за необработанного исключения. Сведения об исключении: System.ArgumentOutOfRangeException в System.IO.BinaryReader.ReadChars(Int32) в SatisfactorySaveParser.BinaryIOExtensions.ReadLengthPrefixedString(System.IO.BinaryReader) в SatisfactorySaveParser.PropertyTypes.TextProperty.Parse(System.String, Int32, System.IO.BinaryReader) в SatisfactorySaveParser.SerializedFields.Parse(Int32, System.IO.BinaryReader) в SatisfactorySaveParser.SaveEntity.ParseData(Int32, System.IO.BinaryReader) в SatisfactorySaveParser.SatisfactorySave..ctor(System.String) в SatisfactorySaveEditor.ViewModel.MainViewModel.LoadFile(System.String) в SatisfactorySaveEditor.ViewModel.MainViewModel.Open() Сведения об исключении: System.Reflection.TargetInvocationException в System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean) в System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[]) в System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo) в GalaSoft.MvvmLight.Helpers.WeakAction.Execute() в GalaSoft.MvvmLight.CommandWpf.RelayCommand.Execute(System.Object) в MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(System.Windows.Input.ICommandSource, Boolean) в System.Windows.Controls.MenuItem.InvokeClickAfterRender(System.Object) в System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) в System.Windows.Threading.DispatcherOperation.InvokeImpl() в System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object) в MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object) в System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) в MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) в System.Windows.Threading.DispatcherOperation.Invoke() в System.Windows.Threading.Dispatcher.ProcessQueue() в System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) в MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) в MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) в System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) в System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) в MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) в MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) в System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) в System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame) в System.Windows.Application.RunDispatcher(System.Object) в System.Windows.Application.RunInternal(System.Windows.Window) в System.Windows.Application.Run(System.Windows.Window) в SatisfactorySaveEditor.App.Main()`
Goz3rr commented 5 years ago

Thanks for the report!

The crash is because your beacon names contain Cyrillic characters. I have fixed this issue in commit 2cd5c95 but have not yet made a new release. I hope to be able to make a new release later today after I fix a few last things.

Goz3rr commented 5 years ago

I have released v0.3 which should hopefully fix this for you.