[
https://issues.apache.org/jira/browse/IVY-1386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484531#comment-13484531
]
Maarten Coene commented on IVY-1386:
------------------------------------
I'm wondering what would happen if the XML file contains entities defined in an
external DTD when you disable external DTD fetching?
> Disable DTD external fetching when not validation
> -------------------------------------------------
>
> Key: IVY-1386
> URL: https://issues.apache.org/jira/browse/IVY-1386
> Project: Ivy
> Issue Type: Bug
> Affects Versions: trunk
> Environment: Ivy 2.4.0.alpha/IvyDE 2.2.0.beta2
> Reporter: Stephen Haberman
> Attachments: disableExternalDtds.diff, ivyde-xml-dtd-hung.txt
>
>
> Our team uses Ivy/IvyDE, and noticed Eclipse hanging today/yesterday, to the
> point of being unusable.
> I tracked it down to Eclipse asking IvyDE "is this your file?", which
> IvyDE's IvySettingsContentDescriber used XMLHelper.parse to answer, but then
> Xerces hung while trying to load the XML file's DTD.
> So, the problem was the DTD being unavailable, but it seems like XMLHelper
> should turn this off, especially if the schema parameter is null, and it's in
> non-validating mode.
> The attached patch turns off external DTD fetching when XMLHelper is already
> in non-validating mode.
> This avoids the wire call, which speeds up the XMLHelper.parse by at least
> 100%, ~250-300ms when fetching the DTD, to ~100-150ms when not. (And this is
> the happy case, in the worst case, waiting for the timeout if the DTD is
> unavailable, takes ~20s).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira