Hi Alberto,
Sorry for the repeat of the original message.
Yes, the intermittent crash even happened when compiled for debug and
running in gdb. It still crashed at a different place each time.
Tried recompiling/re-instrumenting DOMMemTest this morning with
different purify options and got a little farther. Purify now reports
"Fatal core dump" at line 335 of DOMImplementationImpl.cpp which is the
end of "DOMImplementationImpl::getDOMImplementation(unsigned short
const*) const". More helpful perhaps is the report of
Address 0xffbedd30 is 4 bytes above stack pointer in function
non-virtual thunk to
xercesc_2_7::DOMImplementationImpl::getDOMImplementation(unsigned short
const*) const
This makes me think linker problem, but I don't really know what a
"non-virtual thunk" is.
Have you been able to run with GCC 4.0.3 on solaris? Perhaps it is my
combination with the GNU binutils.
Bryan
Alberto Massari wrote:
At 12.26 06/09/2006 -0400, Bryan Barnett wrote:
Has anyone had any success with Xerces-C 2.7.0 on solaris 2.7 and the
GCC 4.0.3 compilers? How about GCC 4.0.3 on other platforms?
Xerces-C successfully compiles with g++ 4.0.3, but the DOMMemTest
fails and applications using SAX fail intermittently (different points
in the document each time) with "Illegal Instruction", "Bus Error", or
seg faults. I am also using GNU binutils 2.16.1 instead of the native
sun utilities.
Compiling xerces-c in debug mode, Purify repeatedly reports "Stack
array bounds read" and write errors, and "Fatal core dump", at line
125 of DOMMemTest.cpp. I have not been able to get Purify to report
deeper into the library (?!).
Any insight would be appreciated. Thanks for your time.
Hi Bryan,
in order to get Purify to report from inside the Xerces library, you
should rebuild Xerces using the Purify front end (sorry, cannot give you
more directions, as I haven't used Purify for a few years). However, it
looks something is really broken, as line 125 is
doc =
DOMImplementationRegistry::getDOMImplementation(X("Core"))->createDocument();
and I cannot see what could be crashing there.
Did you reproduce the intermittent crash while running inside gdb?
Alberto