Crash during xslt transformation on Linux machine (in ios::operator!) called 
from StdBinInputStream.  
------------------------------------------------------------------------------------------------------

         Key: XALANC-608
         URL: http://issues.apache.org/jira/browse/XALANC-608
     Project: XalanC
        Type: Bug
  Components: XalanC  
    Versions: 1.9    
 Environment: Linux Redhat Red Hat Linux release 7.2 (Enigma) 
Xerces 2.6, Xalan 1.9, ICU 3.2.
Compiler: g++ gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98) 
    Reporter: Prasad Mysore


Our application uses xalan to map old xml documents to current version of our 
application using xslt transformation.  We use xercesC and xalanC with icu.  On 
linux this transformation causes a crash in one of the STL libraries.  The same 
code works perfectly ok on all other platforms (HP, solaris, aix and windows).  
Below is the stack trace from the crash.   Looks like its ! operator called 
from the following code
unsigned int
StdBinInputStream::readBytes(
                        XMLByte* const      toFill,
                        const unsigned int      maxToRead)
{
        assert(sizeof(XMLByte) == sizeof(char));

        if (!m_stream)
        {
                return 0;

ICU, xalan and xerces compiled Red Hat Linux release 7.2 (Enigma)
Compiler: g++ gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)

Note that the lib names show libxerces*bmc.*.  We downloaded the sources and 
compiled it ourselves, but we have not made any changes to the source code. The 
only change we made was to rename the libs so there is no conflict with other 
third party tools we use. 

I didnt get any responses on the mailing list or didnt see any bugs already 
related to this.  Is there something we are doing wrong? Looks like a bug to 
me. 

#0  0x41d86587 in ios::operator! () from /usr/lib/libstdc++-libc6.2-2.so.3
#1  0x402d4cdc in xercesc_2_6::XMLReader::refreshRawBuffer ()
   from /devkits/xerces/xerces2_6/linux/xerces/lib/libxerces-cbmc.so.26
#2  0x402d1d17 in xercesc_2_6::XMLReader::XMLReader ()
   from /devkits/xerces/xerces2_6/linux/xerces/lib/libxerces-cbmc.so.26
#3  0x40262a32 in xercesc_2_6::ReaderMgr::createReader ()
   from /devkits/xerces/xerces2_6/linux/xerces/lib/libxerces-cbmc.so.26
#4  0x40244ac4 in xercesc_2_6::IGXMLScanner::scanReset ()
   from /devkits/xerces/xerces2_6/linux/xerces/lib/libxerces-cbmc.so.26
#5  0x4024a1bd in xercesc_2_6::IGXMLScanner::scanDocument ()
   from /devkits/xerces/xerces2_6/linux/xerces/lib/libxerces-cbmc.so.26
#6  0x40277cae in xercesc_2_6::SAXParser::parse ()
   from /devkits/xerces/xerces2_6/linux/xerces/lib/libxerces-cbmc.so.26
#7  0x40cfea16 in xalanc_1_9::XercesParserLiaison::parseXMLStream 
(this=0x80784e0, 
    [EMAIL PROTECTED], [EMAIL PROTECTED])
    at 
/home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesParserLiaison.cpp:254
#8  0x40d0ed18 in xalanc_1_9::XalanSourceTreeParserLiaison::parseXMLStream 
(this=0x80784dc, 
    [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED])
    at 
/home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XalanSourceTree/XalanSourceTreeParserLiaison.cpp:536
#9  0x40d55bc5 in xalanc_1_9::XSLTEngineImpl::processStylesheet 
(this=0xbfffec40, 
    [EMAIL PROTECTED], [EMAIL PROTECTED])
    at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XSLT/XSLTEngineImpl.cpp:503
#10 0x40d54e68 in xalanc_1_9::XSLTEngineImpl::process (this=0xbfffec40, [EMAIL 
PROTECTED], 
    [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], 
    [EMAIL PROTECTED])
    at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XSLT/XSLTEngineImpl.cpp:241
#11 0x40d67ad6 in xalanc_1_9::XalanTransformer::doTransform (this=0x8068160, 
[EMAIL PROTECTED], 
    theCompiledStylesheet=0x0, theStylesheetSource=0xbffff360, [EMAIL 
PROTECTED])
    at 
/home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XalanTransformer/XalanTransformer.cpp:1305
#12 0x40ed6fb3 in xalanc_1_9::XalanTransformer::transform (this=0x8068160, 
[EMAIL PROTECTED], 
    [EMAIL PROTECTED], [EMAIL PROTECTED])
    at 
/home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XalanTransformer/XalanTransformer.hpp:167
#13 0x40d64b04 in xalanc_1_9::XalanTransformer::transform (this=0x8068160, 
    [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED])
    at 
/home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XalanTransformer/XalanTransformer.cpp:341
#14 0x0804a02a in main (argc=2, argv=0xbffff734) at xalancrash.cpp:322
#15 0x41dd3336 in __libc_start_main (main=0x8049da0 <main>, argc=2, 
ubp_av=0xbffff734, 
    init=0x80499d8 <_init>, fini=0x804a88c <_fini>, rtld_fini=0x4000d25c 
<_dl_fini>, 
    stack_end=0xbffff72c) at ../sysdeps/generic/libc-start.c:129

I have a small reproducable case. I will try attaching the input xml document 
and the source code to this bug. 

Thanks
Prasad




-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to