fifty-six / Scarab

An installer for Hollow Knight mods written in Avalonia.
GNU General Public License v3.0
592 stars 160 forks source link

"Update All" crashes Scarab #140

Closed Ordoviz closed 1 year ago

Ordoviz commented 1 year ago

Scarab Version

v1.21.0.0 on Linux

Hollow Knight Version

latest 1.5

Steps to Reproduce

Have some out-dated mods, click "Update All"

Expected Behaviour

Scarab updates all mods without crashing

Actual Behaviour

Scarab successfully updates a single mod, then crashes (updating manually works fine).

Let me know if you need more information or want me to test something.

Logs

System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Generic.List`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at Scarab.ViewModels.ModListViewModel.UpdateUnupdated()
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority) in /_/src/Avalonia.Base/Threading/JobRunner.cs:line 37
   at Avalonia.X11.X11PlatformThreading.CheckSignaled() in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 164
   at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken) in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 244
   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 Scarab.Program.Main(String[] args)
dastrdly6585 commented 1 year ago

Encountered the same error with the Windows version of Scarab.