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:[email protected]] 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?