bcssov / IronyModManager

Mod Manager for Paradox Games. Official Discord: https://discord.gg/t9JmY8KFrV
https://bcssov.github.io/IronyModManager/
MIT License
350 stars 41 forks source link

Unexpected Crash: Fatal Error #475

Closed Tempotemper closed 10 months ago

Tempotemper commented 10 months ago

Unhandled error occurred. Please use this information to file a bug report:

2023-12-13 15:02:18.4609 Version: 1.25.150+d624ffb0de OS Description: Microsoft Windows 10.0.19045 Runtime Identifier: win10-x64 ReactiveUI.UnhandledErrorException: An object implementing IHandleObservableErrors (often a ReactiveCommand or ObservableAsPropertyHelper) has errored, thereby breaking its observable pipeline. To prevent this, ensure the pipeline does not error, or Subscribe to the ThrownExceptions property of the object in question to handle the erroneous case. ---> CodexMicroORM.Core.CEFInvalidStateException: Bad attempted action. This indicates a possible framework or framework usage issue. (In: Could not find value in dictionary..) at CodexMicroORM.Core.Collections.SlimConcurrentDictionary2.ValueByKey(TKey key) at System.Linq.Enumerable.SelectEnumerableIterator2.MoveNext() at System.Linq.Lookup2.Create(IEnumerable1 source, Func2 keySelector, IEqualityComparer1 comparer) at System.Linq.GroupedEnumerable2.GetEnumerator() at System.Linq.Enumerable.SelectEnumerableIterator2.MoveNext() at System.Linq.OrderedEnumerable1.TryGetFirst(Boolean& found) at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable1 source, Boolean& found) at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 source) at IronyModManager.Services.ModPatchCollectionService.<>c__DisplayClass30_4.<<FindConflictsAsync>b__13>d.MoveNext() in IronyModManager.Services\ModPatchCollectionService.cs:line 550 --- End of stack trace from previous location --- at IronyModManager.Services.ModPatchCollectionService.FindConflictsAsync(IIndexedDefinitions indexedDefinitions, IList1 modOrder, PatchStateMode patchStateMode) in IronyModManager.Services\ModPatchCollectionService.cs:line 599 at IronyModManager.ViewModels.Controls.ModHolderControlViewModel.<>cDisplayClass194_0.<b3>d.MoveNext() in IronyModManager\ViewModels\Controls\ModHolderControlViewModel.cs:line 652 --- End of stack trace from previous location --- at IronyModManager.ViewModels.Controls.ModHolderControlViewModel.AnalyzeModsAsync(Int64 id, PatchStateMode mode, IEnumerable`1 versions) in IronyModManager\ViewModels\Controls\ModHolderControlViewModel.cs:line 647 at IronyModManager.ViewModels.Controls.ModHolderControlViewModel.<>cDisplayClass199_0.<grunAnalysis|0>d.MoveNext() in IronyModManager\ViewModels\Controls\ModHolderControlViewModel.cs:line 842 --- End of inner exception stack trace --- at ReactiveUI.RxApp.<>cDisplayClass9_0.<.cctor>b2() at System.Reactive.Concurrency.Scheduler.Invoke(Action action) at System.Reactive.Concurrency.Scheduler.<>c.b740(IScheduler , Action a) at Avalonia.Threading.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action) in /_/src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 89 at System.Reactive.Concurrency.Scheduler.Schedule(IScheduler scheduler, Action action) at ReactiveUI.RxApp.<>c.<.cctor>b9_1(Exception ex) at System.Reactive.AnonymousSafeObserver1.OnNext(T value) at System.Reactive.ObserveOnObserverNew1.DrainStep(ConcurrentQueue1 q) at System.Reactive.ObserveOnObserverNew1.DrainShortRunning(IScheduler recursiveScheduler) at Avalonia.Threading.AvaloniaScheduler.<>c__DisplayClass4_11.<Schedule>b__1() in /_/src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 47 at Avalonia.Threading.JobRunner.RunJobs(Nullable1 priority) in //src/Avalonia.Base/Threading/JobRunner.cs:line 37 at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 283 at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg) at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 217 at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in //src/Avalonia.Base/Threading/Dispatcher.cs:line 65 at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 120 at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 209 at IronyModManager.Program.Main(String[] args) in IronyModManager\Program.cs:line 99

That is the error log I get after trying to conflict resolve using any option and the manager crashes afterwards. I am new to this mod manager so there must be a step that I missed? I reinstalled and there is nothing regarding restricted permissions, at least I think so.

EDIT: I have a lot of mods and it takes forever to load. Also the download is x64, I think my PC is x32 but I did not see an option for x32 (at least I think so as well).

bcssov commented 10 months ago

You cannot have 32 bit windows as Irony is compiled in x64 mode. The log you posted also suggests you're running 64 bit windows 10.

You ran into a non thread safe piece of logic which was caused by recent refactoring to speed up conflict solver. I'm surprised I didn't get this reported sooner. I will push an update which should resolve this.