The problem is memory fragmentation: When you close and restart TC, it works in most cases. However, after using many other functions, the memory will be used in various places to load dlls, stuctures for icons etc. Then the chance becomes smaller that a single 1 GB block can be allocated in one piece. The entire address room of a 32-bit program is only 4 GB, so 1 GB is 1/4 of that.
I have added an error message for this case now. When you get it, try to restart TC. On 32-bit Windows, you may also need to restart Windows itself. I could unpack the 2 files with the 32-bit version after restarting TC...
+[8.50b1]Can't extract/test files from 50% of my 7z archives
Moderators: Hacker, petermad, Stefan2, white
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Thank you for explanation, that makes sence why sometimes it works but sometimes doesn't. Really, 32-bit process has 4-GB address space and one half of this space (by default) is reserved for system needs and other one may be used by process and its modules for memory allocations and for modules/plugins/hook libraries etc... so even after TC restart there may be no space for single block!The problem is memory fragmentation
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
-
- Member
- Posts: 164
- Joined: 2011-03-22, 09:57 UTC
- Location: Germany