0

A websphere 6.1 server is running a struts application that seems to be working fine. In the logs, however, I'm seeing the following error message, which is being continually emailed to the support staff.

[3/16/10 15:42:08:089 CDT] 00000023 SystemOut     O FATAL - [03-16-2010 15:42:08] root: The following page could not be found in the Web Administration application. The stack trace follows: 

com.ibm.ws.webcontainer.webapp.WebAppErrorReport: SRVE0190E: File not found: {0}
at com.ibm.ws.webcontainer.webapp.WebAppDispatcherContext.sendError(WebAppDispatcherContext.java:536)
at com.ibm.ws.webcontainer.srt.SRTServletResponse.sendError(SRTServletResponse.java:930)
at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:524)
at com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:111)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)

I can narrow down the issue to a single Action and JSP, which are too big to show here, but here's the action definition in struts-config.xml:

    <action
            path="/HappyDefaultThing"
            name="HappyDefaultThingActionForm"
            type="com.foo.webadministration.action.HappyDefaultThingAction"
            validate="true"
            input="/WaAssignDefaultHappyThing.jsp"
            scope="session">
            <forward name="success" path="/WaAssignDefaultHappyThing.jsp"/>
            <forward name="failure" path="/WaAssignDefaultHappyThing.jsp"/>
    </action>

As far as I can see, nothing is missing, and everything necessary is being found, but the logs say "File not found: {0}"

What is "{0}"?? The stack trace only shows IBMs code, which I can't see the source of, and therefore can't trace.

Is this a bug in the websphere code? I'd appreciate any help.

Eric the Red
  • 5,364
  • 11
  • 49
  • 63
  • The `{0}` is recognizeable as a MessageFormat placeholder which wasn't filled in (because there's no value for that): http://java.sun.com/javase/6/docs/api/java/text/MessageFormat.html At first glance it smells like a WS bug. Did you install the latest patches? – BalusC Mar 16 '10 at 20:43
  • And is there nothing on the log files? – Buhake Sindi Mar 16 '10 at 20:59
  • @The Elite Gentleman I'm using log4j.appender.defappend=org.apache.log4j.ConsoleAppender so my console is essentially the log. – Eric the Red Mar 16 '10 at 21:20
  • @Eric, so what `Level` (logging) are you displaying? ALL, ERROR, WARN, FATAL, DEBUG, INFO (not in order, i know)? – Buhake Sindi Mar 16 '10 at 21:22
  • @BalusC Unfortunately I'm in a controlled corporate environment that can't patch WS any time soon. – Eric the Red Mar 16 '10 at 21:23
  • Judging the stacktrace it look like that WS internally encountered an error and is trying to send it to the error page and finally cannot find any error page to display the appropriate error. – BalusC Mar 16 '10 at 21:33
  • @The Elite Gentleman I'm displaying ALL, and this is the only detail I'm getting. – Eric the Red Mar 16 '10 at 21:38
  • Well, what I can tell you it's not the Struts definition that's the problem else you'll have seen Struts exceptions here. Btw (irrelevant), why is the action have `session` scope? There must be something done inside an action that is dispatching to a non-existent forward or a forward which has a file path that doesn't exist. Check what the action is doing. I'm assuming your action extends `Action`. – Buhake Sindi Mar 16 '10 at 21:50
  • @The Elite Gentleman Yes, it extends Action. The class is a fairly typical small Action that makes calls to a DAO and sends changes to a JSP with an ActionForm. Not sure why it's in the session scope. (I'm not the original author) The stack trace above only shows up when we view this page. While I agree that it doesn't seem to be directly caused by Struts, what else might be able to make this happen? – Eric the Red Mar 17 '10 at 23:04
  • Does `/WaAssignDefaultHappyThing.jsp` exist on the server and is it pointed correctly? – Buhake Sindi Mar 18 '10 at 00:39

2 Answers2

0

Let's start from the beginning. We need to identify the root cause of the problem. You gave us the exception but left out the cause. Can you please post the error that comes after the exception? You'll see the following message

  • Error Page Exception:
  • Error Code:
  • Target Servlet:
  • Error Stack:
Buhake Sindi
  • 87,898
  • 29
  • 167
  • 228
  • I've updated the stack trace in my original post with every single bit of info given to me in the console. There is no error page, as all of the pages show up as though there are no exceptions. – Eric the Red Mar 16 '10 at 20:50
0

As mentioned by Elite Gentleman, i would expect to see a lot more in the logs than what you have shown here.

https://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.messages.doc/com.ibm.ws.webcontainer.resources.Messages.html

FYI: Look at this URL (shown above) for information on the Servlet/Web Container error messages. In this case, it is clear that the Web Container is not able to service out a file.

How did you narrow down the issue to a struts component? The reason i am asking you is this, i don't see any Struts code in the stack trace that you have provided. This effectively implies that this error message is not related to your struts application (or at least the error has occurred prior to the control reaching your struts/web application.

Manglu

Manglu
  • 10,744
  • 12
  • 44
  • 57
  • The stack trace above reliably only shows up the instant that we view this page. While I agree that it doesn't seem to be directly caused by Struts, what else might be able to make this happen? How can I track down the source of the error? – Eric the Red Mar 17 '10 at 23:07
  • Is there anything web request that is spawned by your struts application? There could be some calls in your JSPs or other web components that initiate the request. – Manglu Mar 25 '10 at 04:12