Hi Stefan, I tried many possible ways, and only found this clue for now: /* main.c, line 707 */ apr_pool_clear(pconf); ==> unload_module(void *data) ==> ap_remove_module(module *m) ==> free(ap_module_short_names[i] ) ==> HeapFree(_crtheap, 0, pBlock); /* bad pointer: pBlock */ It always happens with the Debug config of the VS2010 x64 platform setting, not with the Release version, or both of the VS2008(VS9) x64 builds. BTW, I converted the project files in this way: Apache.dsw + *.dsp ==> Apache(VS9).sln + *.vcproj ==> Apache(VS10).sln + *.vcXproj Regards, Bing Stefan Fritsch [mailto:sf@sfritsch.de] wrote on 2012年4月18日 3:29 On Tue, 17 Apr 2012, Bing Swen wrote: > The problem reported below was only with the binaries of the Debug > configuration, but disappeared in the Release configuration. So here is my temporay way out: > > /* line no. 680: */ > #ifndef _DEBUG > free(ap_module_short_names[m->module_index]); > #endif I can't see anything wrong with that code. I fear the heap corruption happens at some other place and it is coincidence that it is detected here. Are there any additional heap consistency checks that you can switch on?