You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Prasad Mysore (JIRA)" <xa...@xml.apache.org> on 2006/02/20 20:34:49 UTC
[jira] Created: (XALANC-608) Crash during xslt transformation on
Linux machine (in ios::operator!) called from StdBinInputStream.
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,
urlInputSource=@0xbffff360, handler=@0xbfffe6c0)
at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesParserLiaison.cpp:254
#8 0x40d0ed18 in xalanc_1_9::XalanSourceTreeParserLiaison::parseXMLStream (this=0x80784dc,
inputSource=@0xbffff360, handler=@0xbfffe6c0, identifier=@0xbfffe6a0)
at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XalanSourceTree/XalanSourceTreeParserLiaison.cpp:536
#9 0x40d55bc5 in xalanc_1_9::XSLTEngineImpl::processStylesheet (this=0xbfffec40,
stylesheetSource=@0xbffff360, constructionContext=@0xbfffe920)
at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XSLT/XSLTEngineImpl.cpp:503
#10 0x40d54e68 in xalanc_1_9::XSLTEngineImpl::process (this=0xbfffec40, inputSource=@0xbfffebc0,
stylesheetSource=@0xbffff360, outputTarget=@0xbfffeb80, constructionContext=@0xbfffe920,
executionContext=@0x8068238)
at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XSLT/XSLTEngineImpl.cpp:241
#11 0x40d67ad6 in xalanc_1_9::XalanTransformer::doTransform (this=0x8068160, theParsedXML=@0x806b790,
theCompiledStylesheet=0x0, theStylesheetSource=0xbffff360, theResultTarget=@0xbffff1c0)
at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XalanTransformer/XalanTransformer.cpp:1305
#12 0x40ed6fb3 in xalanc_1_9::XalanTransformer::transform (this=0x8068160, theParsedXML=@0x806b790,
theStylesheetSource=@0xbffff360, theResultTarget=@0xbffff1c0)
at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XalanTransformer/XalanTransformer.hpp:167
#13 0x40d64b04 in xalanc_1_9::XalanTransformer::transform (this=0x8068160,
theInputSource=@0xbffff390, theStylesheetSource=@0xbffff360, theResultTarget=@0xbffff1c0)
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: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org
[jira] Resolved: (XALANC-608) Crash during xslt transformation on
Linux machine (in ios::operator!) called from StdBinInputStream.
Posted by "David Bertoni (JIRA)" <xa...@xml.apache.org>.
[ http://issues.apache.org/jira/browse/XALANC-608?page=all ]
David Bertoni resolved XALANC-608:
----------------------------------
Resolution: Won't Fix
You should not be using this fake version of GCC for production work:
http://gcc.gnu.org/gcc-2.96.html
Since the code works on every other platform, including official released versions of GCC, I don't understand why you think this is a bug. The code is perfectly legal, and is likely failing because of a compiler or library bug.
> 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
> Attachments: bug.zip
>
> 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,
> urlInputSource=@0xbffff360, handler=@0xbfffe6c0)
> at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesParserLiaison.cpp:254
> #8 0x40d0ed18 in xalanc_1_9::XalanSourceTreeParserLiaison::parseXMLStream (this=0x80784dc,
> inputSource=@0xbffff360, handler=@0xbfffe6c0, identifier=@0xbfffe6a0)
> at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XalanSourceTree/XalanSourceTreeParserLiaison.cpp:536
> #9 0x40d55bc5 in xalanc_1_9::XSLTEngineImpl::processStylesheet (this=0xbfffec40,
> stylesheetSource=@0xbffff360, constructionContext=@0xbfffe920)
> at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XSLT/XSLTEngineImpl.cpp:503
> #10 0x40d54e68 in xalanc_1_9::XSLTEngineImpl::process (this=0xbfffec40, inputSource=@0xbfffebc0,
> stylesheetSource=@0xbffff360, outputTarget=@0xbfffeb80, constructionContext=@0xbfffe920,
> executionContext=@0x8068238)
> at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XSLT/XSLTEngineImpl.cpp:241
> #11 0x40d67ad6 in xalanc_1_9::XalanTransformer::doTransform (this=0x8068160, theParsedXML=@0x806b790,
> theCompiledStylesheet=0x0, theStylesheetSource=0xbffff360, theResultTarget=@0xbffff1c0)
> at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XalanTransformer/XalanTransformer.cpp:1305
> #12 0x40ed6fb3 in xalanc_1_9::XalanTransformer::transform (this=0x8068160, theParsedXML=@0x806b790,
> theStylesheetSource=@0xbffff360, theResultTarget=@0xbffff1c0)
> at /home/essfs1/hwang/dev/xml-xalan/c/src/xalanc/XalanTransformer/XalanTransformer.hpp:167
> #13 0x40d64b04 in xalanc_1_9::XalanTransformer::transform (this=0x8068160,
> theInputSource=@0xbffff390, theStylesheetSource=@0xbffff360, theResultTarget=@0xbffff1c0)
> 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: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org