This discussion is archived
13 Replies Latest reply: Jun 27, 2012 9:56 PM by SantoshVaza RSS

oracle.adf.controller.internal.AdfcIllegalStateException:

SantoshVaza Expert
Currently Being Moderated
Hi folks,

jdeveloper 11.1.1.5.0 adfbc

I having a page fragment within a dynamic region, in that fragment i have a button that opens other page(jspx page within tf) as dialog using 'dialog:xxx' action,
every thing works fine but sometimes(not frequently) when user returns from opened dialog it gives following exception to user
<ControllerState> <synchronizeStatePart2> 
oracle.adf.controller.internal.AdfcIllegalStateException: oracle.adf.controller.ControllerException: ADFC-12000: State ID in request is invalid for the current session.
     at oracle.adfinternal.controller.state.ControllerState.synchronizeStatePart2(ControllerState.java:518)
     at oracle.adfinternal.controller.application.SyncNavigationStateListener.afterPhase(SyncNavigationStateListener.java:48)
     at oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.afterPhase(ADFLifecycleImpl.java:531)
     at oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchAfterEvent(LifecycleImpl.java:120)
     at oracle.adfinternal.controller.lifecycle.LifecycleImpl.dispatchAfterPagePhaseEvent(LifecycleImpl.java:168)
     at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.dispatchAfterPagePhaseEvent(ADFPhaseListener.java:131)
     at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:74)
     at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.afterPhase(ADFLifecyclePhaseListener.java:53)
     at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:399)
     at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
     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.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
     at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
     at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at com.adfutils.filter.SessionExpiredFilter.doFilter(SessionExpiredFilter.java:199)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at nagiworld.net.filters.gzip.GZIPFilter.doFilter(GZIPFilter.java:115)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
     at java.security.AccessController.doPrivileged(Native Method)
     at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
     at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
     at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
     at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
     at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
     at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
     at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
     at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
     at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Some times it happens frequently also....
It is not show stopper bug, but still it feels uncomfortable for users to work with..
Can any one please give some suggestions for this...


Thanks & Regards,
Santosh.
  • 1. Re: oracle.adf.controller.internal.AdfcIllegalStateException:
    Frank Nimphius Employee ACE
    Currently Being Moderated
    Hi,

    have you tried using an inline dialog. Instead of using dialog:<flow> which I doubt is a good idea to use from a page fragment (dynamic region) you would use a task flow call activity as documented here:


    See; 19.2 Running a Bounded Task Flow in a Modal Dialog

    http://docs.oracle.com/cd/E23943_01/web.1111/b31974/taskflows_dialogs.htm#BABEHJFH


    Frank
  • 2. Re: oracle.adf.controller.internal.AdfcIllegalStateException:
    SantoshVaza Expert
    Currently Being Moderated
    Hi,

    i already tried your suggestion.. and working well..
    have you tried using an inline dialog. Instead of using dialog:<flow> which I doubt is a good idea to use from a page fragment (dynamic region)
    Is this a Bug???


    Regards,
  • 3. Re: oracle.adf.controller.internal.AdfcIllegalStateException:
    SantoshVaza Expert
    Currently Being Moderated
    Hi Frank,,
    i already tried your suggestion.. and working well..
    sorry.... it didnot solved my issue....
    any one please..
  • 4. Re: oracle.adf.controller.internal.AdfcIllegalStateException:
    SantoshVaza Expert
    Currently Being Moderated
    Hi All,

    It also gives following exception..
    <RegistrationConfigurator> <handleError> ADF_FACES-60096:Server Exception during PPR, #3
    java.lang.NullPointerException
         at oracle.adfinternal.controller.application.AdfcDirtyPageHandler.getUncommittedDataWarning(AdfcDirtyPageHandler.java:38)
         at oracle.adfinternal.view.faces.context.DirtyPageContextImpl$1.invokeContextCallback(DirtyPageContextImpl.java:74)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1410)
         at oracle.adf.view.rich.component.rich.RichDocument.invokeOnComponent(RichDocument.java:168)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:720)
         at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:678)
         at oracle.adfinternal.view.faces.context.DirtyPageContextImpl.initDirtyPageContext(DirtyPageContextImpl.java:58)
         at oracle.adfinternal.view.faces.context.RichPhaseListener.beforePhase(RichPhaseListener.java:252)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:279)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         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.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at com.adfutils.filter.SessionExpiredFilter.doFilter(SessionExpiredFilter.java:199)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at nagiworld.net.filters.gzip.GZIPFilter.doFilter(GZIPFilter.java:115)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
  • 5. Re: oracle.adf.controller.internal.AdfcIllegalStateException:
    Sahar Hassan Explorer
    Currently Being Moderated
    Try removing default OK button of your dialog and handle it programmatically
  • 6. Re: oracle.adf.controller.internal.AdfcIllegalStateException:
    SantoshVaza Expert
    Currently Being Moderated
    Try removing default OK button of your dialog and handle it programmatically
    there is no ok button...
  • 8. Re: oracle.adf.controller.internal.AdfcIllegalStateException:
    Sahar Hassan Explorer
    Currently Being Moderated
    http://one-size-doesnt-fit-all.blogspot.in/2011/10/pageflowscope-with-unbounded-task-flows.html
  • 9. Re: oracle.adf.controller.internal.AdfcIllegalStateException:
    SantoshVaza Expert
    Currently Being Moderated
    quote from article
    (Side note: Behind the scenes the server is smart enough to check the session parameters against the previous known connection/session to stop intruders impersonating another user's session ... you can test this by >intercepting the next request before it goes out and changing the _adf.ctrl-state parameter before it hits the server. ADF will complain displaying the following error message "ADFC-12000: State ID in request is invalid for the >current session.")
    But why it is hapenning in my case.....???
    where i am not opening any new browser tab....
  • 11. Re: oracle.adf.controller.internal.AdfcIllegalStateException:
    SantoshVaza Expert
    Currently Being Moderated
    Hi All,

    finally i solved it by having a custom exception handler and supressing this error..
    have a look !!
    package beans;
    
    import javax.faces.context.FacesContext;
    import javax.faces.event.PhaseId;
    
    import oracle.adf.view.rich.context.ExceptionHandler;
    
    public class CAISControllerExceptionHandler extends ExceptionHandler {
        public CAISControllerExceptionHandler() {
            super();
        }
    
        public void handleException(FacesContext facesContext, Throwable throwable, PhaseId phaseId) throws Throwable {
            String error_message;
            error_message = throwable.getMessage();
            if(error_message == null)
                return;
            //supress exception
            //ADFC-12000: State ID in request is invalid for the current session.
            //cannot register active data when window has no name
            if(error_message.indexOf("ADFC-12000") >= 0 || error_message.indexOf("ADF_FACES-30013") >= 0){
                //do nothing
            }
            else{
                throw throwable;
            }
        }
    }
    Any suggestions appreciated..

    Regards
  • 12. Re: oracle.adf.controller.internal.AdfcIllegalStateException:
    vinod_t_krishnan Guru
    Currently Being Moderated
    is this happening with the ie8 or ie9 compatibility mode?.. if this is related to session timeout did u try increasing the time
  • 13. Re: oracle.adf.controller.internal.AdfcIllegalStateException:
    SantoshVaza Expert
    Currently Being Moderated
    Hi,

    As i can easily save the data and do every thing, all row currency is maintained by appln.. So i can guess that session is not getting timedout.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points