• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

An established connection was aborted by the software in your host machine

Enthusiast ,
Mar 26, 2018 Mar 26, 2018

Copy link to clipboard

Copied

Since moving to CF2016 I've been seeing quite a lot of the error below in the exception log file. I did some research and can't quite figure out what is going on and if this is indeed having an impact on the end user. I've tested the download link on http://www.hiddentoolbox.com and it appears to work fine

"Error","ajp-nio-8016-exec-6","03/26/18","11:55:46","myapp","The cause of this output exception was that: org.apache.catalina.connector.ClientAbortException: java.io.IOException: An established connection was aborted by the software in your host machine. The specific sequence of files included or processed is: C:\ACS\hiddentoolbox\downloadfile.cfm, line: 15 "

coldfusion.tagext.OutputException: The cause of this output exception was that: org.apache.catalina.connector.ClientAbortException: java.io.IOException: An established connection was aborted by the software in your host machine.

I was wondering if this is as simple as people closing their browser before the download is completed, although I could not replicate myself by starting and closing a browser before it had completed.

Could anybody help throw some light on it?

Thanks

Mark

TOPICS
Connector

Views

19.9K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 2 Correct answers

Enthusiast , Jan 23, 2020 Jan 23, 2020

Fixed! I used the fix from Jamo (Thanks Jamo)

 

By adding the CFTRY and CFCATCH I no longer have a record in the logs, so now I'll be able to find the true errors in the log file.

 

Btw: I realized this was not caused by spiders because any legit request for the download was also creating a log record.

 

So here's what cured the problem. I'm not sure of the mechanics as I have not really done much with CFTRY and CFCATCH, but it definately works 

 

<cftry>
    <cfcontent type="application/unknown" file="#

...

Votes

Translate

Translate
Enthusiast , Jan 23, 2020 Jan 23, 2020

It does indeed work without the CFABORT and plain text, giving this (Will change to this as the right answer)

 

<cftry>
<cfcontent type="application/unknown" file="#downloadlocation#\toolbox.exe" />
<cfcatch>
</cfcatch>
</cftry>

 

Votes

Translate

Translate
Community Expert ,
Jan 23, 2020 Jan 23, 2020

Copy link to clipboard

Copied

I'd recommend that you remove the CFABORT and the plain text output in your CFCATCH - or at least try that and see if it's happening. I can easily see that breaking some clients downloading your files.

 

Dave Watts, Eidolon LLC

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Jan 23, 2020 Jan 23, 2020

Copy link to clipboard

Copied

It does indeed work without the CFABORT and plain text, giving this (Will change to this as the right answer)

 

<cftry>
<cfcontent type="application/unknown" file="#downloadlocation#\toolbox.exe" />
<cfcatch>
</cfcatch>
</cftry>

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Jan 23, 2020 Jan 23, 2020

Copy link to clipboard

Copied

@dave AFAIK the client has already terminated the connection at this point and is not in the process of downloading anything. If the client is no longer downloading, the download has already been broken.

 

In ACF9 & 10 (we didn't use CF11), when the connection was aborted by the client, no CF error was thrown or logged.

 

We added logging, text and an ABORT just to be safe.  Since the process doesn't stop because of the error, we wanted to be 100% sure that the CATCH aborted and didn't continue with any logic that may follow the CFContent-download.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 23, 2020 Jan 23, 2020

Copy link to clipboard

Copied

LATEST

Sure, when CFCONTENT runs it aborts the connection. So, now you have another abort connection request right after that. I don't think it should affect most clients, but at the level of TCP SYN and ACK messages being sent between the client and server I'm not sure what would happen. That's the only reason I suggested removing the plain text and CFABORT.

 

Dave Watts, Eidolon LLC

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation