Hello to the list!
I have an C++ application with a complex xsd schema which works nice for years
on Linux, cross-compiled on Windows and on some older OS X releases.
On my OS X 10.11 the schema fails to be parsed (xerces 3.1.1 and 3.1.3) which
is strange! I get an
libc++abi.dylib: terminating with uncaught exception of type
xercesc_3_1::InvalidDatatypeValueException
and lldb bt tells me
….
frame #7: 0x00007fff91e8ec12 libc++abi.dylib`__cxa_throw + 121
frame #8: 0x000000010038b212
cfs_shared`xercesc_3_1::AbstractStringValidator::checkContent(this=<unavailable>,
content=0x0000000107807000, context=<unavailable>, asBase=<unavailable>,
manager=<unavailable>) + 1410 at AbstractStringValidator.cpp:636
…
frame #16: 0x000000010034b3a5
cfs_shared`xercesc_3_1::XMLScanner::scanDocument(this=<unavailable>,
systemId=<unavailable>) + 53 at XMLScanner.cpp:408
frame #17: 0x00000001003658f0
cfs_shared`xercesc_3_1::AbstractDOMParser::parse(this=0x0000000104235fb8,
systemId=<unavailable>) + 32 at AbstractDOMParser.cpp:601
frame #18: 0x000000010021a33d
cfs_shared`CoupledField::Xerces::Parse(this=0x00007fff5fbfefd8) + 2477 at
Xerces.cc:117
…
with my calling code in CoupledField::Xerces::Parse()
try
{
parser_->parse(file_.c_str()); // Parse File
}
catch(const InvalidDatatypeValueException& idve)
{
EXCEPTION("Catched an InvalidDatatypeValueException");
}
catch(const XMLException &event)
{
EXCEPTION("Error parsing '" << file_ << "' -> '" << event.getMessage()
<< "'");
}
It might be an issue with exceptions and clang?! (Apple LLVM version 7.3.0
(clang-703.0.29)). But on Linux I have no difference between gcc, clang and
intel.
Do you have any idea?
Help is very welcome, I’m stuck :(
Thanks,
Fabian