jueves, 26 de noviembre de 2015

11.1.1.8.8 STUCK Thread UPDATEVIEWIDTOTABSMAPFORCURRENTNODE

During the review of Oracle WebCenter Portal 11.1.1.8.8 platform we identified that WC_Spaces was having STUCK threads.


STUCK Threads identified in WC_Spaces


Checking the Threads that are in STUCK status you will find the following stack trace:



[STUCK] ExecuteThread: '16' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE
                     java.util.HashMap.getEntry(HashMap.java:457)
                     java.util.HashMap.get(HashMap.java:416)
            oracle.webcenter.webcenterapp.internal.view.shell.WebCenterTabManagerImpl.updateViewIdToTabsMapForCurrentNode(WebCenterTabManagerImpl.java:848)
            oracle.webcenter.webcenterapp.internal.view.shell.WebCenterTabManagerImpl.updateViewIdToTabsMapForSubTree(WebCenterTabManagerImpl.java:829)
            oracle.webcenter.webcenterapp.internal.view.shell.WebCenterTabManagerImpl.updateViewIdToTabsMapForSubTree(WebCenterTabManagerImpl.java:835)
            oracle.webcenter.webcenterapp.internal.view.shell.handler.WebCenterApplicationShellHandler.prepareTabs(WebCenterApplicationShellHandler.java:1136)
            oracle.webcenter.webcenterapp.internal.view.webapp.WebCenterShellPanelTag._prepareTabsForCurrentRequest(WebCenterShellPanelTag.java:310)
                       oracle.webcenter.webcenterapp.internal.view.webapp.WebCenterShellPanelTag.doStartTag(WebCenterShellPanelTag.java:198)
                     oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:50

It is a known issue in the 11.1.1.8.8 version and there is a hot fix patch for it.


Patch 21242224: STUCK THREADS INJAVA/UTIL/HASHMAP FROM UPDATEVIEWIDTOTABSMAPFORCURRENTNODE

WCP 12.2.1: Alta Top Navigation Template BUG

There is a BUG in the Alta UI Template provided with Oracle WebCenter Portal 12.2.1

When editing a Page of a Portal which is using Alta Template an incident will raise in your log file

<Warning> <oracle.adfinternal.view.faces.taglib.util.TagUtils> <ADF_FACES-30120> <More than one af:skipLinkTarget found: T:wcCont, T:cpt11:container. Only one af:skipLinkTarget is allowed per page.>
<Error> <oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort> <ADFC-64010> <ADFc: Page '/oracle/webcenter/page/scopedMD/s72cbbca4_98aa_454f_8362_f9da775ce41c/Page3fff015d_3303_40c0_b4cb_b69fa20bc7dc.jspx' references task flow binding 'portaltopnavigation' more than once, which is not supported.  The ids of the components referred are: ' T:cpt11:spnvpnRtl T:cpt11:spnvpn'.>
<Error> <oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort>
<BEA-000000> <>
<Info> <oracle.dfw.incident> <DFW-40101> <An incident has been signalled with the incident facts: [problemKey=ADFC-00032 [ADFc] incidentSource=SYSTEM incidentTime=Mon Nov 16 16:41:25 GMT 2015 errorMessage=ADFC-32 executionContextId=0059AgKUUSQFw00Fzzw0w00004zB00007k]>
<Warning> <oracle.dfw.incident> <DFW-40125> <incident flood controlled with Problem Key "ADFC-00032 [ADFc]">
<Error> <oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort> <ADFC-64010> <ADFc: Page '/oracle/webcenter/page/scopedMD/s72cbbca4_98aa_454f_8362_f9da775ce41c/Page3fff015d_3303_40c0_b4cb_b69fa20bc7dc.jspx' references task flow binding 'spacesActionSubmenu' more than once, which is not supported.  The ids of the components referred are: ' T:cpt11:actnRegionRtl T:cpt11:actnRegion'.>
<Error> <oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort> <BEA-000000> <>
<Info> <oracle.dfw.incident> <DFW-40101> <An incident has been signalled with the incident facts: [problemKey=ADFC-00032 [ADFc] incidentSource=SYSTEM incidentTime=Mon Nov 16 16:41:25 GMT 2015 errorMessage=ADFC-32 executionContextId=0059AgKUUSQFw00Fzzw0w00004zB00007k]>
<Warning> <oracle.dfw.incident> <DFW-40125> <incident flood controlled with Problem Key "ADFC-00032 [ADFc]">
<Warning> <oracle.adfinternal.view.page.editor.renderkit.PageCustomizableRenderer> <BEA-000000> <A facet named  declared by the toolbarLayout attribute was not found in page /oracle/webcenter/page/scopedMD/s72cbbca4_98aa_454f_8362_f9da775ce41c/Page3fff015d_3303_40c0_b4cb_b69fa20bc7dc.jspx.>



Why does it happen?

If you create a copy of the Alta UI Top Navigation you will find the following snippet of code:

<af:switcher facetName="#{requestContext.rightToLeft? 'rtl' : 'ltr'}">
<f:facet name="ltr">
 <af:panelGroupLayout id="navPanel" layout="vertical" styleClass="WCPortalFixedWidth">
    <af:region id="spnvpn" inlineStyle="margin-right:45px;" value="#{bindings.portaltopnavigation.regionModel}"/>
    <af:panelGroupLayout id="pglbl" inlineStyle="position:absolute;top:0px;right:0px;margin-top:3px;" layout="vertical">
       <af:button clientComponent="true" disabled="#{portalToolbarContext.portalToolbar.editMode}" icon="#{requestContext.rightToLeft ? '/adf/webcenter/agentdropdown_rtl_sm_ena.png' : '/adf/webcenter/agentdropdown_sm_ena.png'}" id="actionsMenuLink" rendered="#{!serviceCtx.scope.spaceTemplate and (WCAppContext.currentScope.default ? ((!AdminConfig.fusionAppsMode and security.homeSpaceEnabled) or security.webCenterAdministrator): empty pageFlowScope.contextActionsTaskFlow)}" shortDesc="#{uib_o_w_w_r_WebCenter['NAV_TOOLS_ACTIONS_FOLDER.DESCRIPTION']}" styleClass="WCActionsButton">
          <af:showPopupBehavior align="afterStart" alignId="actionsMenuLink" popupId="actnRegion:actionsDropdownPopup"/>
       </af:button>
       <af:region id="actnRegion" rendered="#{!serviceCtx.scope.spaceTemplate and (WCAppContext.currentScope.default ? ((!AdminConfig.fusionAppsMode and security.homeSpaceEnabled) or security.webCenterAdministrator): true)}" value="#{bindings.spacesActionSubmenu.regionModel}"/>
    </af:panelGroupLayout>
 </af:panelGroupLayout>
</f:facet>
<f:facet name="rtl">
 <af:panelGroupLayout id="navPanelRtl" layout="vertical" styleClass="WCPortalFixedWidth">
    <af:panelGroupLayout id="pglblRtl" inlineStyle="position:absolute;top:0px;left:0px;margin-top:3px;" layout="vertical">
       <af:button clientComponent="true" icon="#{requestContext.rightToLeft ? '/adf/webcenter/agentdropdown_rtl_sm_ena.png' : '/adf/webcenter/agentdropdown_sm_ena.png'}" id="actionsMenuLinkRtl" rendered="#{!serviceCtx.scope.spaceTemplate and (WCAppContext.currentScope.default ? ((!AdminConfig.fusionAppsMode and security.homeSpaceEnabled) or security.webCenterAdministrator): empty pageFlowScope.contextActionsTaskFlow)}" shortDesc="#{uib_o_w_w_r_WebCenter['NAV_TOOLS_ACTIONS_FOLDER.DESCRIPTION']}" styleClass="WCActionsButton">
          <af:showPopupBehavior align="afterStart" alignId="actionsMenuLinkRtl" popupId="actnRegionRtl:actionsDropdownPopup"/>
       </af:button>
       <af:region id="actnRegionRtl" rendered="#{!serviceCtx.scope.spaceTemplate and (WCAppContext.currentScope.default ? ((!AdminConfig.fusionAppsMode and security.homeSpaceEnabled) or security.webCenterAdministrator): true)}" value="#{bindings.spacesActionSubmenu.regionModel}"/>
    </af:panelGroupLayout>
    <af:region id="spnvpnRtl" inlineStyle="margin-left:45px;" value="#{bindings.portaltopnavigation.regionModel}"/>
 </af:panelGroupLayout>
</f:facet>
</af:switcher>


The rendered expression evaluates to true when you are Editing the page and it will produce the Incident of the duplication.

