2.9 SVN trunk for VC2005 broken

Vadim Zeitlin vadim at wxwidgets.org
Mon Mar 17 14:09:55 PDT 2008


On Mon, 17 Mar 2008 21:24:59 +0100 Andreas Oppermann <Andreas-Oppermann at oss-gmbh.de> wrote:

AO> xrcdemo was compiled and linked without errors or warnings. See the result:
AO> 
AO>   ntdll.dll!7c928fea()
AO>   [Frames below may be incorrect and/or missing, no symbols loaded for 
AO> ntdll.dll]
AO>   ntdll.dll!7c91104b()
AO> > xrcdemo.exe!wxCriticalSection::Enter()  Line 162 + 0xc bytes C++
AO>   xrcdemo.exe!wxLog::IsAllowedTraceMask(const wxString & mask={...})  Line 
AO> 736 + 0xf bytes C++
AO>   xrcdemo.exe!wxVLogTrace(const wxString & mask={...}, const wxString & 
AO> format={...}, char * argptr=0x0012fdbc)  Line 282 + 0x18 bytes C++
AO>   xrcdemo.exe!wxDoLogTraceWchar(const wxString & mask={...}, const wchar_t * 
AO> format=0x008efd10, ...)  Line 295 + 0x56 bytes C++
AO>   xrcdemo.exe!wxLogTrace<int,unsigned char>(const wxString & f1={...}, const 
AO> wxFormatString & f2={...}, int a1=-32000, unsigned char a2='')  Line 738 + 
AO> 0xeb bytes C++
AO>   xrcdemo.exe!`anonymous namespace'::IncIdRefCount(int id=0)  Line 104 + 
AO> 0x74 bytes C++
AO>   xrcdemo.exe!wxWindowIDRef::Assign(int id=-32000)  Line 154 + 0xb bytes C++
AO>   xrcdemo.exe!XRCID_Lookup(const char * str_id=0x008aa16c, int 
AO> value_if_not_found=-3)  Line 1629 C++
AO>   xrcdemo.exe!wxXmlResource::DoGetXRCID(const char * str_id=0x008aa16c, int 
AO> value_if_not_found=-3)  Line 1645 + 0xd bytes C++

 Thanks, this is really useful and points immediately to the bug: the
problem is that the critical section is not yet initialized when a log
function is called from a static object ctor. This shouldn't be done in the
first place probably but for now I've changed the code to at least avoid
the crash.

 Thanks,
VZ

-- 
TT-Solutions: wxWidgets consultancy and technical support
               http://www.tt-solutions.com/





More information about the wx-users mailing list