Forum

Пожалуйста or Регистрация для создания сообщений и тем.

Словил исключение (багрепорт)

Привет! Я тут добрался до возможности поиска дубликатов и замены их жёсткими ссылками. Программа хорошо отработала на папке Music (9 тыс. файлов), Изображения (38 тыс. файлов). И ещё несколько подобных больших каталогов, в которых не всегда порядок и дубликаты таки встречаются. Но меня чёрт дёрнул проверить её на распакованном дампе лурка (117723 файлов). Программа (Версия 17.1 beta на Win10 20H2 сборка 19042.685) выдала окно.

Спойлер
"System.ArgumentOutOfRangeException: Значение '117724' недопустимо для 'Value'. 'Value' должно лежать в диапазоне от 'minimum' до 'maximum'.
Имя параметра: Value
в System.Windows.Forms.ProgressBar.set_Value(Int32 value)
в Win_10_Tweaker.Form1.<>c__DisplayClass125_1.<ShowDupes>b__1(String x)
в System.Collections.Generic.List`1.ForEach(Action`1 action)
в Win_10_Tweaker.Form1.<>c__DisplayClass125_0.<ShowDupes>b__0()
в System.Threading.Tasks.Task.Execute()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в Win_10_Tweaker.Form1.<ShowDupes>d__125.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()"

Загруженные сборки:

Спойлер
mscorlib
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4300.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
Win 10 Tweaker
Версия сборки: 17.1.0.0
Версия Win32: 17.1
CodeBase: file:///C:/Install/%D0%A2%D0%B2%D0%B8%D0%BA%D0%B8/Win%2010%20Tweaker.exe
----------------------------------------
System.Windows.Forms
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4270.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4300.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Net.Http
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll
----------------------------------------
System.Core
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4300.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
mscorlib.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
lrvxjQKfnYEiCJtXShJStYFJnRNi
Версия сборки: 0.0.0.0
Версия Win32: 17.1
CodeBase: file:///C:/Install/%D0%A2%D0%B2%D0%B8%D0%BA%D0%B8/Win%2010%20Tweaker.exe
----------------------------------------
System.Configuration
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4190.0 built by: NET48REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Windows.Forms.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
System.ServiceProcess
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.ServiceProcess/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll
----------------------------------------
System.Deps
Версия сборки: 1.0.0.0
Версия Win32: 17.1
CodeBase: file:///C:/Install/%D0%A2%D0%B2%D0%B8%D0%BA%D0%B8/Win%2010%20Tweaker.exe
----------------------------------------
cKDyzedbwKfWwiKZPkDUVMMOBsuWA
Версия сборки: 0.0.0.0
Версия Win32: 17.1
CodeBase: file:///C:/Install/%D0%A2%D0%B2%D0%B8%D0%BA%D0%B8/Win%2010%20Tweaker.exe
----------------------------------------
System.Management
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
System.Numerics
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
Microsoft.CSharp
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll
----------------------------------------
Microsoft.VisualBasic
Версия сборки: 10.0.0.0
Версия Win32: 14.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System.Management.Automation
Версия сборки: 3.0.0.0
Версия Win32: 10.0.19041.610
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Management.Automation/v4.0_3.0.0.0__31bf3856ad364e35/System.Management.Automation.dll
----------------------------------------
Microsoft.PowerShell.Commands.Diagnostics
Версия сборки: 3.0.0.0
Версия Win32: 10.0.19041.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Diagnostics/v4.0_3.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Diagnostics.dll
----------------------------------------
System.Management.Automation.resources
Версия сборки: 3.0.0.0
Версия Win32: 10.0.19041.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Management.Automation.resources/v4.0_3.0.0.0_ru_31bf3856ad364e35/System.Management.Automation.resources.dll
----------------------------------------
System.Dеps
Версия сборки: 1.0.0.0
Версия Win32: 17.1
CodeBase: file:///C:/Install/%D0%A2%D0%B2%D0%B8%D0%BA%D0%B8/Win%2010%20Tweaker.exe
----------------------------------------
System.Configuration.Install
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration.Install/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.Install.dll
----------------------------------------
Microsoft.PowerShell.ConsoleHost
Версия сборки: 3.0.0.0
Версия Win32: 10.0.19041.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.PowerShell.ConsoleHost/v4.0_3.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.ConsoleHost.dll
----------------------------------------
Microsoft.PowerShell.Commands.Utility
Версия сборки: 3.0.0.0
Версия Win32: 10.0.19041.508
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Utility/v4.0_3.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Utility.dll
----------------------------------------
Microsoft.PowerShell.Commands.Management
Версия сборки: 3.0.0.0
Версия Win32: 10.0.19041.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Management/v4.0_3.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Management.dll
----------------------------------------
Microsoft.Management.Infrastructure
Версия сборки: 1.0.0.0
Версия Win32: 10.0.19041.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.Management.Infrastructure/v4.0_1.0.0.0__31bf3856ad364e35/Microsoft.Management.Infrastructure.dll
----------------------------------------
Microsoft.PowerShell.Security
Версия сборки: 3.0.0.0
Версия Win32: 10.0.19041.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.PowerShell.Security/v4.0_3.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Security.dll
----------------------------------------
Microsoft.WSMan.Management
Версия сборки: 3.0.0.0
Версия Win32: 10.0.19041.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.WSMan.Management/v4.0_3.0.0.0__31bf3856ad364e35/Microsoft.WSMan.Management.dll
----------------------------------------
LNiAVdAbyxoytazRfecBPUravySvB
Версия сборки: 0.0.0.0
Версия Win32: 17.1
CodeBase: file:///C:/Install/%D0%A2%D0%B2%D0%B8%D0%BA%D0%B8/Win%2010%20Tweaker.exe
----------------------------------------
System.Data
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4270.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.DirectoryServices
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.DirectoryServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.dll
----------------------------------------
Anonymously Hosted DynamicMethods Assembly
Версия сборки: 0.0.0.0
Версия Win32: 4.8.4300.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------
System.Transactions
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
Microsoft.PowerShell.Security.resources
Версия сборки: 3.0.0.0
Версия Win32: 10.0.19041.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.PowerShell.Security.resources/v4.0_3.0.0.0_ru_31bf3856ad364e35/Microsoft.PowerShell.Security.resources.dll
----------------------------------------
Microsoft.WSMan.Management.resources
Версия сборки: 3.0.0.0
Версия Win32: 10.0.19041.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.WSMan.Management.resources/v4.0_3.0.0.0_ru_31bf3856ad364e35/Microsoft.WSMan.Management.resources.dll
----------------------------------------
Microsoft.PowerShell.Commands.Utility.resources
Версия сборки: 3.0.0.0
Версия Win32: 10.0.19041.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Utility.resources/v4.0_3.0.0.0_ru_31bf3856ad364e35/Microsoft.PowerShell.Commands.Utility.resources.dll
----------------------------------------
Microsoft.Windows.Appx.PackageManager.Commands
Версия сборки: 10.0.0.0
Версия Win32: 10.0.19041.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.Windows.Appx.PackageManager.Commands/v4.0_10.0.0.0__31bf3856ad364e35/Microsoft.Windows.Appx.PackageManager.Commands.dll
----------------------------------------
Windows.Management
Версия сборки: 255.255.255.255
Версия Win32: 10.0.10011.16384
CodeBase: file:///C:/Windows/system32/WinMetadata/Windows.Management.winmd
----------------------------------------
Windows.Foundation
Версия сборки: 255.255.255.255
Версия Win32: 10.0.10011.16384
CodeBase: file:///C:/Windows/system32/WinMetadata/Windows.Foundation.winmd
----------------------------------------
System.Runtime
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Runtime.dll
----------------------------------------
Windows.ApplicationModel
Версия сборки: 255.255.255.255
Версия Win32: 10.0.10011.16384
CodeBase: file:///C:/Windows/system32/WinMetadata/Windows.ApplicationModel.winmd
----------------------------------------
System.Runtime.WindowsRuntime
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.WindowsRuntime/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.WindowsRuntime.dll
----------------------------------------
Windows.System
Версия сборки: 255.255.255.255
Версия Win32: 10.0.10011.16384
CodeBase: file:///C:/Windows/system32/WinMetadata/Windows.System.winmd
----------------------------------------