A bug fixing will come in future bundle patch. Alternatively you can create a copy of the Template and fix it manually.

WCP 12.2.1: URI scheme is not "file"

After a fresh installation of Oracle WebCenter Portal 12.2.1 you will find the following annoying Stack Trace that it is repeated hundred of times.

<Warning> <org.eclipse.persistence.jaxb.BeanValidationHelper> <BEA-000000> <Error parsing validation.xml the async way
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: URI scheme is not "file"
                at java.util.concurrent.FutureTask.report(FutureTask.java:122)
                at java.util.concurrent.FutureTask.get(FutureTask.java:192)
                at org.eclipse.persistence.jaxb.BeanValidationHelper.getConstraintsMap(BeanValidationHelper.java:139)
                at org.eclipse.persistence.jaxb.BeanValidationHelper.isConstrained(BeanValidationHelper.java:120)
                at org.eclipse.persistence.jaxb.JAXBBeanValidator.isConstrainedObject(JAXBBeanValidator.java:255)
                at org.eclipse.persistence.jaxb.JAXBBeanValidator.shouldValidate(JAXBBeanValidator.java:206)
                at org.eclipse.persistence.jaxb.JAXBUnmarshaller.validateAndTransformIfRequired(JAXBUnmarshaller.java:1020)
                at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:226)
                at oracle.mds.internal.config.ConfigurationUtils$1.run(ConfigurationUtils.java:218)
                at java.security.AccessController.doPrivileged(Native Method)
                at oracle.mds.internal.config.ConfigurationUtils.getBeanFromElement(ConfigurationUtils.java:213)
                at oracle.mds.internal.config.ConfigurationUtils.getBeanFromElement(ConfigurationUtils.java:169)
                at oracle.mds.internal.lcm.util.LCMConfigUtil.getMetadataStoreElement(LCMConfigUtil.java:298)
                at oracle.mds.internal.lcm.deploy.DeployManager.predeploy(DeployManager.java:465)
                at oracle.mds.internal.lcm.deploy.DeployManager.startDeployment(DeployManager.java:253)
                at oracle.mds.internal.lcm.MDSLifecycleListenerImpl.start(MDSLifecycleListenerImpl.java:185)
                at oracle.mds.lcm.weblogic.WLLifecycleListener.preStart(WLLifecycleListener.java:133)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:497)
                at weblogic.application.internal.flow.BaseLifecycleFlow$LifecycleListenerAction.run(BaseLifecycleFlow.java:239)
                at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
                at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:196)
                at weblogic.application.internal.ApplicationContextImpl$WLSSecurityProvider.invokePrivilegedAction(ApplicationContextImpl.java:1567)
                at weblogic.application.internal.flow.BaseLifecycleFlow$LifecycleListenerAction.invoke(BaseLifecycleFlow.java:200)
                at weblogic.application.internal.flow.HeadLifecycleFlow.prepare(HeadLifecycleFlow.java:245)
                at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:730)
                at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
                at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:242)
                at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:67)
                at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
                at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
                at weblogic.deploy.internal.targetserver.AppDeployment.prepare(AppDeployment.java:158)
                at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:41)
                at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:193)
                at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:31)
                at weblogic.management.deploy.internal.ConfiguredDeployments$2.doItem(ConfiguredDeployments.java:592)
                at weblogic.management.deploy.internal.parallel.BucketInvoker$2.run(BucketInvoker.java:95)
                at weblogic.work.ContextWrap.run(ContextWrap.java:46)
                at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:643)
                at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
                at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
                at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
                at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
                at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:617)
                at weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)
                at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)
Caused By: java.lang.IllegalArgumentException: URI scheme is not "file"
                at java.io.File.<init>(File.java:421)
                at org.eclipse.persistence.jaxb.ValidationXMLReader.parseValidationXML(ValidationXMLReader.java:147)
                at org.eclipse.persistence.jaxb.ValidationXMLReader.call(ValidationXMLReader.java:67)
                at org.eclipse.persistence.jaxb.ValidationXMLReader.call(ValidationXMLReader.java:1)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                at java.lang.Thread.run(Thread.java:745)


This is a known BUG and in the next Bundle Patch will be included a fix.It does not affects to WebCenter Portal as it will work properly.

Anyway, if you want to hide this annoying Stack Trace from your log file then configure the following Stack Trace to SEVERE level using the Enterprise Manager as following.

Changing Logging Trace Level