Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BSOD (Probably Memory overflow) and Forced CHKDSK Needed when recompressing files with hard links with LZX #419

Open
Charlie-Ramirez-Animation-Studios-de-MX opened this issue Apr 8, 2024 · 1 comment

Comments

@Charlie-Ramirez-Animation-Studios-de-MX
Copy link

When Recompressing .ttf Font files (previously compressed with the attribute in Windows Explorer properties) that have hard links (to files not in use or on the system), a BSOD can be triggered due to volmgr failure in Windows 11 (which activates system protection marking the drive as corrupt requiring forced CHKDSK on startup).

Tried to replicate a third time without success, the GUI hangs immediately when analyzing the folder because a file is missing (probably the file was corrupted/lost during the BSOD)

Generated Events:

Faulting application name: CompactGUI.exe, version: 3.0.0.0, time stamp: 0x65ab0000 Faulting module name: KERNELBASE.dll, version: 10.0.22621.3374, time stamp: 0x3069ce37 Exception code: 0xe0434352 Fault offset: 0x00000000000653ac Faulting process id: 0x0xD20 Faulting application start time: 0x0x1DA898E0BE1E42D Faulting application path: D:\charl\Downloads\CompactGUI.exe Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll Report Id: cfc246b2-4c25-4fe4-ab17-c5cf12b28d60 Faulting package full name: Faulting package-relative application ID:

BugCheck Message:
The computer has rebooted from a bugcheck. The bugcheck was: 0x00000050 (0xffffd1039e940000, 0x0000000000000000, 0xfffff8026c737500, 0x0000000000000002).

A corruption was discovered in the file system structure on volume E:.
The exact nature of the corruption is unknown.  The file system structures need to be scanned and fixed offline.
Volume E: (\Device\HarddiskVolume10) needs to be taken offline to perform a Full Chkdsk.  Please run "CHKDSK /F" locally via the command line, or run "REPAIR-VOLUME <drive:>" locally or remotely via PowerShell.

DotNet Event:

Application: CompactGUI.exe CoreCLR Version: 6.0.2824.12007 .NET Version: 6.0.28 Description: The process was terminated due to an unhandled exception. Exception Info: System.AggregateException: One or more errors occurred. (Could not find file 'E:\Fonts de windows\Chunkfive.otf'.) ---> System.IO.FileNotFoundException: Could not find file 'E:\Fonts de windows\Chunkfive.otf'. File name: 'E:\Fonts de windows\Chunkfive.otf' at System.IO.FileInfo.get_Length() at CompactGUI.Core.Analyser.AnalyseFile(String file, Int32& compressedFilesCount, ConcurrentBag1& fileDetails)
at CompactGUI.Core.Analyser._Closure$__22-0._Lambda$__2(String file)
at System.Threading.Tasks.Parallel.<>c__DisplayClass33_02.<ForEachWorker>b__0(Int32 i) at System.Threading.Tasks.Parallel.<>c__DisplayClass19_01.b__1(RangeWorker& currentWorker, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Parallel.<>c__DisplayClass19_01.<ForWorker>b__1(RangeWorker& currentWorker, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion) at System.Threading.Tasks.TaskReplicator.Replica.Execute() --- End of inner exception stack trace --- at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction1 action, ParallelOptions options, Boolean stopOnFirstFailure)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Func4 bodyWithLocal, Func1 localInit, Action1 localFinally) --- End of stack trace from previous location --- at System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException(ICollection exceptions, CancellationToken cancelToken, Exception otherException) at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Func4 bodyWithLocal, Func1 localInit, Action1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IList1 list, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable1 source, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable1 source, ParallelOptions parallelOptions, Action1 body)
at CompactGUI.Core.Analyser._Closure$__22-0._Lambda$__1()
at System.Threading.Tasks.Task1.InnerInvoke() at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at CompactGUI.Core.Analyser.AnalyseFolder(CancellationToken cancellationToken) at CompactGUI.MainViewModel.AnalyseBegin() 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 --- 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.HwndWrapper.WndProc(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.Threading.Dispatcher.PushFrame(DispatcherFrame frame) at System.Windows.Threading.Dispatcher.Run() at System.Windows.Application.RunDispatcher(Object ignore) at System.Windows.Application.RunInternal(Window window) at System.Windows.Application.Run() at CompactGUI.Application.Main()

@stuffed2
Copy link

Is this an event that only occurs when using LZX compression, not the other types of compression available?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants