Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.2.4
-
None
-
None
-
Operating System: All
Platform: PC
-
32370
Description
In FacesRequestProcessor.doForward() (as well as FacesTilesRequestProcessor), if
the call to lifecycle.render(context) throws an exception, then the context is
never given a chance to be released, resulting in an invalid FacesContext being
pegged to the executing thread.
The following code:
======== SNIP ========
lifecycle.render(context);
if (created) {
if (log.isTraceEnabled())
context.release();
} else {
if (log.isTraceEnabled())
}
======== /SNIP ========
Should probably be changed to something like:
======== SNIP ========
try
finally {
if (created) {
if (log.isTraceEnabled())
context.release();
} else {
if (log.isTraceEnabled())
}
}
======== /SNIP ========