Собственно, вот. Наверное, дело в количестве файлов?  Если это возможно исправить - ок, предоставлю всю информацию, которая требуется. 

Предпросмотра нет, надеюсь, не сильно накосячил при составлении сообщения. 

Добрый день.
Сообщил разработчику, ожидайте ответа...

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь

Добрый день, Дмитрий ☀
Сейчас зарядил проверку на дубликаты папку со 160 000 файлов, пока идёт построение списка.
Процесс затягивается не из-за того, что это долго просчитать – просчёт был несколько секунд – а как раз отрисовать это в рамках того, что может Microsoft Windows. Чуть позже напишу о результатах.

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь

Итак, прошло полтора часа, а список так и пытается построиться.
Надо полагать у Скопированоlabel есть ограничения, поэтому 160 000 – это прям перебор для Windows в одном окне.
Прервал процесс.

Что порекомендую: Бросать частями в таком случае.
К примеру Adobe InDesign имеет 32 000 файлов. И вот как раз Я создал 5 папок с Adobe InDesign.
Если бросаю 1 папку с 32 000 файлами, то построение происходит за ≈ 20 секунд.
По идее все 5 каталогов должен был проверить за пару минут, ан-нет...
Поэтому советую не бросать интересующий каталог сразу корневым для проверки, а бросать частями.

Пока набирал это сообщение, 2 папки InDesign он там и не отрисовал.

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь

Спасибо за подробный ответ. Что же, значит буду бросать частями. В принципе, обычно это не мешает и не так часто требуется 🙂