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?




Reply via email to