wxURL DefaultProxy Access violation

Maximilian Matthé Maxi.Matthe at web.de
Wed Sep 19 00:35:42 PDT 2007


Vadim Zeitlin schrieb:
> On Tue, 18 Sep 2007 21:08:45 +0200 Maximilian Matthé <Maxi.Matthe at web.de> wrote:
> 
> MM> Vadim Zeitlin schrieb:
> MM> > On Tue, 18 Sep 2007 19:45:50 +0200 Maximilian Matthé <Maxi.Matthe at web.de> wrote:
> MM> > 
> MM> > MM> I have a problem with wxURL::SetDefaultProxy. It works (I can use the 
> MM> > MM> proxy and I can send requests to it), but when I exit the application, I 
> MM> > MM> get an access violation in the file free.c. The call stack comes from 
> MM> > MM> GSocket::~GSocket GSocket.cpp line 198
> MM> > 
> MM> >  What is the value of "this" here? Can you look at it under debugger, does
> MM> > it look correct?
> 
>  Hmm, I wonder why exactly does it crash then? Can you post the call stack
> with more details?
> 
> MM> I have found out another thing: If I dont use SetDefaultProxy but 
> MM> SetProxy on the instance of wxURL, no accvio occurs.
> 
>  Unfortunately I don't have time to debug this right now...
>  
>  Regards,
> VZ
> 

the error i get is that one:
Access violation writing at location 0x00000010.
the line is
retval = HeapFree(_crtheap, 0, pBlock);
and its in free.c line 109

This is the callstack vc2005 gives me:
  NTDLL.DLL!7788f281() 	
  [Frames below may be incorrect and/or missing, no symbols loaded for 
NTDLL.DLL]	
msvcr80d.dll!_free_base(void * pBlock=0x00919900)  Line 109 + 0x13 bytes 
C <<< this is where the debugger stops, but there is no address with 
0x000010. I think its upon the callstack in NTDLL.dll
NTDLL.DLL!77887f26() 	
wxmsw28d_core_vc_custom.dll!GSocketGUIFunctionsTableConcrete::Destroy_Socket(GSocket 
* socket=0x012d9278)  Line 337 + 0xd bytes	C++
wxbase28d_net_vc_custom.dll!GSocket::~GSocket()  Line 198 + 0x19 bytes	
wxbase28d_net_vc_custom.dll!GSocket::`scalar deleting destructor'()  + 
0x16 bytes	
wxbase28d_net_vc_custom.dll!wxSocketBase::~wxSocketBase()  Line 238 + 
0x1f bytes	
wxbase28d_net_vc_custom.dll!wxSocketClient::~wxSocketClient()  Line 1237 
+ 0x8 bytes	
wxbase28d_net_vc_custom.dll!wxProtocol::~wxProtocol()  + 0x16 bytes	
wxbase28d_net_vc_custom.dll!wxHTTP::~wxHTTP()  Line 56 + 0x72 bytes	
wxbase28d_net_vc_custom.dll!wxHTTP::`vector deleting destructor'()  + 
0x57 bytes	
wxbase28d_net_vc_custom.dll!wxURLModule::OnExit()  Line 437 + 0x25 bytes	
wxbase28d_vc_custom.dll!wxModule::Exit()  Line 41 + 0x1e bytes	C++
wxbase28d_vc_custom.dll!wxModule::DoCleanUpModules(const wxModuleList & 
modules={...})  Line 197	
wxbase28d_vc_custom.dll!wxModule::CleanUpModules()  Line 57 + 0xd bytes	
wxbase28d_vc_custom.dll!DoCommonPostCleanup()  Line 379	
wxbase28d_vc_custom.dll!wxEntryCleanup()  Line 403	
wxbase28d_vc_custom.dll!wxCleanupOnExit::~wxCleanupOnExit()  Line 118 + 
0x13 bytes	
wxbase28d_vc_custom.dll!wxEntryReal(int & argc=1, char * * 
argv=0x012c9090)  Line 452 + 0x48 bytes	
wxbase28d_vc_custom.dll!wxEntry(int & argc=1, char * * argv=0x012c9090) 
  Line 209 + 0xd bytes	
wxmsw28d_core_vc_custom.dll!wxEntry(HINSTANCE__ * hInstance=0x00400000, 
HINSTANCE__ * __formal=0x00000000, HINSTANCE__ * __formal=0x00000000, 
int nCmdShow=1)  Line 386 + 0x10 bytes	
proxytest.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * 
hPrevInstance=0x00000000, char * lpCmdLine=0x001333f7, int nCmdShow=1) 
Line 57 + 0x36 bytes	
proxytest.exe!__tmainCRTStartup()  Line 578 + 0x35 bytes	
proxytest.exe!WinMainCRTStartup()  Line 403	
KERNEL32.DLL!77e98989() 	
NTDLL.DLL!77885c09() 	

Fortunately I have found a workaround, I must not use SetDefaultProxy 
but only SetProxy, but its not cool, because i have to call this often.





More information about the wx-users mailing list