We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
This continues to smell like heap corruption.How are you setting the heap boundaries? And to what values?More random thoughts:[] 256MB should be plenty of heap (unless there's been a lot more allocation that is shown)[] What other code is running before the first printf? Any special startup code or just the standard library startup?[] Are the values printed for Next_Ptr_Glob and Ptr_Glob reasonable? (that is, within you heap and not within your globals or stack) It's good that they are multiples of 8.[] stdout is probably line buffered so flsbuf will be called every "\n" (and every buffer, maybe 512 characters) which explains a bit why changing the format strings changes the timing of the wild access.[] the first printf (or puts, etc.) will cause a buffer for stdout to be created (via malloc)[] if the "%x"s that you changed to "%d"s are the only "%x"s then the main effect will be that image code gets smaller (possibly affecting the globals and heap base) because the formatting code for %x can be removed. Also, of course the contents of the buffer are different after the printf.It's hard to say if tracking down the problem will ultimately be worthwhile, but if I was in your position I'm the sort of person that tends to get obsessed by this sort of thing until I understand it. Changing stdout to unbuffered might possibly avoid the problem (like mapping in the low memory) but it might just come back in some worse way.