adfemg
  1. adfemg
  2. ADFEMG-39

Run large ADF jspx page in debug mode, get error "java.lang.InternalError: name is too long to represent"

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Labels:
      None
    • Environment:

      Originally encountered on JDeveloper 11.1.1.6 on Mac OS X 10.7.4.

      Description

      Running an ADF app from JDeveloper in debug mode, when navigating to an ADF jpsx page over a certain size the following error appears:

      <LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase RENDER_RESPONSE 6
      javax.faces.FacesException: javax.servlet.ServletException: java.lang.InternalError: name is too long to represent
      	at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415)
      	at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
      	at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
      	at oracle.adfinternal.view.faces.config.rich.RecordRequestAttributesDuringDispatch.dispatch(RecordRequestAttributesDuringDispatch.java:44)
      	at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
      	at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
      	at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
      	at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267)
      	at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:469)
      	at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)
      	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
      	at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
      	at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:911)
      	at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:367)
      	at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:222)
      	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
      	at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      	at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      	at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
      	at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
      	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      	at oracle.adf.share.http.ServletADFFilter.doFilter(ServletADFFilter.java:62)
      	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      	at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
      

      Browser is blank.

      When the same actions are performed not in debug mode, no error appears and the page works as expected.

      According to MOS note 1076679.1,

      This is a bug in the Sun JDK, and, as such, there is not a specific fix from Weblogic. There are a few suggestions for workarounds:

      • Break up the large JSP to compile separately and put together with 'include' tags
      • Compile with JRockit, which does not have this issue
      • Compile without -Xdebug

      I believe JRockit is not recommended to be used in development. I resolved the issue by partitioning my page using jsp:include and fragments, reducing its size.

        Activity

        Hide
        duncanmills added a comment -

        Is this page composed of regions & task flows or is it just one big page assembled with jsp:includes?
        The problem with the latter approach is that you'll have to do a lot more work in the future if you want to migrate off the JSP engine onto Facelets.

        Show
        duncanmills added a comment - Is this page composed of regions & task flows or is it just one big page assembled with jsp:includes? The problem with the latter approach is that you'll have to do a lot more work in the future if you want to migrate off the JSP engine onto Facelets.
        Hide
        Kevin Angus added a comment -

        Hi Duncan,

        It was previously just a large, page with neither regions nor includes. I do use task flows as popups but the main functionality of the page is complex and doesn't necessarily suit the use of regions.

        I have a number of popups defined in the page under the af:form element so I simply moved them all into a fragment file referenced by an include, to see if it worked around the bug. It did so I am happy for the moment but will plan in time to look at further refactoring the page, perhaps with regions if I identify any opportunities for this.

        Cheers,

        Kevin

        Show
        Kevin Angus added a comment - Hi Duncan, It was previously just a large, page with neither regions nor includes. I do use task flows as popups but the main functionality of the page is complex and doesn't necessarily suit the use of regions. I have a number of popups defined in the page under the af:form element so I simply moved them all into a fragment file referenced by an include, to see if it worked around the bug. It did so I am happy for the moment but will plan in time to look at further refactoring the page, perhaps with regions if I identify any opportunities for this. Cheers, Kevin
        Hide
        duncanmills added a comment -

        Another issue is to look for repetition on the page. That may indicate the opportunity to use some declarative components or iteration to cut down on the duplication.
        My gut feeling is that if the page is getting this large there is something wrong in some way - either in the required design / information density which may not be your fault or some issue of duplication as above.
        The last time I encountered this issue it was a duplication problem and everything was so much easier to maintain once we're derived a declarative component to represent that information in a simple concise tag.

        Show
        duncanmills added a comment - Another issue is to look for repetition on the page. That may indicate the opportunity to use some declarative components or iteration to cut down on the duplication. My gut feeling is that if the page is getting this large there is something wrong in some way - either in the required design / information density which may not be your fault or some issue of duplication as above. The last time I encountered this issue it was a duplication problem and everything was so much easier to maintain once we're derived a declarative component to represent that information in a simple concise tag.
        Hide
        Kevin Angus added a comment -

        I already use a lot of iteration actually. It is a very functionally rich screen for advanced users so will always be on the large side I suspect. The page has to some extent evolved to this size as more features have been added. I believe I have implemented these features in an efficient manner, however, I take your point, the potential for refactoring is no doubt there. I will include adding declarative components as something to look into during this process. Cheers.

        Show
        Kevin Angus added a comment - I already use a lot of iteration actually. It is a very functionally rich screen for advanced users so will always be on the large side I suspect. The page has to some extent evolved to this size as more features have been added. I believe I have implemented these features in an efficient manner, however, I take your point, the potential for refactoring is no doubt there. I will include adding declarative components as something to look into during this process. Cheers.
        Hide
        chriscmuir added a comment -

        If there's no update to this issue in a week's time I'll close it as resolved.

        CM.

        Show
        chriscmuir added a comment - If there's no update to this issue in a week's time I'll close it as resolved. CM.
        Hide
        chriscmuir added a comment -

        Issue closed.

        Show
        chriscmuir added a comment - Issue closed.

          People

          • Assignee:
            Unassigned
            Reporter:
            Kevin Angus
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: