RFR 8009581: Xpathexception does not honor initcause()
david.holmes at oracle.com
Tue Apr 30 07:08:11 UTC 2013
On 29/04/2013 11:45 PM, Aleksej Efimov wrote:
> The XPathException class doesn't have any fields only methods (it had a
> 'cause' method, but it was deleted in suggested fix).
It had a cause field that was deleted not a method, hence the change to
the serialized form that Alan is highlighting.
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:
>>> 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
>>>  and Throwable  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.
More information about the core-libs-dev