TotalBack wrote: ↑2024-11-17, 16:55 UTC
Which OS do you use?
OS information is there. PC architecture is also shown.
TotalBack wrote: ↑2024-11-17, 16:55 UTC
Why not use CMD to delete a large folder with files?
How do you think I could use cmd for this task? I was comparing (I wrote: synhronize dir) 900+ GB of data and the files that were supposed to be deleted are *not* in one folder (as you presumed). There was no way I knew TC would crash.
Horst.Epp wrote: ↑2024-11-17, 17:42 UTC
There are no OS and only the TC version provided
If it is a x64 OS, run the x64 TC and your memory problem may be solved.
There *is* OS version information in the original post.
If it is a x64 OS
You can see that it *is* x64.
The only information that is missing is if it is 32-bit or 64-bit TC - but I guess Christian will get this information from the dump itself (it says Delphi - Christian wrote that Delphi is used for 32-bit TC and Lazarus for 64-bit - so all the information is there). As you can see Delphi ran out of memory and not the system. (I guess it is 32-bit TC - will have to recheck later today). The 32-bit TC might be the reason for this - but the purpose of this bug report is for Christian to add a check and show a msgbox if this occurs (instead of a TC's crash).
The error report is from Total Commander 32-bit, when trying to allocate the memory for the collection of files you tried to delete. 32-bit programs are limited to 2GB of user space RAM. Allocating a list of 4 byte pointers with 160'000 entries only takes 640 kBytes of RAM, which wouldn't normally be a problem. However, each entry also takes quite a bit of RAM for the name and all the file details, so I guess that the RAM space got too fragmented to allocate a 640kByte buffer in one place.
The 64-bit version will be able to handle this without problems because it uses 64-bit pointers, so there will always be a location where to allocate the memory.