Accessibility

TechNote (Archived)

Windows NT 109, Windows NT 232 errors are reported in the server log

This article applies to users experiencing Windows NT 109 and Windows NT 232 error messages in their Server Logs. These errors are benign but indicate a performance problem with your web site. This TechNote describes possible causes for these errors and how to troubleshoot them.

The error messages typically occur in one of the following ways:

For Windows NT error number 109: The pipe has been ended
For Windows NT error number 232: The pipe is being closed

These error messages generally occur when the user hits the Back or Refresh button in their browser. The error messages are benign, but can indicate one of the following problems:

  • The pages are not performing very well.
  • The website has too much load.
  • The database you are connecting to is down or unresponsive.
  • Users are waiting longer than their level of tolerance (longer than x seconds) for the website to load in their browsers.

ColdFusion Server uses a pipe to connect to the database. If the database is down and not taking requests, or is unresponsive, ColdFusion Server will not be able to access the database. Instead, it writes the 109 and 232 error messages in the Server log. In the case of socket-based connections, the user may also experienceConnection reset by peer errors for the same reason. Likewise, Unix users may experience a similar error: Error 104 Connection reset by peer.

Solution:

Although the error messages are benign, they indicate a performance issue caused by coding within the website. Most importantly, you should log slow running pages. This will allow you to determine the exact blocks of code responsible for the long run time.

  1. Enable the logging of slow or unresponsive pages in your ColdFusion Administrator.
  2. Determine whether the long running page should run as long as it is running. For instance, queries should take no longer than 300ms to run. Ideally, they should run 10-100ms for the web environment. If you have queries that are taking longer to run, optimize them with the help of a database administrator.
  3. Use the gettickcount() function to time a particular section of the template. You can use this function, for instance, to figure out if an included template is taking a long time to process compared to its calling template.
  4. For pages that should run long for appropriate reasons, append the following query string to the URL, such as?requesttimeout=xxx, where xxx is the amount of seconds allotted for the page to timeout.

Additional Information


Related TechNotes:


AlertThis content requires Flash

To view this content, JavaScript must be enabled, and you need the latest version of the Adobe Flash Player.

Download the free Flash Player now!

Get Adobe Flash Player

Creative Commons License

Search Support


Document Details

ID:tn_18156
Browser:Chrome
Internet Explorer
Netscape
Opera
Safari
Firefox
Database:DB2
Informix
MySQL
Oracle
SQL Server
Sybase
MS Access

Products Affected: