Description of problem: Given that portal extension quickstart is deployed, accessing the mobile site using localhost/portal/mobile brings the following messages on the console: 21:28:17,460 WARN [org.gatein.web.redirect.implementation.SiteRedirectServiceImpl] (http-/0.0.0.0:8180-4) No PortalConfig found for site : mobile. Site redirection cannot be peformed. 21:28:17,473 ERROR [org.exoplatform.web.WebAppController] (http-/0.0.0.0:8180-4) Could not associate the request path=/mobile with an handler Version-Release number of selected component (if applicable): JPP 6.1.1 CR03, sample portal quickstart from CR03 How reproducible: Always Steps to Reproduce: 1. Compile sample portal quickstart from CR03 2. Copy gatein-sample-portal.ear to $JBOSS_HOME/gatein/extesions 3. Start EAP 4. Access localhost/portal/mobile Actual results: See the log messages above. Expected results: The mobile site should work regardless of whether the sample portal is deployed or not. Additional info: This is worth investigating after Bug 1016603 was fixed. Note that the fix for Bug 1016603 does not introduce this issue.
The messages before and after fixing Bug 1016603 differ. The important part of the fix is to change the dep name from jpp-mobile-configuration to gatein-mobile-configuration in branding-conf/src/main/java/conf/configuration.xml What I reported above, comes before applying the fix. Note that before applying the fix the mobile site was not sent to client client at all. Now, after applying the fix, the response in browser looks good, but the following message appears in the log: 12:38:51,143 ERROR [org.gatein.web.redirect.implementation.SiteRedirectServiceImpl] (http-/0.0.0.0:8180-4) Error trying to retrieve alternative sites.: java.lang.NullPointerException at org.exoplatform.portal.pom.config.cache.PortalNamesCache.execute(PortalNamesCache.java:48) [exo.portal.component.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.pom.config.POMSessionManager.execute(POMSessionManager.java:228) [exo.portal.component.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.pom.config.POMDataStorage.getPortalConfig(POMDataStorage.java:119) [exo.portal.component.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.config.DataStorageImpl.getPortalConfig(DataStorageImpl.java:263) [exo.portal.component.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.config.DataStorageImpl.getPortalConfig(DataStorageImpl.java:120) [exo.portal.component.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.gatein.web.redirect.implementation.SiteRedirectServiceImpl.getAlternativeSites(SiteRedirectServiceImpl.java:143) [redirect-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.gatein.web.redirect.implementation.RedirectHandlerImpl.getAlternativeRedirects(RedirectHandlerImpl.java:46) [redirect-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.gatein.portlet.responsive.footer.FooterPortlet.getAlternativeSites(FooterPortlet.java:63) [classes:] at org.gatein.portlet.responsive.footer.FooterPortlet.doView(FooterPortlet.java:53) [classes:] at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:354) [portlet-api-2.0.jar:] at javax.portlet.GenericPortlet.render(GenericPortlet.java:259) [portlet-api-2.0.jar:] at org.gatein.pc.portlet.impl.jsr168.PortletContainerImpl$Invoker.doFilter(PortletContainerImpl.java:592) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.impl.jsr168.api.FilterChainImpl.doFilter(FilterChainImpl.java:159) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.exoplatform.portal.application.ApplicationMonitoringFilter.doFilter(ApplicationMonitoringFilter.java:65) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.gatein.pc.portlet.impl.jsr168.api.FilterChainImpl.doFilter(FilterChainImpl.java:159) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.impl.jsr168.api.FilterChainImpl.doFilter(FilterChainImpl.java:80) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.impl.jsr168.PortletContainerImpl.dispatch(PortletContainerImpl.java:529) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.container.ContainerPortletDispatcher.invoke(ContainerPortletDispatcher.java:42) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.aspects.EventPayloadInterceptor.invoke(EventPayloadInterceptor.java:197) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.aspects.RequestAttributeConversationInterceptor.invoke(RequestAttributeConversationInterceptor.java:119) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.aspects.CCPPInterceptor.invoke(CCPPInterceptor.java:65) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.bridge.BridgeInterceptor.invoke(BridgeInterceptor.java:49) [pc-bridge-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.aspects.SessionInvalidatorInterceptor.invoke(SessionInvalidatorInterceptor.java:55) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.aspects.ContextDispatcherInterceptor.access$201(ContextDispatcherInterceptor.java:46) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.aspects.ContextDispatcherInterceptor$CallableImpl.call(ContextDispatcherInterceptor.java:119) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.exoplatform.portal.webui.application.ExoServerContext$1.doCallback(ExoServerContext.java:49) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.gatein.wci.command.CommandDispatcher$CallbackCommand.execute(CommandDispatcher.java:82) [wci-wci-2.3.1.Final.jar:2.3.1.Final] at sun.reflect.GeneratedMethodAccessor155.invoke(Unknown Source) [:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25] at org.gatein.wci.command.CommandServlet.doGet(CommandServlet.java:135) [wci-wci-2.3.1.Final.jar:2.3.1.Final] at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:832) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:718) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:655) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.gatein.wci.command.CommandServlet.include(CommandServlet.java:84) [wci-wci-2.3.1.Final.jar:2.3.1.Final] at org.gatein.wci.command.CommandDispatcher.include(CommandDispatcher.java:58) [wci-wci-2.3.1.Final.jar:2.3.1.Final] at org.gatein.wci.jboss.JB7ServletContainerContext.include(JB7ServletContainerContext.java:108) [wci-jboss7-2.3.1.Final.jar:2.3.1.Final] at org.gatein.wci.ServletContainer.include(ServletContainer.java:393) [wci-wci-2.3.1.Final.jar:2.3.1.Final] at org.exoplatform.portal.webui.application.ExoServerContext.dispatch(ExoServerContext.java:45) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.gatein.pc.portlet.aspects.ContextDispatcherInterceptor.invoke(ContextDispatcherInterceptor.java:65) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.exoplatform.portal.pc.aspects.PortletLifecyclePhaseInterceptor.invoke(PortletLifecyclePhaseInterceptor.java:30) [exo.portal.component.pc-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.aspects.SecureTransportInterceptor.invoke(SecureTransportInterceptor.java:69) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.aspects.ValveInterceptor.invoke(ValveInterceptor.java:84) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.container.ContainerPortletInvoker.invoke(ContainerPortletInvoker.java:131) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.state.producer.ProducerPortletInvoker.invoke(ProducerPortletInvoker.java:263) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.federation.impl.FederatedPortletInvokerService.invoke(FederatedPortletInvokerService.java:163) [pc-federation-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.federation.impl.FederatingPortletInvokerService.invoke(FederatingPortletInvokerService.java:246) [pc-federation-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.aspects.PortletCustomizationInterceptor.invoke(PortletCustomizationInterceptor.java:76) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.aspects.ConsumerCacheInterceptor.invoke(ConsumerCacheInterceptor.java:165) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.gatein.pc.portlet.PortletInvokerInterceptor.invoke(PortletInvokerInterceptor.java:111) [pc-portlet-2.4.2.Final.jar:2.4.2.Final] at org.exoplatform.portal.webui.application.UIPortlet.invoke(UIPortlet.java:905) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.webui.application.UIPortletLifecycle.processRender(UIPortletLifecycle.java:190) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.webui.application.UIPortletLifecycle.processRender(UIPortletLifecycle.java:54) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:128) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.webui.application.UIPortlet.processRender(UIPortlet.java:954) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:291) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:284) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25] at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at UIPortal.run(UIPortal.gtmpl:16) at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:99) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:105) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:113) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:114) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.lifecycle.Lifecycle.processRender(Lifecycle.java:76) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.webui.portal.UIPortalLifecycle.processRender(UIPortalLifecycle.java:37) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.webui.portal.UIPortalLifecycle.processRender(UIPortalLifecycle.java:29) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:128) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIComponentDecorator.renderChildren(UIComponentDecorator.java:89) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25] at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at UISiteBody.run(UISiteBody.gtmpl:27) at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:99) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:105) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:113) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:114) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.lifecycle.Lifecycle.processRender(Lifecycle.java:76) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:128) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:291) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:284) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25] at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at UIContainer.run(UIContainer.gtmpl:68) at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:99) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:105) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:113) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:114) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.lifecycle.Lifecycle.processRender(Lifecycle.java:76) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:128) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIComponentDecorator$UIComponentDecoratorLifecycle.processRender(UIComponentDecorator.java:98) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIComponentDecorator$UIComponentDecoratorLifecycle.processRender(UIComponentDecorator.java:92) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:128) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:291) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:284) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25] at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at UIWorkingWorkspace.run(UIWorkingWorkspace.gtmpl:2) at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:99) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:105) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:113) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:114) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.lifecycle.Lifecycle.processRender(Lifecycle.java:76) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:128) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:291) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:284) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIApplication.renderChildren(UIApplication.java:109) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25] at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at UIPortalApplicationChildren.run(UIPortalApplicationChildren.gtmpl:6) at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:99) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:105) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:113) [exo.portal.component.scripting-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:114) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processRender(UIPortalApplicationLifecycle.java:124) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processRender(UIPortalApplicationLifecycle.java:93) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processRender(UIPortalApplicationLifecycle.java:36) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:128) [exo.portal.webui.framework-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.webui.workspace.UIPortalApplication.processRender(UIPortalApplication.java:601) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.application.PortalRequestHandler.processRequest(PortalRequestHandler.java:190) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.application.PortalRequestHandler.execute(PortalRequestHandler.java:159) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.web.WebAppController.service(WebAppController.java:329) [exo.portal.component.web.controller-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.portal.application.PortalController.onService(PortalController.java:108) [exo.portal.webui.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.container.web.AbstractHttpServlet.service(AbstractHttpServlet.java:132) [exo.kernel.container-2.4.4-GA.jar:2.4.4-GA] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:96) [exo.portal.component.web.api-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.web.filter.ExtensibleFilter.doFilter(ExtensibleFilter.java:71) [exo.portal.component.web.api-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.web.filter.GenericFilter.doFilter(GenericFilter.java:70) [exo.portal.component.web.api-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.exoplatform.web.CacheUserProfileFilter.doFilter(CacheUserProfileFilter.java:67) [exo.portal.component.web.security-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.exoplatform.frameworks.jcr.web.ThreadLocalSessionProviderInitializedFilter.doFilter(ThreadLocalSessionProviderInitializedFilter.java:122) [exo.jcr.framework.web-1.15.4-GA.jar:1.15.4-GA] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.exoplatform.web.login.ConversationStateUpdateFilter.doFilter(ConversationStateUpdateFilter.java:66) [exo.portal.component.web.security-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.exoplatform.services.security.web.SetCurrentIdentityFilter.doFilter(SetCurrentIdentityFilter.java:88) [exo.core.component.security.core-2.5.4-GA.jar:2.5.4-GA] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:81) [exo.portal.component.web.security-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:49) [exo.portal.component.web.security-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.gatein.security.oauth.webapi.OAuthDelegateFilter.doFilter(OAuthDelegateFilter.java:58) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.gatein.sso.integration.SSODelegateFilter.doFilter(SSODelegateFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.exoplatform.container.web.PortalContainerFilter.doFilter(PortalContainerFilter.java:78) [exo.kernel.container-2.4.4-GA.jar:2.4.4-GA] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.gatein.portal.installer.PortalSetupFilter.doFilter(PortalSetupFilter.java:62) [exo.portal.component.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.gatein.portal.init.PortalCheckInitFilter.doFilter(PortalCheckInitFilter.java:66) [exo.portal.component.portal-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:407) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.gatein.sso.integration.SSODelegateValve.invoke(SSODelegateValve.java:159) at org.gatein.portal.security.jboss.PortalClusteredSSOSupportValve.invoke(PortalClusteredSSOSupportValve.java:94) [exo.portal.component.web.security-jboss-3.6.3.Final-prod-2.jar:3.6.3.Final-prod-2] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
The fix for Bug 1016603 is available in gatein-prod/3.6.x-prod branch
This issue was observed in a CR build, so a customer may be able to experience this issue. It therefore should have a Release Note when it is completed, and sent to QE for verification.
Reproducible on GateIn master: https://issues.jboss.org/browse/GTNPORTAL-3291
Peter Palaga <ppalaga> made a comment on jira GTNPORTAL-3291 After a lot of debugging I can state the following: (1) The {{getSession()}} returns {{null}} in {{org.exoplatform.portal.pom.config.POMSessionManager.execute(POMTask<V>)}}. Let's see why. (2) In {{org.exoplatform.portal.pom.config.POMSessionManager.getSession()}}, {{configurator.getContext()}} returns {{null}}. Why? (3) Through {{org.exoplatform.commons.chromattic.ChromatticLifeCycle.getContext(false)}} it drills down to {{org.exoplatform.commons.chromattic.ChromatticManager.getSynchronization()}} returning {{null}}. Note that {{getSynchronization()}} is as simple as {{code}} return currentSynchronization.get(); {{code}} where {{currentSynchronization}} is of type {{ThreadLocal<Synchronization>}}. Where is its value set? (4) The value of {{ChromatticManager.currentSynchronization}} is set in {{org.exoplatform.commons.chromattic.ChromatticManager.beginRequest()}} so clearly, for the current thread and & {{ChromatticManager}} instance, it is not called. How is this possible? (5) When searching for {{ChromatticManager}} instances in the running JVM during debug, one see that there are two of them, one per portal container ({{/portal}} and {{/sample-portal}}). And looking more closely, one can see that the problem happens with the {{/sample-portal}} {{ChromatticManager}} instance. How is that possible given that we are visiting {{/portal/mobile}}? (6) Point (5) raised suspicion that it is some variation of GTNPORTAL-2700 and thus also related to GTNPORTAL-2406. Note that there is only a very dirty fix for GTNPORTAL-2700 and fixing the present issue could fix GTNPORTAL-2700 properly too. I must admit, I have no perfect proof that GTNPORTAL-2700 and the present one have the same cause. I have not checked yet, if GTNPORTAL-2700 is fixed by the fix mentioned in (7). (7) I have a fix for the present issue: https://github.com/gatein/gatein-portal/pull/691 It basically consists of removing the registration of {{FederatingPortletInvoker}} in top container and having separate instance of {{FederatingPortletInvoker}} per {{ExoContainer}} on the portal container level. I have no idea what the possible consequences of this are. Could you please comment?
Peter Palaga <ppalaga> made a comment on jira GTNPORTAL-3291 After a lot of debugging I can state the following: (1) The {{getSession()}} returns {{null}} in {{org.exoplatform.portal.pom.config.POMSessionManager.execute(POMTask<V>)}}. Let's see why. (2) In {{org.exoplatform.portal.pom.config.POMSessionManager.getSession()}}, {{configurator.getContext()}} returns {{null}}. Why? (3) Through {{org.exoplatform.commons.chromattic.ChromatticLifeCycle.getContext(false)}} it drills down to {{org.exoplatform.commons.chromattic.ChromatticManager.getSynchronization()}} returning {{null}}. Note that {{getSynchronization()}} is as simple as {code:java} return currentSynchronization.get(); {code} where {{currentSynchronization}} is of type {{ThreadLocal<Synchronization>}}. Where is its value set? (4) The value of {{ChromatticManager.currentSynchronization}} is set in {{org.exoplatform.commons.chromattic.ChromatticManager.beginRequest()}} so clearly, for the current thread and & {{ChromatticManager}} instance, it is not called. How is this possible? (5) When searching for {{ChromatticManager}} instances in the running JVM during debug, one sees that there are two of them, one per portal container ({{/portal}} and {{/sample-portal}}). And looking more closely, one can see that the problem happens with the {{/sample-portal}} {{ChromatticManager}} instance. How is that possible given that we are visiting {{/portal/mobile}}? (6) Point (5) raised suspicion that it is some variation of GTNPORTAL-2700 and thus also related to GTNPORTAL-2406. Note that there is only a very dirty fix for GTNPORTAL-2700 and fixing the present issue could fix GTNPORTAL-2700 properly too. I must admit, I have no perfect proof that GTNPORTAL-2700 and the present one have the same cause. I have not checked yet, if GTNPORTAL-2700 is fixed by the fix mentioned in (7). (7) I have a fix for the present issue: https://github.com/gatein/gatein-portal/pull/691 It basically consists of removing the registration of {{FederatingPortletInvoker}} in the top container and having separate instance of {{FederatingPortletInvoker}} per {{ExoContainer}} on the portal container level. I have no idea what the possible consequences of this are. Could you please comment?
Peter Palaga <ppalaga> made a comment on jira GTNPORTAL-3291 A discussion within JBoss Portal team has revealed that, probably, the impact of the proposed patch is to be expected in WSRP only. It is because it was [~claprun] who submitted the change to {{ExoContainer}} to the effect that {{FederatingPortletInvoker}} is registered in the top container. We tried to find locations in GateIn or WSRP code that rely on {{FederatingPortletInvoker}} being top-registered. We have not found any. Actually, because of [this condition|https://github.com/gatein/gatein-portal/blob/master/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/WSRPServiceIntegration.java#L119] in the present implementation of {{WSRPServiceIntegration}}, portal containers other than {{/portal}} are ignored by WSRP. Hence, with the proposed patch applied, WSRP sees only the single {{FederatingPortletInvoker}} instance that is associated with {{/portal}} anyway and other, newly introduced instances of {{FederatingPortletInvoker}} do not matter to WSRP, because it ignores them already now. [~vramik] and [~jpkrohling] have run all available WSRP tests and they found no regression due to the proposed patch. If no one opposes within a reasonable time, I merge the patch to GateIn master.
Peter Palaga <ppalaga> made a comment on jira GTNPORTAL-3291 A discussion within JBoss Portal team has revealed that, probably, the impact of the proposed patch is to be expected in WSRP only. It is because it was [~claprun] who submitted the change to {{ExoContainer}} to the effect that {{FederatingPortletInvoker}} is registered in the top container. We tried to find locations in GateIn or WSRP code that rely on {{FederatingPortletInvoker}} being top-registered. We have not found any. Actually, because of [this condition|https://github.com/gatein/gatein-portal/blob/master/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/WSRPServiceIntegration.java#L119] in the present implementation of {{WSRPServiceIntegration}}, portal containers other than {{/portal}} are ignored by WSRP. Hence, with the proposed patch applied, WSRP sees only the single {{FederatingPortletInvoker}} instance that is associated with {{/portal}} anyway and other, newly introduced instances of {{FederatingPortletInvoker}} do not matter to WSRP, because it ignores them already now. [~vramik] and [~jpkrohling] have run all available WSRP related tests and they found no regression due to the proposed patch. If no one opposes within a reasonable time, I merge the patch to GateIn master.
Verified on DR01
If this issue requires mention in release notes (as indicated by the requires_doc_text flag) draft content must be provided by the engineer responsible. Please complete the Doc Text field and supply draft info. Docs can do any edits required and mark the issue for inclusion in the Release Notes for RHJP 6.1.1