Copy link to clipboard
Copied
I've tested this against existing installations, as well as a brand new untweaked install.
Issue:
Simply running C:\ColdFusion2021\config\cfsetup>cfsetup set runtime postparameterslimit=9999 C:\ColdFusion2021\cfusion is slow. Furthermore, if I do an import of a json full of runtime variables, it take 1 minute per variable. I am seeing this in the config.log in the cfsetup directory:
25-01-08 13:47:06:753 ERROR main mobile.MobileServlet:258 - Read timed out
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method) ~[?:?]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:115) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:168) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:140) ~[?:?]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:252) ~[?:?]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:292) ~[?:?]
at java.io.BufferedInputStream.read(BufferedInputStream.java:351) ~[?:?]
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:746) ~[?:?]
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:689) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1615) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520) ~[?:?]
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) ~[xercesImpl.jar:?]
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:206) ~[?:?]
at coldfusion.mobile.MobileServlet.isCORSEnabled(MobileServlet.java:219) ~[cfsetup.jar:?]
at com.adobe.cfsetup.settings.service.RuntimeService.getRuntimeSetting(RuntimeService.java:716) ~[cfsetup.jar:?]
at com.adobe.cfsetup.settings.RuntimeSettings.populateMap(RuntimeSettings.java:83) ~[cfsetup.jar:?]
at com.adobe.cfsetup.settings.RuntimeSettings.<init>(RuntimeSettings.java:42) ~[cfsetup.jar:?]
at com.adobe.cfsetup.external.SingleSettingFactory.initiateSettingClass(SingleSettingFactory.java:120) ~[cfsetup.jar:?]
at com.adobe.cfsetup.base.SettingInstanceProvider.getSettingInstanceFromCFHome(SettingInstanceProvider.java:66) ~[cfsetup.jar:?]
at com.adobe.cfsetup.base.SettingInstanceProvider.getCategoryInstance(SettingInstanceProvider.java:51) ~[cfsetup.jar:?]
at com.adobe.cfsetup.base.CommandExecutionPipeline.populateCategorySetting(CommandExecutionPipeline.java:112) ~[cfsetup.jar:?]
at com.adobe.cfsetup.base.CommandExecutionPipeline.submitToPipeline(CommandExecutionPipeline.java:64) ~[cfsetup.jar:?]
at com.adobe.cfsetup.commands.SetCommand.call(SetCommand.java:70) ~[cfsetup.jar:?]
at com.adobe.cfsetup.commands.SetCommand.call(SetCommand.java:52) ~[cfsetup.jar:?]
at picocli.CommandLine.executeUserObject(CommandLine.java:1743) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine.access$900(CommandLine.java:145) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine$RunLast.handle(CommandLine.java:2101) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine$RunLast.handle(CommandLine.java:2068) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:1935) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine.execute(CommandLine.java:1864) ~[picocli-4.0.4.jar:4.0.4]
at com.adobe.cfsetup.base.EntryPoint.main(EntryPoint.java:188) ~[cfsetup.jar:?]
25-01-08 13:47:25:781 ERROR main mobile.MobileServlet:258 - Read timed out
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method) ~[?:?]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:115) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:168) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:140) ~[?:?]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:252) ~[?:?]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:292) ~[?:?]
at java.io.BufferedInputStream.read(BufferedInputStream.java:351) ~[?:?]
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:746) ~[?:?]
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:689) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1615) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520) ~[?:?]
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) ~[xercesImpl.jar:?]
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:206) ~[?:?]
at coldfusion.mobile.MobileServlet.isCORSEnabled(MobileServlet.java:219) ~[cfsetup.jar:?]
at com.adobe.cfsetup.settings.service.RuntimeService.getRuntimeSetting(RuntimeService.java:716) ~[cfsetup.jar:?]
at com.adobe.cfsetup.settings.service.RuntimeService.saveModifiedRuntimeMap(RuntimeService.java:920) ~[cfsetup.jar:?]
at com.adobe.cfsetup.settings.RuntimeSettings.setSetting(RuntimeSettings.java:133) ~[cfsetup.jar:?]
at com.adobe.cfsetup.commands.service.SetCommandService.lambda$updateSettings$0(SetCommandService.java:82) ~[cfsetup.jar:?]
at java.util.HashMap.forEach(HashMap.java:1336) ~[?:?]
at java.util.Collections$UnmodifiableMap.forEach(Collections.java:1505) ~[?:?]
at com.adobe.cfsetup.commands.service.SetCommandService.updateSettings(SetCommandService.java:53) ~[cfsetup.jar:?]
at com.adobe.cfsetup.commands.SetCommand.runCommand(SetCommand.java:274) ~[cfsetup.jar:?]
at com.adobe.cfsetup.base.CommandExecutionPipeline.executeCommand(CommandExecutionPipeline.java:103) ~[cfsetup.jar:?]
at com.adobe.cfsetup.base.CommandExecutionPipeline.submitToPipeline(CommandExecutionPipeline.java:68) ~[cfsetup.jar:?]
at com.adobe.cfsetup.commands.SetCommand.call(SetCommand.java:70) ~[cfsetup.jar:?]
at com.adobe.cfsetup.commands.SetCommand.call(SetCommand.java:52) ~[cfsetup.jar:?]
at picocli.CommandLine.executeUserObject(CommandLine.java:1743) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine.access$900(CommandLine.java:145) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine$RunLast.handle(CommandLine.java:2101) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine$RunLast.handle(CommandLine.java:2068) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:1935) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine.execute(CommandLine.java:1864) ~[picocli-4.0.4.jar:4.0.4]
at com.adobe.cfsetup.base.EntryPoint.main(EntryPoint.java:188) ~[cfsetup.jar:?]
25-01-08 13:47:44:794 ERROR main mobile.MobileServlet:195 - Read timed out
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method) ~[?:?]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:115) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:168) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:140) ~[?:?]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:252) ~[?:?]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:292) ~[?:?]
at java.io.BufferedInputStream.read(BufferedInputStream.java:351) ~[?:?]
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:746) ~[?:?]
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:689) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1615) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520) ~[?:?]
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) ~[xercesImpl.jar:?]
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) ~[xercesImpl.jar:?]
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:206) ~[?:?]
at coldfusion.mobile.MobileServlet.enableCORS(MobileServlet.java:129) ~[cfsetup.jar:?]
at com.adobe.cfsetup.settings.service.RuntimeService.lambda$saveOthers$1(RuntimeService.java:956) ~[cfsetup.jar:?]
at java.util.HashMap.forEach(HashMap.java:1336) ~[?:?]
at com.adobe.cfsetup.settings.service.RuntimeService.saveOthers(RuntimeService.java:941) ~[cfsetup.jar:?]
at com.adobe.cfsetup.settings.service.RuntimeService.lambda$saveModifiedRuntimeMap$0(RuntimeService.java:922) ~[cfsetup.jar:?]
at java.util.HashMap.forEach(HashMap.java:1336) ~[?:?]
at com.adobe.cfsetup.settings.service.RuntimeService.saveModifiedRuntimeMap(RuntimeService.java:920) ~[cfsetup.jar:?]
at com.adobe.cfsetup.settings.RuntimeSettings.setSetting(RuntimeSettings.java:133) ~[cfsetup.jar:?]
at com.adobe.cfsetup.commands.service.SetCommandService.lambda$updateSettings$0(SetCommandService.java:82) ~[cfsetup.jar:?]
at java.util.HashMap.forEach(HashMap.java:1336) ~[?:?]
at java.util.Collections$UnmodifiableMap.forEach(Collections.java:1505) ~[?:?]
at com.adobe.cfsetup.commands.service.SetCommandService.updateSettings(SetCommandService.java:53) ~[cfsetup.jar:?]
at com.adobe.cfsetup.commands.SetCommand.runCommand(SetCommand.java:274) ~[cfsetup.jar:?]
at com.adobe.cfsetup.base.CommandExecutionPipeline.executeCommand(CommandExecutionPipeline.java:103) ~[cfsetup.jar:?]
at com.adobe.cfsetup.base.CommandExecutionPipeline.submitToPipeline(CommandExecutionPipeline.java:68) ~[cfsetup.jar:?]
at com.adobe.cfsetup.commands.SetCommand.call(SetCommand.java:70) ~[cfsetup.jar:?]
at com.adobe.cfsetup.commands.SetCommand.call(SetCommand.java:52) ~[cfsetup.jar:?]
at picocli.CommandLine.executeUserObject(CommandLine.java:1743) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine.access$900(CommandLine.java:145) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine$RunLast.handle(CommandLine.java:2101) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine$RunLast.handle(CommandLine.java:2068) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:1935) ~[picocli-4.0.4.jar:4.0.4]
at picocli.CommandLine.execute(CommandLine.java:1864) ~[picocli-4.0.4.jar:4.0.4]
at com.adobe.cfsetup.base.EntryPoint.main(EntryPoint.java:188) ~[cfsetup.jar:?]
There is increasing evidence that the DOCTYPE was the cause of the issue. The following excerpt from the stacktrace tells us that:
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method) ~[?:?]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:115) ~[?:?]
at java.net
...
Copy link to clipboard
Copied
I just wanted to pop in and add to this. Just for fun, I did an experiment based on looking inside the cfsetup.jar file and looking at the bit that was throwing the error.
I decided to stop the CF service, rename "C:\ColdFusion2021\cfusion\wwwroot\WEB-INF\web.xml" to something else, THEN run "cfsetup set runtime postparameterslimit=9999 C:\ColdFusion2021\cfusion". It ran instantly, with no error in the config.log. I then renamed my web.xml back and restarted the CF service. Everything in CFAdmin looked appropriate and I'm guessing all is proper.
Copy link to clipboard
Copied
The error "java.net.SocketTimeoutException: Read timed out" suggests there was a delay or some other issue with the network communication. Apparently, one or more of the runtime settings to be imported involves the transfer of data through the network. Note the occurrence of the classes sun.net.www.http.HttpClient and java.io.BufferedInputStream.
The network connection took too long to receive a response. In other words, the socket encountered a timeout, hence the error.
Copy link to clipboard
Copied
There is nothing happening across a network. It's strictly local to the machine.
Copy link to clipboard
Copied
There is definitely something happening across a network. The stacktrace clearly shows that.
A possible alternative is that the cfsetup tool has a bug. To be sure, please report a bug. Include the stacktrace in your report.
Copy link to clipboard
Copied
Copy link to clipboard
Copied
While we may see some response to that tracker ticket, I have some other thoughts.
BTW, I was torn whether to offer them there or here. I've opted for here because currently the tracker system fails to send email notifications (something I've written a separate bug report for).
1) So first, Rocker, this is something I've not heard of before. Of course it should not hang. And indeed cfsetup itself does no network calls, unless the path you give it for the cfusion location is elsewhere, and yours clearly was not.
So, good on you for experimenting to find that it was somehow processing the web.xml file. I would not have expected that, but it may have its reasons. But now that you know that's where your hangup is, now we can focus on what in there is causing it for you.
2) I notice there are multiple references in your log's stack trace to "mobile.MobileServlet". Some may recognize that as being related to the little-used mobile feature set (added in cf11 and due to be removed in cf2025).
I wonder if you were to comment out those references, might that remove the problem (it may not). You'd want to be very careful. First, save a copy of the file. Second, use html/xml comments (2 dashes) not cfml (3 dashes), or cf won't start. Finally, note there are more than one sort of xml line there referring to that mobileservlet.
But again that may not solve things. If it happens again, it may move on to some other mapping you have there. There are several. But try it and if it doesn't work then share (or study) the next error to see if points to another.
3) Or you could share your web.xml here, and maybe we'll spot something amiss. I don't think there's anything of a privacy nsture6innitz but check to be sure.
4) And if you do share that or even another long stack trace, please use the feature here to attach a file to your reply, rather than dump such large text into your reply. That makes it cumbersome to distinguish one reply from another, and all the more if folks may read this on a phone--and I can attest that writing replies here on a phone, especially long ones like this has its own challenges! 🙂
5) Finally, I put a comment into the tracker ticket to point to this post of yours, to help folks there see this additional discussion here (first from you and BKBK, and now me). And I do hope you and others will find this new reply. I opted to not offer it as a reply to the others, as again on a phone the indentation of nested replies starts to get especially clumsy. First world problems and "difficult choices". 🙂
Copy link to clipboard
Copied
Thanks for the reply Charlie. As you guessed, I used jd-gui to peek around in the cfsetup.jar file. The issue seems to be in the MobileServlet.class. There are two offending functions in there that seem to get called: isCORSEnabled and enableCORS.
The code appears to be searching for the file in three different locations, and then wants to use DocumentBuilder to parse the file. I noticed in the code, that if it can't find the file, the routine returns false. That's what lead me to just rename the web.xml, run my cfsetup commands, then rename it back.
Sadly, I don't know how to edit and recompile a JAR file, so commenting out the offending code isn't an option for me, but at least I have the renaming workaround. Also, my first suspicion was that cfsetup just couldn't access the file (since it IS present), so I adjusted the NTFS permissions and added "everyone" with RW access. Still no dice with that.
I've attached my web.xml to this reply.
Copy link to clipboard
Copied
Thanks, I was referring to editing the web.xml, not the jar. Sorry that was unclear. I'll need to look at the attached file later. But in the meantime please reconsider what I proposed.
Copy link to clipboard
Copied
The cause of the issue might be your web.xml file. When I compare your file with mine, it appears that the following XML elements have been changed or commented out in your web.xml file::
Range of line numbers (inclusive) taken up by XML element |
Description of XML element |
How your web.xml differs from mine |
1 - 3 |
XML declaration |
Your file starts with: <?xml version="1.0" encoding="windows-1252"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app id="adobe_coldfusion">
My file starts with: |
25 - 32 |
“begin CF Reporting” |
Yours is commented out |
55 - 64 |
“begin Mobile Debug” |
Yours is commented out |
132 - 170 |
“begin Mobile Debug” |
Yours is commented out |
294 - 307 |
“begin Security Analyzer” |
Yours is commented out |
353 - 363 |
“begin JS Debug” |
Yours is commented out |
469 - 474 |
“begin JS Debug” |
Yours is commented out |
481 - 494 |
“begin CF Reporting” |
Yours is commented out |
520 - 526 |
“begin Security Analyzer” |
Yours is commented out |
Some of the elements that were commented out are related to ColdFusion's mobile API. Also, your web.xml references the URL of a DTD file.
So I am curious to know what would happen if you changed the XML declaration and uncommented the above elements. Would that solve the problem?
For convenience, I have attached a copy of the web.xml file in which the elements have been restored. You could use it for testing.
Copy link to clipboard
Copied
This is great! I have a few things to deal with this morning, but I will definitely try with YOUR attached web.xml
Copy link to clipboard
Copied
Rocker, before you just go plunking in such a new web.xml (which may introduce unexpected changes for you), I hope you'll please consider trying the simpler single change I'd suggested last week: commenting out only the mobile section of that web.xml file. (See point 2 of that reply, here.)
The benefit is beyond just your avoiding unexpected changes: narrowing the problem and solution to that specific change may help Adobe or future readers.
Copy link to clipboard
Copied
Its a throwaway EC2 instance on AWS. So no real harm trying BOTH of your ideas. Also of note, the web.xml file that has all of the commented out stuff is a result of a base install + hotfix18, not anything I changed manually.
Copy link to clipboard
Copied
Good on you, @RockerNJ , for being willing to test every viable option and then narrowing things down from there. At its best, that is what software testing is all about.
Copy link to clipboard
Copied
I've narrowed this down to this being the offending line in web.xml:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
When present, a single cfsetup set runtime command take 1 minute (to timeout), and without it, it completes in 1-2 seconds.
Also per Charlies request, I tried will all manners of commenting uncommenting. Nothing made a difference except removing the above line.
Note: I did a fresh install of CF2021, and the default web.xml DOES have that extra offending line. These were my setup params:
Install Type - Developer Edition
Installer Configuration - Server Configuration
Deployment Type - Development
ColdFusion Server Profile - Development Profile
Sub-Components Installation - None
Installation Directory - C:\ColdFusion2021
Built-in Web Server Port Number - 8500
Performance Monitoring Toolset/Hostname - wfdev15
Aministrator Password - xxxxxxxx
Enable RDS - Unchecked
Server Updates - Uncheck Automatically check for server updates
[Install]
Copy link to clipboard
Copied
It's looking good. 🙂
Question is: what does the cfsetup config log say?
Copy link to clipboard
Copied
When it works, the log is empty. When it takes a minute, the log looks like my original post.
Copy link to clipboard
Copied
There is increasing evidence that the DOCTYPE was the cause of the issue. The following excerpt from the stacktrace tells us that:
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method) ~[?:?]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:115) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:168) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:140) ~[?:?]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:252) ~[?:?]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:292) ~[?:?]
at java.io.BufferedInputStream.read(BufferedInputStream.java:351) ~[?:?]
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:746) ~[?:?]
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:689) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1615) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520) ~[?:?]
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source) ~[xercesImpl.jar:2.12.0]
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source) ~[xercesImpl.jar:2.12.0]