Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.7.0
-
None
-
None
-
debian gnu/linux with xerces-p 2.7.0 built to work with xerces-c 2.8.0
Description
This was originally reported at http://bugs.debian.org/519424. The original bug report is complete, but I will replicate the details here.
I'm attaching four files: ConfEntityResolver.pm, Sample.dtd, Sample.xml, and driver.pl. To exercise the bug, run perl driver.pl Sample.xml. I get the following output:
Resolving Sample.dtd
Done Resolving Sample.dtd
pure virtual method called
terminate called without an active exception
Running gdb on the core file produces the following stacktrace
#0 0xb7f4a424 in __kernel_vsyscall ()
#1 0xb7db7640 in raise () from /lib/i686/cmov/libc.so.6
#2 0xb7db9008 in abort () from /lib/i686/cmov/libc.so.6
#3 0xb699daa8 in _gnu_cxx::_verbose_terminate_handler ()
from /usr/lib/libstdc++.so.6
#4 0xb699b985 in ?? () from /usr/lib/libstdc++.so.6
#5 0xb699b9c2 in std::terminate () from /usr/lib/libstdc++.so.6
#6 0xb699c665 in __cxa_pure_virtual () from /usr/lib/libstdc++.so.6
#7 0xb77cfbe6 in xercesc_2_8::ReaderMgr::createReader ()
from /usr/lib/libxerces-c.so.28
#8 0xb77d0ca4 in xercesc_2_8::ReaderMgr::createReader ()
from /usr/lib/libxerces-c.so.28
#9 0xb779d56c in xercesc_2_8::IGXMLScanner::scanDocTypeDecl ()
from /usr/lib/libxerces-c.so.28
#10 0xb7865f9c in xercesc_2_8::XMLScanner::scanProlog ()
from /usr/lib/libxerces-c.so.28
#11 0xb779e55a in xercesc_2_8::IGXMLScanner::scanDocument ()
from /usr/lib/libxerces-c.so.28
#12 0xb76f3ca9 in xercesc_2_8::AbstractDOMParser::parse ()
from /usr/lib/libxerces-c.so.28
#13 0xb7a1a419 in wrap_AbstractDOMParser_parse_SWIG_0 ()
from /usr/lib/perl5/auto/XML/Xerces/Xerces.so
#14 0xb7a4463f in _wrap_AbstractDOMParser_parse ()
from /usr/lib/perl5/auto/XML/Xerces/Xerces.so
#15 0x080b32d2 in Perl_pp_entersub ()
#16 0x080b1879 in Perl_runops_standard ()
#17 0x080ac6a0 in perl_run ()
#18 0x08063ddd in main ()
This is with perl 5.10.0.
The original bug reporter was using older versions of some of the packages, but I have reproduced it with the most recent versions. In particular, the original user was using xerces-c 2.7.0, so the problem does not result from mixing xerces-p 2.7.0 with xerces-c 2.8.0.