[epiar-devel] stack overflow issue

Matthew Zweig thezweig at gmail.com
Tue Aug 24 12:23:44 PDT 2010


At a glance, it looks like you're hitting a XMLFile error when trying to parse the options.xml file. I'm guessing that the logger is doing a check to see if it should print to the screen, which gets an error, which tries to log it...

 Does the options.xml file exist, and can Epiar read it?  Is it at the expected relative path to where Epiar is being called from?

I don't see main in the trace, so I'm not positive that I'm reading this correctly.  You could short circuit that check to always print.  In fact, any attempted logging before the logger is initialized, should always print.

~Matt

On Aug 24, 2010, at 12:04 PM, Doug Mirro <dmirro at easytechtalk.com> wrote:

> I can build debug fine but when I start debugging i get a stack overflow error, below is the callstack. (i trimmed the callstack because it repeats itself from xml::FindNode to log::realLog) repeating section is in red
> 
>      ntdll.dll!779aabdd()     
>      [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]    
>      ntdll.dll!77952eb0()     
> >    Epiar_debug.exe!_heap_alloc_dbg_impl(unsigned int nSize=160, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0, int * errno_tmp=0x00913204)  Line 427 + 0x9 bytes    C++
>      Epiar_debug.exe!_nh_malloc_dbg_impl(unsigned int nSize=160, int nhFlag=0, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0, int * errno_tmp=0x00913204)  Line 239 + 0x19 bytes    C++
>      Epiar_debug.exe!_nh_malloc_dbg(unsigned int nSize=160, int nhFlag=0, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0)  Line 296 + 0x1d bytes    C++
>      Epiar_debug.exe!malloc(unsigned int nSize=160)  Line 56 + 0x15 bytes    C++
>      Epiar_debug.exe!operator new(unsigned int size=160)  Line 59 + 0x9 bytes    C++
>      Epiar_debug.exe!std::_Allocate<char>(unsigned int _Count=160, char * __formal=0x00000000)  Line 43 + 0x9 bytes    C++
>      Epiar_debug.exe!std::allocator<char>::allocate(unsigned int _Count=160)  Line 145 + 0xb bytes    C++
>      Epiar_debug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy(unsigned int _Newsize=147, unsigned int _Oldlen=0)  Line 2093 + 0x12 bytes    C++
>      Epiar_debug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow(unsigned int _Newsize=147, bool _Trim=false)  Line 2123 + 0x13 bytes    C++
>      Epiar_debug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(const char * _Ptr=0x00746698, unsigned int _Count=147)  Line 1074 + 0xe bytes    C++
>      Epiar_debug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(const char * _Ptr=0x00746698)  Line 1086    C++
>      Epiar_debug.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(const char * _Ptr=0x00746698)  Line 654    C++
>      Epiar_debug.exe!XMLFile::FindNode(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & path="options/log/out", bool createIfMissing=false)  Line 148 + 0x10 bytes    C++
>      Epiar_debug.exe!XMLFile::Get(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & path="options/log/out")  Line 74 + 0xe bytes    C++
>      Epiar_debug.exe!Log::realLog(Log::Level lvl=WARN, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & func="struct _xmlNode *__thiscall XMLFile::FindNode(const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,bool)", const char * message=0x00746670, ...)  Line 121 + 0x29 bytes    C++
>      Epiar_debug.exe!XMLFile::FindNode(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & path="options/log/out", bool createIfMissing=false)  Line 148 + 0x36 bytes    C++
>      Epiar_debug.exe!XMLFile::Get(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & path="options/log/out")  Line 74 + 0xe bytes    C++
>      Epiar_debug.exe!Log::realLog(Log::Level lvl=WARN, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & func="struct _xmlNode *__thiscall XMLFile::FindNode(const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,bool)", const char * message=0x00746670, ...)  Line 121 + 0x29 bytes    C++
> -- 
> Doug Mirro
> Easy Tech Talk - Technology made simple
> _______________________________________________
> epiar-devel mailing list
> epiar-devel at epiar.net
> http://epiar.net/mailman/listinfo/epiar-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://epiar.net/pipermail/epiar-devel/attachments/20100824/1819171b/attachment.html 


More information about the epiar-devel mailing list