Strange but True...weird allocation problem with .NET?
From Patrick Hynds (repro in link above):
If you try to allocate an array with a size range between 0x027fefbd and 0x027fffec, the framework throws exceptions. This range corresponds to memory block of little under 40MB. But if allocate a buffer smaller than or larger than this range, then every thing is fine. So the following call will fail.
Byte test = new Byte[0x027ffc22];
It looks like there are different algorithms for big memory block allocation. Is there something special about this range? Anyone? Note: I'm running this on a box with 512megs. Does this behave different on a box with more or less?
UPDATE: Until someone gives an good explaination, Dejan has added this to the .NET Bugs Registry...
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
Comments are closed.