Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What harm is caused by java.lang.IllegalStateException: Response already committed

I continuously get below error on my weblogic 10.3 console logs

java.lang.IllegalStateException: Response already committed
at weblogic.servlet.internal.ServletResponseImpl.objectIfCommitted(ServletResponseImpl.java:
1462)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:601)
at org.apache.struts.action.RequestProcessor.processMapping(RequestProcessor.java:658)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:193)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)

Truncated. see log file for complete stacktrace

I was wondering what harm is caused by this if left unfixed ? This error has been in my app before I joined the team, is this serious enough to qualify as "Needs immediate fix" ?

like image 647
Ravi Gupta Avatar asked Jan 06 '10 10:01

Ravi Gupta


1 Answers

Struts is open source. Just check the RequestProcessor source prior to line 658 (as noted in stacktrace):

// No mapping can be found to process this request
String msg = getInternal().getMessage("processInvalid", path);
log.error(msg);
response.sendError(HttpServletResponse.SC_NOT_FOUND, msg);

See the comment: No mapping can be found to process this request. That's the root cause of the problem. But the sendError() call to display an error message cannot be completed as well, because the response is already committed. Apparently there are two things a failure: there's a mapping missing and the default work of Struts mapping has been taken over programmatically in an incorrect manner.

like image 64
BalusC Avatar answered Dec 31 '22 19:12

BalusC