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