Marek Neumann created BATIK-1366: ------------------------------------ Summary: Timeouts missing in URLConnection of ParsedURLData Key: BATIK-1366 URL: https://issues.apache.org/jira/browse/BATIK-1366 Project: Batik Issue Type: Bug Affects Versions: 1.17 Reporter: Marek Neumann Attachments: setting_timeouts_on_ParsedURLData.patch
We encounter several long running threads being stuck in building up http connections: {code:java} java.base@17.0.7/sun.nio.ch.Net.poll(Native Method) java.base@17.0.7/sun.nio.ch.NioSocketImpl.park(NioSocketImpl.java:181) java.base@17.0.7/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:548) java.base@17.0.7/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597) java.base@17.0.7/java.net.Socket.connect(Socket.java:633) java.base@17.0.7/sun.net.NetworkClient.doConnect(NetworkClient.java:181) java.base@17.0.7/sun.net.www.http.HttpClient.openServer(HttpClient.java:531) java.base@17.0.7/sun.net.www.http.HttpClient.openServer(HttpClient.java:636) java.base@17.0.7/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:779) java.base@17.0.7/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1688) java.base@17.0.7/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) java.base@17.0.7/sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:3243) java.base@17.0.7/java.net.URLConnection.getContentType(URLConnection.java:520) app//org.apache.batik.util.ParsedURLData.openStreamInternal(ParsedURLData.java:548) app//org.apache.batik.util.ParsedURLData.openStream(ParsedURLData.java:476) app//org.apache.batik.util.ParsedURL.openStream(ParsedURL.java:440) app//org.apache.batik.bridge.SVGImageElementBridge.openStream(SVGImageElementBridge.java:414) app//org.apache.batik.bridge.SVGImageElementBridge.createImageGraphicsNode(SVGImageElementBridge.java:244) app//org.apache.batik.bridge.SVGImageElementBridge.buildImageGraphicsNode(SVGImageElementBridge.java:179) app//org.apache.batik.bridge.SVGImageElementBridge.createGraphicsNode(SVGImageElementBridge.java:121) app//org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:213) app//org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:171) app//org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:82) app//org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:210) app//org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:92) app//org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142) app//org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:158) {code} Looking at the code ParsedURLData does not seem to set any timeout (neither connect nor read timeout) on the used java.net.URLConnection in org/apache/batik/util/ParsedURLData.java:524. I will attach a possible change which sets read and connect timeouts. The unit test demonstrates that the read timeout is used accordingly. Likely the location is not ideal and can be made configurable but I would leave it up to the Batik devs. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: batik-dev-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: batik-dev-h...@xmlgraphics.apache.org