RFR 8009581: Xpathexception does not honor initcause()

Aleksej Efimov aleksej.efimov at oracle.com
Mon Apr 29 13:45:38 UTC 2013

The XPathException class doesn't have any fields only methods (it had a 
'cause' method, but it was deleted in suggested fix). And, as I can see, 
there is no need to control what information is saved or to append 
additional information to the serialization stream.
So, I think the readObject/writeObject is not required here.


On 04/24/2013 10:17 PM, Alan Bateman wrote:
> On 24/04/2013 14:53, Aleksej Efimov wrote:
>> Hi all,
>> Can I have a reviews for the following change:
>> http://cr.openjdk.java.net/~dmeetry/8009581/webrev.0/ 
>> <http://cr.openjdk.java.net/%7Edmeetry/8009581/webrev.0/>
>> Summary:
>> There is an erroneous behavior in 'initCause' method of 
>> javax.xml.xpath.XPathException class.
>> Lets look at the following situation:
>> XPathException is created with 'XPathException(String )' constructor 
>> and then the cause is initialized with 'initCause' method. Such 
>> initialization sequence of actions isn't restricted by XPathException 
>> [1] and Throwable [2] docs.
>> After that a cause is retrieved by 'getCause()' method: this call 
>> returns incorrect cause = 'null'. It should return the same cause as 
>> was used in 'initCause'.  And this is the erroneous behavior.
>> Suggested fix (with regression test) is applicable both for JDK 8 and 7.
> Exceptions are serializable so I think this may require further 
> investigation to see if a readObject/writeObject is required.
> -Alan.

More information about the core-libs-dev mailing list