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

Reply via email to