« It's beginning... | Main | The League of Extraordinary Gentlemen...... »

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...



Friday, July 11, 2003 11:45:21 AM (Pacific Standard Time, UTC-08:00)
The same thing happens to me on my 512MB box. My first failure happens at 41943020 bytes:

Friday, July 11, 2003 11:49:17 AM (Pacific Standard Time, UTC-08:00)
Same failure here on a 2GB box, but the first error message was at 41943019 bytes.
Rob Walker
Friday, July 11, 2003 12:03:55 PM (Pacific Standard Time, UTC-08:00)
Not sure what it means, but task manager shows the following memory usage in each case....

Friday, July 11, 2003 12:06:44 PM (Pacific Standard Time, UTC-08:00)
Formatting got messed up there, sorry..
Friday, July 11, 2003 12:08:33 PM (Pacific Standard Time, UTC-08:00)
Look at the Virtual Memory Size (extra hidden column) in Task Manager...
Friday, July 11, 2003 12:15:22 PM (Pacific Standard Time, UTC-08:00)
Not only that but last I checked there was also a big in the large object heap that allocations over 8MB aren't freed. Don't know if this was fixed in 1.1. I seem to rememeber some indication when I asked that it wasn't.
Friday, July 11, 2003 12:19:36 PM (Pacific Standard Time, UTC-08:00)
Right...good to know. In this case though, you can just have one line:

Friday, July 11, 2003 12:46:24 PM (Pacific Standard Time, UTC-08:00)
In the test cases that do not produce an error (on either side of the range you provided), the VM size is ~45,000k. In the test cases that do produce an error, the VM size is ~465,000k.
Friday, July 11, 2003 1:13:55 PM (Pacific Standard Time, UTC-08:00)
Exactly...that is also reflected in the code when I grab the size of the process...it also seems that once whatever has gone wrong HAS gone wrong, you're screwed....I can't find a way to "reset it"...
Friday, July 11, 2003 1:13:59 PM (Pacific Standard Time, UTC-08:00)
Exactly...that is also reflected in the code when I grab the size of the process...it also seems that once whatever has gone wrong HAS gone wrong, you're screwed....I can't find a way to "reset it"...
Friday, July 11, 2003 1:14:04 PM (Pacific Standard Time, UTC-08:00)
Exactly...that is also reflected in the code when I grab the size of the process...it also seems that once whatever has gone wrong HAS gone wrong, you're screwed....I can't find a way to "reset it"...
Friday, July 11, 2003 1:14:19 PM (Pacific Standard Time, UTC-08:00)
3 posts? weird...
Tuesday, July 15, 2003 6:24:00 AM (Pacific Standard Time, UTC-08:00)
There is more memory holes:

Wednesday, October 13, 2004 8:13:49 AM (Pacific Standard Time, UTC-08:00)
Could not reproduce in .NET 1.1 SP1, looks like its fixed.
Mark
Comments are closed.

Contact

Sponsors

Hosting By

Hot Topics

Tags

Calendar

<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910

Archives

March, 2010 (10)
February, 2010 (17)
January, 2010 (13)
December, 2009 (13)
November, 2009 (7)
October, 2009 (19)
September, 2009 (11)
August, 2009 (12)
July, 2009 (21)
June, 2009 (26)
May, 2009 (16)
April, 2009 (13)
March, 2009 (17)
February, 2009 (17)
January, 2009 (18)
December, 2008 (32)
November, 2008 (17)
October, 2008 (22)
September, 2008 (16)
August, 2008 (14)
July, 2008 (25)
June, 2008 (19)
May, 2008 (17)
April, 2008 (17)
March, 2008 (26)
February, 2008 (21)
January, 2008 (28)
December, 2007 (19)
November, 2007 (17)
October, 2007 (31)
September, 2007 (39)
August, 2007 (37)
July, 2007 (43)
June, 2007 (37)
May, 2007 (32)
April, 2007 (38)
March, 2007 (29)
February, 2007 (46)
January, 2007 (31)
December, 2006 (27)
November, 2006 (31)
October, 2006 (32)
September, 2006 (39)
August, 2006 (34)
July, 2006 (40)
June, 2006 (18)
May, 2006 (31)
April, 2006 (34)
March, 2006 (30)
February, 2006 (38)
January, 2006 (44)
December, 2005 (19)
November, 2005 (34)
October, 2005 (24)
September, 2005 (37)
August, 2005 (20)
July, 2005 (24)
June, 2005 (33)
May, 2005 (16)
April, 2005 (22)
March, 2005 (34)
February, 2005 (15)
January, 2005 (37)
December, 2004 (28)
November, 2004 (30)
October, 2004 (34)
September, 2004 (22)
August, 2004 (34)
July, 2004 (18)
June, 2004 (64)
May, 2004 (49)
April, 2004 (21)
March, 2004 (29)
February, 2004 (29)
January, 2004 (36)
December, 2003 (25)
November, 2003 (24)
October, 2003 (59)
September, 2003 (42)
August, 2003 (24)
July, 2003 (44)
June, 2003 (29)
May, 2003 (21)
April, 2003 (30)
March, 2003 (27)
February, 2003 (47)
January, 2003 (50)
December, 2002 (31)
November, 2002 (38)
October, 2002 (44)
September, 2002 (15)
May, 2002 (2)
April, 2002 (4)

Google Ads