Quantcast
Channel: CobianSoft
Viewing all articles
Browse latest Browse all 1962

Cobian Reflector • Crash on folder named as a single space

$
0
0
Hi!

I've stumbled upon a weird edge case.
I'm on windows 11.
Somehow I managed to have a folder which name was a single space (I think I messed up a destination directory in qBittorent which led to the content being in \somedir\<space>\something instead of \somedir\something.

With this folder in my drive, Cobian.Reflector.UserInterface.exe crashed when it was scanning the folder (this is while estimating the size of a backup)

I could debug a dmp file and I got the following callstack:

Code:

[External Code]mscorlib.dll!string.Substring(int startIndex, int length) Line 1268at System\String.cs(1268)AlphaFS.dll!Alphaleonis.Win32.Filesystem.Path.GetRegularPathCore(string path, Alphaleonis.Win32.Filesystem.GetFullPathOptions options, bool allowEmpty)AlphaFS.dll!Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.FullPath.set(string value)AlphaFS.dll!Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.<Enumerate>d__88<string>.MoveNext()[External Code]AlphaFS.dll!Alphaleonis.Win32.Filesystem.Directory.GetDirectories(string path, string searchPattern, System.IO.SearchOption searchOption)Cobian.Reflector.Common.dll!Cobian.Reflector.SizeCalculatorTool.calculateDirectory(string directoryName, bool includeSubdirs, System.Collections.Generic.List<Cobian.Reflector.FilterObject> inclusions, System.Collections.Generic.List<Cobian.Reflector.FilterObject> exclusions)Cobian.Reflector.Common.dll!Cobian.Reflector.SizeCalculatorTool.calculateDirectory(string directoryName, bool includeSubdirs, System.Collections.Generic.List<Cobian.Reflector.FilterObject> inclusions, System.Collections.Generic.List<Cobian.Reflector.FilterObject> exclusions)[The 1 frame(s) above this were repeated 7880 times]Cobian.Reflector.Common.dll!Cobian.Reflector.SizeCalculatorTool.calculateDirectory(string directoryName, bool includeSubdirs, System.Collections.Generic.List<Cobian.Reflector.FilterObject> inclusions, System.Collections.Generic.List<Cobian.Reflector.FilterObject> exclusions)Cobian.Reflector.Common.dll!Cobian.Reflector.SizeCalculatorTool.calculateTask(Cobian.Reflector.BackupTask task)Cobian.Reflector.Common.dll!Cobian.Reflector.SizeCalculatorTool.CalculateTaskList(System.Collections.Generic.List<Cobian.Reflector.BackupTask> taskList)[External Code]
So while this is quite a low probability issue (I really messed up with that folder in the first place) this is quite hard to fix without a bit of dev experience (the UI auto crashes, and no backup occurs?).

Bonus point: I could also suggest to have a very detailed log when the UI runs after a crash, so that if it fails twice, at least we have a log the 2nd time. That could help users debug a faulty situation :)

I've upload a dmp file on drive for you to repro : https://drive.google.com/file/d/1LWv8Xz ... sp=sharing

Thanks,
Johan

Statistics: Posted by ndj — 29 Oct 2024, 17:37 — Replies 1 — Views 27



Viewing all articles
Browse latest Browse all 1962

Trending Articles