Copy link to clipboard
Copied
Hi,
I've been developing for a long time without it working. But it did work on my old machine.
Now I really really need it to work.
CF 2023, up to date.
Windows 11 is up to date.
Debugging Port is set to 5005
I even opened this port in Windows 11 to make sure that wasn't the issue.
Also, in CF Logs I'm seeing the error below. I have no idea how to approach it.
Maybe I don't need to worry about it.
ColdFusion App has been working. Just not the Debugging, at all.
So, when I hit certain snags I really need it.
Could this be the problem?
Thanks In Advance!!
ERROR: --------------------------------------------------------------------------------------------
Dec 07, 2024 8:14:17 AM org.elasticsearch.client.sniff.Sniffer run
SEVERE: error while sniffing nodes
java.io.IOException: An established connection was aborted by the software in your host machine
at org.elasticsearch.client.RestClient.extractAndWrapCause(RestClient.java:937)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:300)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:288)
at org.elasticsearch.client.sniff.ElasticsearchNodesSniffer.sniff(ElasticsearchNodesSniffer.java:106)
at org.elasticsearch.client.sniff.Sniffer.sniff(Sniffer.java:209)
at org.elasticsearch.client.sniff.Sniffer$Task.run(Sniffer.java:140)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: An established connection was aborted by the software in your host machine
at java.base/sun.nio.ch.SocketDispatcher.write0(Native Method)
at java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:54)
at java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:132)
at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:97)
at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:53)
at java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:532)
at org.apache.http.impl.nio.reactor.SessionOutputBufferImpl.flush(SessionOutputBufferImpl.java:182)
at org.apache.http.impl.nio.DefaultNHttpClientConnection.produceOutput(DefaultNHttpClientConnection.java:297)
at org.apache.http.impl.nio.client.InternalIODispatch.onOutputReady(InternalIODispatch.java:86)
at org.apache.http.impl.nio.client.InternalIODispatch.onOutputReady(InternalIODispatch.java:39)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.outputReady(AbstractIODispatch.java:145)
at org.apache.http.impl.nio.reactor.BaseIOReactor.writable(BaseIOReactor.java:187)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:341)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)
Charlie,
I was referring to the line by line debugger.
I have since figured it out.
It was being caused by the error tag in Application.cfc.
Totally my own fault. Not sure what clicked that made me catch it.
I had nothing inside it yet. As soon as I commented it out, debugging started working. So I guess it was overriding debugging.
<cffunction name="onError">
</cffunction>
omg
Thank you so much for trying to help. I really appreciate it.
Will keep your suggestions in mind for later troubleshooting.
...
Copy link to clipboard
Copied
I forgot to say that Java is also up to date.
Copy link to clipboard
Copied
In which log file(s) does the error appear? The issue does not seem to be related to the ColdFusion server. Rather, to a client 'ElasticSearch' application running on the ColdFusion server.
Apparently, the issue arose because an external service failed to connect with the ElasticSearch client. Do you make use of ElasticSearch Sniffer?
Copy link to clipboard
Copied
A further insight: the ColdFusion Performance Monitoring Toolset (PMT) includes integration with an ElasticSearch client. PMT uses ElasticSearch as the backend for indexing and searching logs, metrics and performance data.
So, do you use the ColdFusion Performance Monitoring Toolset (PMT)? If so, then that is most likely where the error came from.
For example, a previous thread in this forum talks about an error caused by the ElasticSearch sniffer used by PMT. The solution there was to shut down both the local PMT service and the datastore, and to restart the ColdFusion instance. It might, in addition, be necessary to make some configuration changes. The thread explains how.
Copy link to clipboard
Copied
Laura, are you referring to wanting the CF "debugging output" (which appears at the bottom of CF pages)? or are you wanting the interactive step debugger (which you would use via the CFBuilder IDE)?
Your mention of the debug port and your first screenshot are about the latter (step debugging), while your 2 of your 3 other screenshots are about the former (debug output). To be clear, the two sets of features (and their settings) are technically unrelated to each other.
And I'm going to assume for now you are referring to the debug output feature (since you showed those 2 screenshots related to it), and that the issue is that you are visiting a page and expect to see the debug output at the bottom but none appears. But you've not shown us the URL for either your CF admin or the URL you're testing, so for now we have to do some guessing. Is the CF which you're testing against implemented on your own machine?
And if you drop this code into the CF page, it will show the IP address which CF sees you coming from:
<cfoutput>#cgi.remote_addr#</cfoutput>
or as cfscript:
writeoutput(cgi.remote_addr)
The value reported is what needs to be put into your "debugging ip address" list shown in the second screenshot.
Does that help?
BTW, note that if it helps but only temporarily (because your IP address is changing), or you notice that it's not even what you would have thought was your ip address, it could be that the site you're testing is being handled by a proxy like cloudflare. In that case, the IP address may well change, often--but such proxies would normally pass in a request header identifying the original ip adddress, and there's a way to setup CF to regard that header for the value shown for the cgi.remote_addr. I have a blog post on the Adobe CF portal discussing that. And I mention this because that would affect the IP address which would be used by the CF Admin "debugging ip address" list.
If instead you really mean to be dealing with an inability to use the step debugger in CFBuilder, that's a very different discussion with much more to consider.
Finally, since you refer to the error you found in the log, we might wonder if instead of "debugging" you may be referring to wanting to see the "error details" which that "enable robust exception information" option in the 3rd screenshot should enable. If THAT is your problem, that too is a different matter. It also has NOTHING to do with the ip address settings within CF. Instead, that is often blocked for those using IIS as their web server, which is set by default to show error details only to what it regards as "local" requests. See the IIS "error pages" feature and its "edit feature settings" to enable the third of 3 values shown there. But since I'm sitll guessing whether this is at all your issue, I will wait to hear your thoughts. 🙂
Copy link to clipboard
Copied
Charlie,
I was referring to the line by line debugger.
I have since figured it out.
It was being caused by the error tag in Application.cfc.
Totally my own fault. Not sure what clicked that made me catch it.
I had nothing inside it yet. As soon as I commented it out, debugging started working. So I guess it was overriding debugging.
<cffunction name="onError">
</cffunction>
omg
Thank you so much for trying to help. I really appreciate it.
Will keep your suggestions in mind for later troubleshooting.
Copy link to clipboard
Copied
Thanks for the update, glad it's resolved now, and glad what I offered may help you (or perhaps others also) down the road. 🙂
As for that code change affecting step debugging, that's fascinating to contemplate. I can't see how it would matter. As I said I my reply, error handling and the debugging output are unrelated. As for errors and the step/line debugger, there IS provision (in the CFBuilder setup) to indicate if the debugger should STOP on errors...but I'd not expect that to PREVENT the step debugger working.
But then you only said about it that it "does not work", so it was not quite clear in what WAY it wasn't working for you: opening but not stepping? stepping but not showing expected results? and so on. Anyway, for now things work for you and perhaps that's all that needs to be said. Future readers can press for more if interested. 🙂