[frs-216] Hotfix FR-1623: You receive exceptions “Illegal State Exception” and “Closed IO Exception – Response Has Been Closed”

Hotfix 1623 for FusionReactor 3.0.1 – Description

This technote describes a fix for a condition under which you may receive the following exceptions in the JRun standard error log:

java.lang.IllegalStateException

followed by

jrun.servlet.io.ClosedIOException: Response has been closed

Symptoms

The issue occurs when JRun4 re-introduces a Java servlet request into itself, to satisfy one of the following conditions:

  • A servlet obtains an instance of the platform request dispatcher, and uses that to forward or include a subsequent URL
  • A JSP or Java application uses a framework which performs this action (e.g. Struts logic:redirect, JSP pageContext.forward(...), ColdFusion getPageContext.forward(...) or .include(...))
  • A servlet (JSP, CF etc.) client performs forwarding or includes a URL which does not contain a page name, and the container reintroduces the request in order to satisfy the "Welcome File List" directive (in which the engine searches for, e.g. index.html, index.jsp, index.cfm etc.)

After experiencing this error, the thread in which the error occurs becomes invalid, and subsequent requests may receive a correct response, a blank web page, or one containing an error.

This issue has been shown to occur on FusionReactor installations located on JRun4 platforms on Windows XP Pro 32-bit, but may not be limited to this platform.

Analysis

This issue occurs when the servlet platform attempts to re-run filters on requests which are being reprocessed during forward or include operations. A small change in the way FusionReactor 3.0.1 handles streams may expose this issue.

After the exception occurs, the JRun thread in which it occurred becomes stale. If it is reused for a subsequent request, further exceptions are logged.

Resolution

Customers experiencing this issue with FusionReactor 3.0.1 only should apply the attached Hotfix 1623, which resolves the issue.

Instructions for applying the hotfix are supplied in instructions.txt within the hotfix zip file.

Hotfixes are cumulative: any future hotfixes on the FusionReactor 3.0.1 stream, up to but not including the next point release, will contain this hotfix (and all earlier hotfixes since the last point release).

Files

hotfix-fr-1623.FR-FR301-12052.zip

Taxonomy

After installation, FusionReactor's "About" page should identify itself as Revision: 3.0.1, Build: FR-FR301.1.12052.

Hotfix FR 1623 – obf. (Stream: branch FR301, build 1, SVN 12052)

Issue Details

Type: Technote
Issue Number: FRS-216
Components: Request Managment
Environment:
Resolution: Fixed
Last Updated: 12/Dec/08 4:43 PM
Affects Version: 3.0.1
Fixed Version: 3.0.1
Server:
Platform:
Related Issues:

Comments are closed.