You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-users@xerces.apache.org by Ananta Swain <an...@gmail.com> on 2019/09/17 07:53:00 UTC

xerces 3.2.2 crashing on AIX

Hi Experts,
I have this small test program which is failing on xerces 3.2.2 but passing
with 3.1.4.
Please help.
bash-4.2$ cat xerces_test.cpp
#include <xercesc/parsers/XercesDOMParser.hpp>

using namespace std;
using namespace obixercesc_3_2;
int main()
{
XMLPlatformUtils::Initialize();
XercesDOMParser *parser =  new XercesDOMParser;
parser->parse("test.xml");
parser->getDocument();
}

This program crashes on xerces 3.2.2:
bash-4.2$ ./a.out
IOT/Abort trap (core dumped)

bash-4.2$ dbx ./a.out ./core
Type 'help' for help.
[using memory image in ./core]
reading symbolic information ...warning: no source compiled with -g


IOT/Abort trap in pthread_kill at 0x900000000580f14 ($t1)
0x900000000580f14 (pthread_kill+0xd4) e8410028             ld   r2,0x28(r1)
(dbx) where
pthread_kill(??, ??) at 0x900000000580f14
_p_raise(??) at 0x900000000580764
raise.raise(??) at 0x900000000039ae8
abort() at 0x9000000000564e4
std::myabort()() at 0x90000001414890c
std::terminate()() at 0x9000000141487e8
exceptio.std::myabort().terminate()() at 0x90000001414870c
__DoThrowV6() at 0x90000001414bd60
DOMAttrMapImpl.obixercesc_3_2::castToNodeImpl(obixercesc_3_2::DOMNode*)(0x11009a4c0)
at 0x90000001c2147f8
obixercesc_3_2::DOMAttrMapImpl::setNamedItemFast(obixercesc_3_2::DOMNode*)(0x11009a480,
0x11009a4c0) at 0x90000001c2166f8
obixercesc_3_2::AbstractDOMParser::startElement(const
obixercesc_3_2::XMLElementDecl&,unsigned int,const unsigned short*,const
obixercesc_3_2::RefVectorOf<obixercesc_3_2::XMLAttr>&,unsigned
long,bool,bool)(0x110064af8, 0x1100a1678, 0x100000001, 0x0, 0x11006a8f8,
0x1, 0x0, 0x100000000000001) at 0x90000001c1ef660
obixercesc_3_2::IGXMLScanner::scanStartTag(bool&)(0x110066218,
0xffffffffffff290) at 0x90000001bfcc0c8
obixercesc_3_2::IGXMLScanner::scanContent()(0x110066218) at
0x90000001bfcf048
obixercesc_3_2::IGXMLScanner::scanDocument(const
obixercesc_3_2::InputSource&)(0x110066218, 0x11006e418) at 0x90000001bfd01ac
obixercesc_3_2::XMLScanner::scanDocument(const unsigned
short*)(0x110066218, 0x11006e3b0) at 0x90000001c03c818
obixercesc_3_2::XMLScanner::scanDocument(const char*)(0x110066218,
0x100000ab8) at 0x90000001c045778
obixercesc_3_2::AbstractDOMParser::parse(const char*)(0x110064af8,
0x100000ab8) at 0x90000001c1f22b0
main() at 0x100000894
(dbx)

Thank,
Ananta

Re: xerces 3.2.2 crashing on AIX

Posted by lasnamuco <ln...@itrsgroup.com>.
I am also encountering the same issue - also tried 3.2.1, but see the same
crash - moving to a version older than 3.2.1 is not an option because of
reported NVD security issues.

XML is relatively simple and is valid.



--
Sent from: http://apache-xml-project.6118.n7.nabble.com/Xerces-C-Users-f3745.html

Re: xerces 3.2.2 crashing on AIX

Posted by Ananta Swain <an...@gmail.com>.
Hi Mark,
This is the xml file content.

<?xml version="1.0" encoding="utf-8"?>
<ErrorSystems xml:lang="en-US">
  <ErrorLanguages>
    <ErrorLang Name="Arabic">
      <LangCode>ar</LangCode>
    </ErrorLang>
    <ErrorLang Name="Czech">
      <LangCode>cs</LangCode>
    </ErrorLang>
  </ErrorLanguages>
</ErrorSystems>

I repeat that it happens on AIX and with xerces 3.2.2. I is working fine
with xerces 3.1.4 with same OS and compiler versions.
Thanks,
Ananta

On Tue, Sep 17, 2019 at 1:26 PM Mark Douglas <Ma...@infor.com> wrote:

> Hi Ananta,
>
> Does the content of the test.xml file make a difference?  If so, it would
> be worth adding the file here so others can test.
>
> Regards,
> Mark
>
> -----Original Message-----
> From: Ananta Swain <an...@gmail.com>
> Sent: 17 September 2019 08:53
> To: c-users@xerces.apache.org
> Subject: xerces 3.2.2 crashing on AIX
>
> Sent by an external sender
> ------------------------------
>
> Hi Experts,
> I have this small test program which is failing on xerces 3.2.2 but
> passing with 3.1.4.
> Please help.
> bash-4.2$ cat xerces_test.cpp
> #include <xercesc/parsers/XercesDOMParser.hpp>
>
> using namespace std;
> using namespace obixercesc_3_2;
> int main()
> {
> XMLPlatformUtils::Initialize();
> XercesDOMParser *parser =  new XercesDOMParser;
> parser->parse("test.xml");
> parser->getDocument();
> }
>
> This program crashes on xerces 3.2.2:
> bash-4.2$ ./a.out
> IOT/Abort trap (core dumped)
>
> bash-4.2$ dbx ./a.out ./core
> Type 'help' for help.
> [using memory image in ./core]
> reading symbolic information ...warning: no source compiled with -g
>
>
> IOT/Abort trap in pthread_kill at 0x900000000580f14 ($t1)
> 0x900000000580f14 (pthread_kill+0xd4) e8410028             ld   r2,0x28(r1)
> (dbx) where
> pthread_kill(??, ??) at 0x900000000580f14
> _p_raise(??) at 0x900000000580764
> raise.raise(??) at 0x900000000039ae8
> abort() at 0x9000000000564e4
> std::myabort()() at 0x90000001414890c
> std::terminate()() at 0x9000000141487e8
> exceptio.std::myabort().terminate()() at 0x90000001414870c
> __DoThrowV6() at 0x90000001414bd60
>
> DOMAttrMapImpl.obixercesc_3_2::castToNodeImpl(obixercesc_3_2::DOMNode*)(0x11009a4c0)
> at 0x90000001c2147f8
>
> obixercesc_3_2::DOMAttrMapImpl::setNamedItemFast(obixercesc_3_2::DOMNode*)(0x11009a480,
> 0x11009a4c0) at 0x90000001c2166f8
> obixercesc_3_2::AbstractDOMParser::startElement(const
> obixercesc_3_2::XMLElementDecl&,unsigned int,const unsigned short*,const
> obixercesc_3_2::RefVectorOf<obixercesc_3_2::XMLAttr>&,unsigned
> long,bool,bool)(0x110064af8, 0x1100a1678, 0x100000001, 0x0, 0x11006a8f8,
> 0x1, 0x0, 0x100000000000001) at 0x90000001c1ef660
> obixercesc_3_2::IGXMLScanner::scanStartTag(bool&)(0x110066218,
> 0xffffffffffff290) at 0x90000001bfcc0c8
> obixercesc_3_2::IGXMLScanner::scanContent()(0x110066218) at
> 0x90000001bfcf048
> obixercesc_3_2::IGXMLScanner::scanDocument(const
> obixercesc_3_2::InputSource&)(0x110066218, 0x11006e418) at
> 0x90000001bfd01ac obixercesc_3_2::XMLScanner::scanDocument(const unsigned
> short*)(0x110066218, 0x11006e3b0) at 0x90000001c03c818
> obixercesc_3_2::XMLScanner::scanDocument(const char*)(0x110066218,
> 0x100000ab8) at 0x90000001c045778
> obixercesc_3_2::AbstractDOMParser::parse(const char*)(0x110064af8,
> 0x100000ab8) at 0x90000001c1f22b0
> main() at 0x100000894
> (dbx)
>
> Thank,
> Ananta
>

RE: xerces 3.2.2 crashing on AIX

Posted by Mark Douglas <Ma...@infor.com>.
Hi Ananta,

Does the content of the test.xml file make a difference?  If so, it would be worth adding the file here so others can test.

Regards,
Mark

-----Original Message-----
From: Ananta Swain <an...@gmail.com> 
Sent: 17 September 2019 08:53
To: c-users@xerces.apache.org
Subject: xerces 3.2.2 crashing on AIX

Sent by an external sender
------------------------------

Hi Experts,
I have this small test program which is failing on xerces 3.2.2 but passing with 3.1.4.
Please help.
bash-4.2$ cat xerces_test.cpp
#include <xercesc/parsers/XercesDOMParser.hpp>

using namespace std;
using namespace obixercesc_3_2;
int main()
{
XMLPlatformUtils::Initialize();
XercesDOMParser *parser =  new XercesDOMParser;
parser->parse("test.xml");
parser->getDocument();
}

This program crashes on xerces 3.2.2:
bash-4.2$ ./a.out
IOT/Abort trap (core dumped)

bash-4.2$ dbx ./a.out ./core
Type 'help' for help.
[using memory image in ./core]
reading symbolic information ...warning: no source compiled with -g


IOT/Abort trap in pthread_kill at 0x900000000580f14 ($t1)
0x900000000580f14 (pthread_kill+0xd4) e8410028             ld   r2,0x28(r1)
(dbx) where
pthread_kill(??, ??) at 0x900000000580f14
_p_raise(??) at 0x900000000580764
raise.raise(??) at 0x900000000039ae8
abort() at 0x9000000000564e4
std::myabort()() at 0x90000001414890c
std::terminate()() at 0x9000000141487e8
exceptio.std::myabort().terminate()() at 0x90000001414870c
__DoThrowV6() at 0x90000001414bd60
DOMAttrMapImpl.obixercesc_3_2::castToNodeImpl(obixercesc_3_2::DOMNode*)(0x11009a4c0)
at 0x90000001c2147f8
obixercesc_3_2::DOMAttrMapImpl::setNamedItemFast(obixercesc_3_2::DOMNode*)(0x11009a480,
0x11009a4c0) at 0x90000001c2166f8
obixercesc_3_2::AbstractDOMParser::startElement(const
obixercesc_3_2::XMLElementDecl&,unsigned int,const unsigned short*,const obixercesc_3_2::RefVectorOf<obixercesc_3_2::XMLAttr>&,unsigned
long,bool,bool)(0x110064af8, 0x1100a1678, 0x100000001, 0x0, 0x11006a8f8, 0x1, 0x0, 0x100000000000001) at 0x90000001c1ef660 obixercesc_3_2::IGXMLScanner::scanStartTag(bool&)(0x110066218,
0xffffffffffff290) at 0x90000001bfcc0c8
obixercesc_3_2::IGXMLScanner::scanContent()(0x110066218) at
0x90000001bfcf048
obixercesc_3_2::IGXMLScanner::scanDocument(const
obixercesc_3_2::InputSource&)(0x110066218, 0x11006e418) at 0x90000001bfd01ac obixercesc_3_2::XMLScanner::scanDocument(const unsigned short*)(0x110066218, 0x11006e3b0) at 0x90000001c03c818 obixercesc_3_2::XMLScanner::scanDocument(const char*)(0x110066218,
0x100000ab8) at 0x90000001c045778
obixercesc_3_2::AbstractDOMParser::parse(const char*)(0x110064af8,
0x100000ab8) at 0x90000001c1f22b0
main() at 0x100000894
(dbx)

Thank,
Ananta