Watcher list disappeared
Maintainers usually reply within 3 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- visualbasic
- Domain
- desktop, operating-systems
Research direction
Start with CompactGUI.Core.Analyser.AnalyseFolder and follow the call path through GetAnalysedFilesAsync, Watcher.Analyse, ParseWatchers, and RunWatcher. Reproduce the failure around the reported .NET 9.0.11 update and determine how the missing System.Linq.Parallel assembly affects watcher processing. Done means the crash is handled or prevented and the watcher list is not lost.
Written by the indexing model from the issue text.
Description
I used it for 20 days, someday the entire watcher list disappeared. I found this crash in Event Viewer:
Application: CompactGUI.exe
CoreCLR Version: 9.0.1025.47515
.NET Version: 9.0.10
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException:
File name: 'System.Linq.Parallel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at CompactGUI.Core.Analyser.AnalyseFolder(CancellationToken cancellationToken)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at CompactGUI.Core.Analyser.AnalyseFolder(CancellationToken cancellationToken)
at CompactGUI.Core.Analyser.GetAnalysedFilesAsync(CancellationToken token)
at CompactGUI.Watcher.Watcher.Analyse(String folder, Boolean checkDiskModified, CancellationToken cToken)
at CompactGUI.Watcher.Watcher.ParseWatchers(Boolean ParseAll, CancellationToken cToken)
at CompactGUI.Watcher.Watcher.RunWatcher(Boolean runAll, CancellationToken cToken)
at CompactGUI.Watcher.Watcher.OnSystemIdle()
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---w
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at CompactGUI.Application.Main()
Time of the crash coincides with a Windows update 2025-11 .NET 9.0.11 Update for x64 Client (KB5071067). This suggests the update mechanism is not secure enough to not break apps. However, the watcher list being lost suggests another bug.
Windows 11 24H2 26100.7171
4.0 beta6
- Dominant language
- Visual Basic .NET
- Stars
- 8.9k
- Forks
- 343
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 7
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from IridiumIO/CompactGUI
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
IridiumIO/CompactGUI#699 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
IridiumIO/CompactGUI#697 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
IridiumIO/CompactGUI#696 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
IridiumIO/CompactGUI#680 ·
Maintainers usually reply within 3 days
-
Difficulty 3/5 1-2 days Newbie friendliness 48/100
IridiumIO/CompactGUI#700 ·
Maintainers usually reply within 3 days
All issues in IridiumIO/CompactGUI
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
area: library data-loss tier: p0 type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
priority: low
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
storytold/photocraft#8687 · 1 comment ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
electron-userland/electron-builder#10395 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day