The simple job....



  • Sometimes you get in interesting look into the life of other programmers quite unexpectantly. When browsing around you think you are looking at a fairly simple TV guide - but then suddenly you get an insight into the griefs that some poor souls is having:

      
    com.bea.portlet.adapter.scopedcontent.ActionLookupFailedException: javax.servlet.ServletException
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:699)
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:144)
    at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.processAction(PageFlowStubImpl.java:115)
    at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:99)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:180)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:168)
    at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:224)
    at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:178)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:351)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:128)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:339)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:330)
    at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:169)
    at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:137)
    at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:370)
    at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:221)
    at com.bea.netuix.servlets.manager.UIServlet.doGet(UIServlet.java:195)
    at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:180)
    at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:188)
    at com.bea.netuix.servlets.manager.PortalServlet.service(PortalServlet.java:600)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:230)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3231)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1862)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    Caused by: javax.servlet.ServletException
    at org.apache.beehive.netui.util.internal.ServletUtils.throwServletException(ServletUtils.java:164)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:580)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:851)
    at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:630)
    at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1128)
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:688)
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:144)
    at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.processAction(PageFlowStubImpl.java:115)
    at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:99)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:180)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:168)
    at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:224)
    at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:178)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:351)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:128)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:339)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:330)
    at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:169)
    at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:137)
    at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:370)
    at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:221)
    at com.bea.netuix.servlets.manager.UIServlet.doGet(UIServlet.java:195)
    at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:180)
    at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:188)
    at com.bea.netuix.servlets.manager.PortalServlet.service(PortalServlet.java:600)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    Caused by: java.lang.NullPointerException
    at portlets.tvguide.resultPresentation.ResultPresentationController.selectMyChannelsAction(ResultPresentationController.java:600)
    at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;J)Ljava.lang.Object;(Unknown Source)
    at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:887)
    at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:808)
    at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:477)
    at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:305)
    at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:335)
    at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:51)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:95)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2042)
    at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:63)
    at org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptor.wrapAction(ActionInterceptor.java:167)
    at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.invoke(ActionInterceptors.java:49)
    at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:63)
    at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:86)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2054)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:554)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:851)
    at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:630)
    at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1128)
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:688)
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:144)
    at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.processAction(PageFlowStubImpl.java:115)
    at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:99)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:180)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:168)
    at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:224)
    at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:178)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:351)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
     


    I apologize on beforehand to the programmers resposible for this. Your problems must already be huge, judging by this stack trace.

     The list is long - pick your favorite WTF.



  • what's the problem?  so it's a long stack trace, this sort of thing happens when dealing with client-server code.



  • @tster said:

    what's the problem?  so it's a long stack trace, this sort of thing happens when dealing with client-server code.

     

    I agree, I don't see anything severly out of place here. A little long, yes. But if you remove the recursive stuff, it is pretty normal looking.



  • @sh0dan said:

    The list is long - pick your favorite WTF.

    My favorite is com.bea.netuix.nf.ControlTreeWalker.walk which calls com.bea.netuix.nf.ControlTreeWalker.walkRecursive. Why that is my favorite? Because at the moment I read that I stopped reading any further.



  • That's tiny.  On the application I'm working, I've gotten stack traces that run for thousands of lines.  Most of it is crap that you can ignore, because it's all framework that you're not going to touch.  You just need to find where in your code it's coming from. 



  • I agree mostly. The trace seems to reach into the underlying frameworks as well, with which the developers of this certain application have probably nothing to do with them.

    One place with WTF potential seems to be this though:


    	at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:339)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:330)

    A single function calling itself recursively at three different places? Looks suspiciously like the DoAnything(String command) design paradigm to me. 



  • This is easy to fix. Just change any catch blocks you find to:

    Catch( Exception ex)

    {

       Throw ex;

    }

    Done. No more nasty stack trace!

    EDIT: Yeah, I know it may not be valid Java. I don't care about Java.



  • @MasterPlanSoftware said:

    EDIT: Yeah, I know it may not be valid Java. I don't care about Java.

     

    It's no fun when you correct yourself!  How are we supposed to judge you?  Anyway, having not used C#, does rethrowing really reset the stack trace?



  • @bstorer said:

      Anyway, having not used C#, does rethrowing really reset the stack trace?
     

    Yes. Instead, if you need to rethrow, you should just use: throw;



  • @MasterPlanSoftware said:

    @bstorer said:

      Anyway, having not used C#, does rethrowing really reset the stack trace?
     

    Yes. Instead, if you need to rethrow, you should just use: throw;

     

    Wow, The Daily WTF: not just for mocking Spectate Swamp, but also for learning. 



  •  Looks like a big chunk of it is just client-side rendering components. Have you ever had a JSP exception? The stack trace is hudge... Hell for that matter have you ever had problems in action classes? You got your standard apache traces, followed by struts traces, fullowed by spring (if you use it) followed by your classes and god forbid you use a major framework anywhere in there...

    Don't judge a program by the size of it's stack trace :P



  • @PSWorx said:

    A single function calling itself recursively at three different places? Looks suspiciously like the DoAnything(String command) design paradigm to me.

    What's wrong with parametrizing functional behavior? Automatically generated dispatch tables/trees are a great tool (though admittedly that's more of a "dynamic language" construct). And you still occasionally need plain old dispatch tables.



  • @PSWorx said:

    I agree mostly. The trace seems to reach into the underlying frameworks as well, with which the developers of this certain application have probably nothing to do with them.

    One place with WTF potential seems to be this though:


    	at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:339)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:330)

    A single function calling itself recursively at three different places? Looks suspiciously like the DoAnything(String command) design paradigm to me. 

     

    Overloaded methods?

     



  • @cconroy said:

    @PSWorx said:

    I agree mostly. The trace seems to reach into the underlying frameworks as well, with which the developers of this certain application have probably nothing to do with them.

    One place with WTF potential seems to be this though:


    	at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:339)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:330)

    A single function calling itself recursively at three different places? Looks suspiciously like the DoAnything(String command) design paradigm to me. 

     

    Overloaded methods?

     

    That is what came to my mind when I saw that. I don't see anything outside the norm in this stack trace.

    Maybe it was the first time the OP saw a stack trace?



  • @cconroy said:

    Overloaded methods?

    Touchê. My apologies for being stupid. 



  • @MasterPlanSoftware said:

    Maybe it was the first time the OP saw a stack trace?

     

    Indeed, I've written applications that have thrown longer ones.

     For those interested in how to handle exceptions in C# without blowing the stack trace, read here:

    http://www.winterdom.com/weblog/PermaLink,guid,154.aspx 



  • @MasterPlanSoftware said:

    This is easy to fix. Just change any catch blocks you find to:

    Catch( Exception ex)

    {

       Throw ex;

    }

    Done. No more nasty stack trace!

    EDIT: Yeah, I know it may not be valid Java. I don't care about Java.

    Actually it's not too bad.  just lowercase all of your reserved words.

    OR say it was pseudocode. 



  • @belgariontheking said:

    @MasterPlanSoftware said:

    This is easy to fix. Just change any catch blocks you find to:

    Catch( Exception ex)

    {

       Throw ex;

    }

    Done. No more nasty stack trace!

    EDIT: Yeah, I know it may not be valid Java. I don't care about Java.

    Actually it's not too bad.  just lowercase all of your reserved words.

    OR say it was pseudocode. 

     

    Yeah, not sure if or why I capitalized those. That was meant to be C#, and don't think I have ever made that mistake before... Next time I will try and switch my noggin out of forum mode.


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.