1. I'm getting a core dump in the constructor of a class
XMLParser which is initializing a ptr to a SAX2XMLReader
member variable declared like this:

>     private:                                                                  
>   
>         std::auto_ptr<SAX2XMLReader> parser_;  

The constructor does this:

> XMLParser::XMLParser()
>             : parser_(XMLReaderFactory::createXMLReader())
> {

2. I have compiled and run test code which uses the
XMLParser class without problem. However, a new executable
is consistently dumping core with the following message:

> mdp_agent_exe: XMemory.cpp:62: static void* xercesc_2_7::XMemory::operator
> new(size_t, xercesc_2_7::MemoryManager*): Assertion `manager != 0' failed

3. The backtrace from gdb is:

> #0  0xffffe410 in __kernel_vsyscall ()
> #1  0xb69498f5 in raise () from /lib/libc.so.6
> #2  0xb694b1e1 in abort () from /lib/libc.so.6
> #3  0xb6942c1e in __assert_fail () from /lib/libc.so.6
> #4  0xb6f10279 in xercesc_2_7::XMemory::operator new () from 
> /usr/lib/libxerces-c.so.27
> #5  0xb711cbb0 in xercesc_2_7::XMLReaderFactory::createXMLReader 
> (manager=0x0, gramPool=0x0) at 
> /usr/include/xercesc/sax2/XMLReaderFactory.hpp:66
> #6  0xb7119864 in XMLParser (this=0xbfb032a4) at 
> /code/mdp_qt/src/lib/XMLParser.cpp:32

which seems to point the finger firmly at createXMLReader(),
though I have no idea what's going on in detail.

Does anyone have any idea what's causing this ? I can
see no significant difference between the exe that works
and the one that dumps core.

-- 
Regards

Steve Collyer
Netspinner Ltd

Reply via email to