You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2002/12/18 00:57:49 UTC

DO NOT REPLY [Bug 15467] New: - Random NullPointerExceptions in DTM traversal

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15467>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

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

Random NullPointerExceptions in DTM traversal

           Summary: Random NullPointerExceptions in DTM traversal
           Product: XalanJ2
           Version: 2.4
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Major
          Priority: Other
         Component: org.apache.xml.dtm
        AssignedTo: xalan-dev@xml.apache.org
        ReportedBy: vpillai@silverbacktech.com


I see the following exception on some traversals of the DOM and not on others. 
It typically happens when the system is heavily loaded and there are a number 
of traversals occurring concurrently. In reading the source for DOM2DTM, pos 
being null seems to be a "should never arise" situation -- but it certainly 
seems to be exercised for me. BTW I'm using CachedXPathAPI because the DOM can 
change between calls to XPathAPI.selectNodes.

Is there any way to turn off the DTM optimization. I'm willing to accept the 
performance hit if the traversals work reliably.


java.lang.NullPointerException
	at org.apache.xml.dtm.ref.dom2dtm.DOM2DTM.nextNode(DOM2DTM.java:421)
	at org.apache.xml.dtm.ref.dom2dtm.DOM2DTM.getHandleFromNode
(DOM2DTM.java:710)
	at org.apache.xml.dtm.ref.dom2dtm.DOM2DTM.getHandleOfNode
(DOM2DTM.java:762)
	at org.apache.xml.dtm.ref.DTMManagerDefault.getDTMHandleFromNode
(DTMManagerDefault.java:620)
	at org.apache.xpath.XPathContext.getDTMHandleFromNode
(XPathContext.java:220)
	at org.apache.xpath.CachedXPathAPI.eval(CachedXPathAPI.java:326)
	at org.apache.xpath.CachedXPathAPI.selectNodeIterator
(CachedXPathAPI.java:216)
	at org.apache.xpath.CachedXPathAPI.selectSingleNode
(CachedXPathAPI.java:177)
	at com.silverbacktech.cpe.xml.XPathAPI.selectSingleNode
(XPathAPI.java:13)
	at com.silverbacktech.cpe.xml.XSL.selectSingleNode(XSL.java:43)
	at com.silverbacktech.cpe.xhandler.ReportHandler.select
(ReportHandler.java:106)
	at com.silverbacktech.cpe.xhandler.ReportHandler.lookupAll
(ReportHandler.java:30)
	at com.silverbacktech.core.xspace.BaseHandler.lookup
(BaseHandler.java:55)
	at com.silverbacktech.core.xspace.VirtualNodeExpander.expand
(XSpaceExpander.java:277)
	at com.silverbacktech.core.xspace.XSpaceExpander.expand
(XSpaceExpander.java:56)
	at com.silverbacktech.core.xspace.XSpace.selectSingleNode
(XSpace.java:122)
	at com.silverbacktech.cpe.seil.XSpaceServlet.doGet
(XSpaceServlet.java:82)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:499)
	at com.silverbacktech.cpe.seil.SBServlet.service(SBServlet.java:243)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
	at org.apache.jserv.JServConnection.processRequest
(JServConnection.java:317)
	at org.apache.jserv.JServConnection.run(JServConnection.java:188)
	at java.lang.Thread.run(Unknown Source)