Wednesday, October 2, 2013

Webcenter Portal MDS Error: MDS-00168: MDS object oracle.mds.core.MDSInstance@2ba79b5 is being used after it or its MDSInstance or PManager has been released.

Because of cited below error I can't sleep last days:)

[2013-10-01T15:02:21.093+02:00] [WC_Portal1] [NOTIFICATION] [] [oracle.webcenter.framework.service] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: S5346] [ecid: 85a78414c7dd2b93:8c4d4b8:14173cb601b:-8000-00000000000027f9,0] [APP: WiPortal_application1] [DSID: 0000K5o674pCwk85njP5iZ1IIfCB00005b] Ścieżka wymaganego zasobu: /oracle/webcenter/portalapp/shared/js/jquery.ui.sortable.js
[2013-10-01T15:02:21.093+02:00] [WC_Portal1] [ERROR] [] [org.apache.myfaces.trinidad.webapp.ResourceServlet] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: S5346] [ecid: 85a78414c7dd2b93:8c4d4b8:14173cb601b:-8000-00000000000027f9,0] [APP: WiPortal_application1] [DSID: 0000K5o674pCwk85njP5iZ1IIfCB00005b] An Exception occured in ResourceServlet.service().[[
  request.pathTranslated:C:\oracle\fmw\user_projects\domains\WI\servers\WC_Portal1\tmp\_WL_user\WiPortal_application1\2qz9by\war\js\jquery.ui.sortable.js
  request.requestURI:/wi/oracle/webcenter/portalapp/shared/js/jquery.ui.sortable.js
  FacesContext: org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$CacheRenderKit@2612948
  ServletContext: ServletContext@35122915[app:WiPortal_application1 module:mir path:/mir spec-version:2.5]
 oracle.mds.exception.MDSRuntimeException: MDS-00168: MDS object oracle.mds.core.MDSInstance@2ba79b5 is being used after it or its MDSInstance or PManager has been released.
    at oracle.mds.core.MDSInstance.checkNotReleased(MDSInstance.java:1600)
    at oracle.mds.core.MDSInstance.getPersistenceManager(MDSInstance.java:906)
    at oracle.mds.core.MDSSession.getPersistenceManager(MDSSession.java:2792)
    at oracle.mds.internal.net.AbstractOraMDSURLConnection.getLastModified(AbstractOraMDSURLConnection.java:435)
    at oracle.mds.internal.net.OraMDSURLConnection.getLastModified(OraMDSURLConnection.java:127)
    at org.apache.myfaces.trinidad.util.URLUtils.getLastModified(URLUtils.java:86)
    at org.apache.myfaces.trinidad.util.URLUtils.getLastModified(URLUtils.java:46)
    at org.apache.myfaces.trinidad.webapp.ResourceServlet.getLastModified(ResourceServlet.java:261)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:703)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.apache.myfaces.trinidad.webapp.ResourceServlet.service(ResourceServlet.java:166)
    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:301)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:181)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.wcps.client.PersonalizationFilter.doFilter(PersonalizationFilter.java:74)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.webcenter.content.integration.servlets.ContentServletFilter.doFilter(ContentServletFilter.java:168)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
    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:2273)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

]]
[2013-10-01T15:02:21.124+02:00] [WC_Portal1] [NOTIFICATION] [] [oracle.webcenter.framework.service] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: S5346] [ecid: 85a78414c7dd2b93:8c4d4b8:14173cb601b:-8000-00000000000027fb,0] [APP: WiPortal_application1] [DSID: 0000K5o674pCwk85njP5iZ1IIfCB00005b] Ścieżka wymaganego zasobu: /oracle/webcenter/portalapp/shared/js/jquery.metroui.js
[2013-10-01T15:02:21.124+02:00] [WC_Portal1] [ERROR] [] [org.apache.myfaces.trinidad.webapp.ResourceServlet] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: S5346] [ecid: 85a78414c7dd2b93:8c4d4b8:14173cb601b:-8000-00000000000027fb,0] [APP: WiPortal_application1] [DSID: 0000K5o674pCwk85njP5iZ1IIfCB00005b] An Exception occured in ResourceServlet.service().[[
  request.pathTranslated:C:\oracle\fmw\user_projects\domains\WI\servers\WC_Portal1\tmp\_WL_user\WiPortal_application1\2qz9by\war\js\jquery.metroui.js
  request.requestURI:/wi/oracle/webcenter/portalapp/shared/js/jquery.metroui.js
  FacesContext: org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$CacheRenderKit@2654905
  ServletContext: ServletContext@35122915[app:WiPortal_application1 module:mir path:/mir spec-version:2.5]
 oracle.mds.exception.MDSRuntimeException: MDS-00168: MDS object oracle.mds.core.MDSInstance@2ba79b5 is being used after it or its MDSInstance or PManager has been released.
    at oracle.mds.core.MDSInstance.checkNotReleased(MDSInstance.java:1600)
    at oracle.mds.core.MDSInstance.getPersistenceManager(MDSInstance.java:906)
    at oracle.mds.core.MDSSession.getPersistenceManager(MDSSession.java:2792)
    at oracle.mds.internal.net.AbstractOraMDSURLConnection.getLastModified(AbstractOraMDSURLConnection.java:435)
    at oracle.mds.internal.net.OraMDSURLConnection.getLastModified(OraMDSURLConnection.java:127)
    at org.apache.myfaces.trinidad.util.URLUtils.getLastModified(URLUtils.java:86)
    at org.apache.myfaces.trinidad.util.URLUtils.getLastModified(URLUtils.java:46)
    at org.apache.myfaces.trinidad.webapp.ResourceServlet.getLastModified(ResourceServlet.java:261)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:703)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.apache.myfaces.trinidad.webapp.ResourceServlet.service(ResourceServlet.java:166)
    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:301)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:181)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.wcps.client.PersonalizationFilter.doFilter(PersonalizationFilter.java:74)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.webcenter.content.integration.servlets.ContentServletFilter.doFilter(ContentServletFilter.java:168)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
    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:2273)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

]]

After small investigation I found some infos regarding identical error with suggestion, that this error can occur in development stage in JDeveloper when the project is run many times without restarting the integrated WebLogic server.

The main cause is know issue:

"To initialize the ADFShare components in a web environment the oracle.adf.share.http.ServletADFContext must be initialized per request. Normally, this is achieved because the jdev design time adds the ADFBindingFilter to the project web.xml when certain actions are taken (like creating a binding on a page). However, it is still possible to use the ADFContext without this design time support. The ServletADFFilter must be used for correct use of ADFContext. ServletADFFilter specifically setup ServletADFContext properly at the start of the request. The ADFBindingFilter does that and other stuff also."

The suggested solution is to add the definition for the ServletADFContextFilter to web.xml:

...
<filter>
  <filter-name>ServletADFContextFilter</filter-name>
  <filter-class>oracle.adf.share.http.ServletADFFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>ServletADFContextFilter</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
</filter-mapping>
...  

But. In my case error occurs in environment not integrated with JDeveloper, in Webcenter Portal managed server. What a more, MDS domain is cleared before each deployment.

If I will find any solution, I will share it with you. But now my problem is not solved.

2 comments:

  1. Hi Mariusz,

    did you find a solution to this problem?

    ReplyDelete
  2. Hello. I had this error some time ago. Ashamed to admit, I solved this issue, but how ... don't remember just now. I have to try to find solution in my notes.

    ReplyDelete