Баг
Цитата: Иван от 21.12.2022, 23:08Здравствуйте!
Нашёл баг.
Версия твикера 19.4 beta (последняя на момент написания).[spoiler title="Сама ошибка"]System.InvalidOperationException: Коллекция была изменена; невозможно выполнить операцию перечисления.
в System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
в System.Collections.Generic.List`1.ForEach(Action`1 action)
в x==1IH/!!$/'OiW>^amw{-\.$-..Invoke(List`1 rows)
в x==1IH/!!$/'OiW>^amw{-\.$-.()
в x==1IH/!!$/'OiW>^amw{-\.$-.()
в Win_10_Tweaker.Form1.<CleanerTask>d__64.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в Win_10_Tweaker.Form1.<<Apply_Click>b__61_24>d.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в System.Runtime.CompilerServices.TaskAwaiter.GetResult()
в Win_10_Tweaker.Form1.<Apply_Click>d__61.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()[/spoiler]Как повторить:
1. Начать очистку.
2. Ткнуть "Системная информация".
3. Ткнуть на очистку и начать её опять.
4. Дождаться ошибки.Пример
[spoiler title="На живой системе"]https://www.upload.ee/files/14765654/2022-12-21_22-37-02.mkv.html[/spoiler]
[spoiler title="На виртуалке"]https://www.upload.ee/files/14765656/2022-12-21_22-47-18.mkv.html[/spoiler]
Здравствуйте!
Нашёл баг.
Версия твикера 19.4 beta (последняя на момент написания).
в System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
в System.Collections.Generic.List`1.ForEach(Action`1 action)
в x==1IH/!!$/'OiW>^amw{-\.$-..Invoke(List`1 rows)
в x==1IH/!!$/'OiW>^amw{-\.$-.()
в x==1IH/!!$/'OiW>^amw{-\.$-.()
в Win_10_Tweaker.Form1.<CleanerTask>d__64.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в Win_10_Tweaker.Form1.<<Apply_Click>b__61_24>d.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в System.Runtime.CompilerServices.TaskAwaiter.GetResult()
в Win_10_Tweaker.Form1.<Apply_Click>d__61.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
Как повторить:
1. Начать очистку.
2. Ткнуть "Системная информация".
3. Ткнуть на очистку и начать её опять.
4. Дождаться ошибки.
Пример
Цитата: Сергей от 21.12.2022, 23:20Иван, приветствую 🖐
Тут Вы создаёте конфликт, гуляя по категориям во время выполнения Очистки.
Не нужно так делать, дождитесь выполнения кнопки Применить и только тогда продолжайте гулять по программе.
Иван, приветствую 🖐
Тут Вы создаёте конфликт, гуляя по категориям во время выполнения Очистки.
Не нужно так делать, дождитесь выполнения кнопки Применить и только тогда продолжайте гулять по программе.
Цитата: Иван от 21.12.2022, 23:33Сергей, это понятно, что так не нужно делать, но программа не ограничивает пользователя в этом и не предупреждает об этом, а значит это можно, следовательно это недоработка, которую можно исправить(например, запретить действия, приводящие к этой ошибке).
Собственно говоря, я лишь хотел показать, что имеется такой конфликт во время выполнения Очистки.
Сергей, это понятно, что так не нужно делать, но программа не ограничивает пользователя в этом и не предупреждает об этом, а значит это можно, следовательно это недоработка, которую можно исправить(например, запретить действия, приводящие к этой ошибке).
Собственно говоря, я лишь хотел показать, что имеется такой конфликт во время выполнения Очистки.