You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by bu...@apache.org on 2001/08/29 05:52:49 UTC

[DO NOT REPLY: Bug 3328] New: gTranscoder pointer is NULL after XMLPlatformUtils::Initialize();

PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT
ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW
AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE
DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL
BE LOST SOMEWHERE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3328

*** shadow/3328	Tue Aug 28 20:52:49 2001
--- shadow/3328.tmp.20955	Tue Aug 28 20:52:49 2001
***************
*** 0 ****
--- 1,85 ----
+ +============================================================================+
+ | gTranscoder pointer is NULL after XMLPlatformUtils::Initialize();          |
+ +----------------------------------------------------------------------------+
+ |        Bug #: 3328                        Product: Xerces-C++              |
+ |       Status: NEW                         Version: 1.5.1                   |
+ |   Resolution:                            Platform: PC                      |
+ |     Severity: Normal                   OS/Version: Windows NT/2K           |
+ |     Priority: Other                     Component: Utilities               |
+ +----------------------------------------------------------------------------+
+ |  Assigned To: xerces-c-dev@xml.apache.org                                  |
+ |  Reported By: franzw@one.net                                               |
+ |      CC list: Cc:                                                          |
+ +----------------------------------------------------------------------------+
+ |          URL:                                                              |
+ +============================================================================+
+ |                              DESCRIPTION                                   |
+ I'm using Xerces C++ 1.5.1 and Xalan C++ 1.2.  I'm running on Windows 2K 
+ Professional using VC6 SP5.  I'm getting Access Violations parsing the the 
+ following xml.  I originally had the problem using the precompiled binaries, 
+ but have continued to have the problem having compiled the Xalan and Xerces 
+ libraries to include symbols.  I've traced the Access Violation to the 
+ following code at line 526 of XMLString.cpp.  gTranscoder is NULL, and the 
+ attempt to dereference it causes the Access Violation.  
+ 
+ char* XMLString::transcode(const XMLCh* const toTranscode)
+ {
+     return gTranscoder->transcode(toTranscode);
+ }
+ 
+ I am calling XMLPlatformUtils::Initialize() (only once), and when I trace into 
+ it, gTranscoder is getting set correctly, with no panic calls.  But when I go 
+ back in to the function above, it has been NULLed.  I've included a stack 
+ trace, and the code is small and can be mailed as well.
+ 
+ I originally had the problem with Xalan 1.0 and Xerces 1.3, but I've now had 
+ the problem on all versions I've tried, including the latest.
+ 
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE partsPickList SYSTEM "partslist.dtd">
+ <partsPickList>
+ 	<header>
+ 		<creator version="1.0">
+ 			<date month="2" day="27" year="2000"/>
+ 			<time hour="14" min="47" sec="19"/>
+ 		</creator>
+ 		<dealer codeNum="DLR12345"/>
+ 		<destination name="DSP"/>
+ 	</header>
+ 	<part partNum="055295753" partQty="10"/>
+ 	<part partNum="04471573" partQty="5" partType="Body">
+ 		<partDescription>Bumper</partDescription>
+ 		<partPrice unit="300.0" retail="250.0"/>
+ 	</part>
+ 	<part partNum="000005016796aa" partQty="3" partType="Body">
+ 		<partDescription>hood</partDescription>
+ 	</part>
+ </partsPickList>
+ 
+ Stack Trace:
+ 
+ XMLString::transcode(const unsigned short * const 0x00e5b948) line 524
+ XMLPlatformUtils::getFullPath(const unsigned short * const 0x00e5b948) line 433 
+ + 9 bytes
+ URISupport::getURLStringFromString(const unsigned short * 0x00e5b948) line 170 
+ + 10 bytes
+ URISupport::getURLStringFromString(const XalanDOMString & {...}) line 130 + 90 
+ bytes
+ StylesheetConstructionContextDefault::getURLStringFromString(const 
+ XalanDOMString & {...}) line 306 + 18 bytes
+ Stylesheet::Stylesheet(StylesheetRoot & {...}, const XalanDOMString & {...}, 
+ StylesheetConstructionContext & {...}) line 172 + 28 bytes
+ StylesheetRoot::StylesheetRoot(const XalanDOMString & {...}, 
+ StylesheetConstructionContext & {...}) line 152 + 50 bytes
+ StylesheetConstructionContextDefault::create(const XalanDOMString & {...}) line 
+ 214 + 48 bytes
+ StylesheetConstructionContextDefault::create(const XSLTInputSource & {...}) 
+ line 233 + 15 bytes
+ XSLTEngineImpl::processStylesheet(const XSLTInputSource & {...}, 
+ StylesheetConstructionContext & {...}) line 482 + 15 bytes
+ XSLTEngineImpl::processStylesheet(const XalanDOMString & {...}, 
+ StylesheetConstructionContext & {...}) line 463 + 19 bytes
+ xsltMain(const CmdLineParams & {...}) line 610 + 28 bytes
+ main(int 3, const char * * 0x00c11028) line 852 + 9 bytes
+ mainCRTStartup() line 206 + 25 bytes
+ KERNEL32! 77e97d08()

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org