Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-82714

After upgrading to 7.1 LayoutFriendlyURLException occurs during portal startup when a page with "/search" as friendly URL already existed in 7.0

    Details

      Description

      1. Start 7.0.x @b9bb694606d0dd8380faf6b41c28101c25e80d8e
      2. Create a page called "search"
      3. Stop portal
      4. Disable Indexation: https://dev.liferay.com/discover/deployment/-/knowledge_base/7-0/preparing-an-upgrade-to-liferay-7#disable-indexing-during-the-upgrade-process
      5. Run the DB Upgrade Client (default settings) on master @72b8db5c35d09cbcffc020775d4cfae6c69610ee
      6. Upgrade completes without error
        1. If you experience LPS-82746, stop and start again the upgrade.
      7. Start master
        Result
        2018-06-20 18:32:02.451 WARN  [main][PortalInstanceLifecycleListenerManagerImpl:132] Unable to register portal instance {mvccVersion=1, companyId=20115, accountId=20117, webId=liferay.com, key=, mx=liferay.com, homeURL=, logoId=0, system=false, maxUsers=0, active=true}
        com.liferay.portal.kernel.exception.SystemException: com.liferay.portal.kernel.exception.LayoutFriendlyURLsException: com.liferay.portal.kernel.exception.LayoutFriendlyURLException
        	at com.liferay.portal.search.web.internal.layout.prototype.SearchLayoutFactoryImpl.createSearchLayout(SearchLayoutFactoryImpl.java:103)
        	at com.liferay.portal.search.web.internal.layout.prototype.SearchLayoutFactoryImpl.lambda$createSearchLayout$0(SearchLayoutFactoryImpl.java:70)
        	at java.util.Optional.ifPresent(Optional.java:159)
        	at com.liferay.portal.search.web.internal.layout.prototype.SearchLayoutFactoryImpl.createSearchLayout(SearchLayoutFactoryImpl.java:69)
        	at com.liferay.portal.search.web.internal.layout.prototype.AddLayoutPrototypePortalInstanceLifecycleListener.portalInstanceRegistered(AddLayoutPrototypePortalInstanceLifecycleListener.java:43)
        	at com.liferay.portal.instance.lifecycle.internal.PortalInstanceLifecycleListenerManagerImpl.registerCompany(PortalInstanceLifecycleListenerManagerImpl.java:128)
        	at com.liferay.portal.instance.lifecycle.internal.PortalInstanceLifecycleListenerManagerImpl.addPortalInstanceLifecycleListener(PortalInstanceLifecycleListenerManagerImpl.java:88)
        	at sun.reflect.GeneratedMethodAccessor311.invoke(Unknown Source)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        	at java.lang.reflect.Method.invoke(Method.java:498)
        	at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)
        	at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
        	at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)
        	at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)
        	at org.apache.felix.scr.impl.inject.BindMethod.invoke(BindMethod.java:655)
        	at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1722)
        	at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1699)
        	at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:371)
        	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:320)
        	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:291)
        	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215)
        	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136)
        	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945)
        	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881)
        	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167)
        	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127)
        	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
        	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:917)
        	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
        	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
        	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
        	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
        	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
        	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
        	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464)
        	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:886)
        	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:873)
        	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132)
        	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:940)
        	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:740)
        	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1012)
        	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:968)
        	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215)
        	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136)
        	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945)
        	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881)
        	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167)
        	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127)
        	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
        	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:917)
        	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
        	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
        	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
        	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
        	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
        	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
        	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464)
        	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:482)
        	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1001)
        	at com.liferay.registry.internal.RegistryImpl.registerService(RegistryImpl.java:355)
        	at com.liferay.portal.servlet.MainServlet.registerPortalInitialized(MainServlet.java:1348)
        	at com.liferay.portal.servlet.MainServlet.init(MainServlet.java:425)
        	at javax.servlet.GenericServlet.init(GenericServlet.java:158)
        	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1124)
        	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1079)
        	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:971)
        	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4765)
        	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5075)
        	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:742)
        	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:718)
        	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
        	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
        	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1840)
        	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
        	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:525)
        	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:424)
        	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1586)
        	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
        	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
        	at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
        	at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
        	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:966)
        	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
        	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1427)
        	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1417)
        	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
        	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943)
        	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258)
        	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
        	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
        	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        	at org.apache.catalina.startup.Catalina.start(Catalina.java:682)
        	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:498)
        	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
        	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
        Caused by: com.liferay.portal.kernel.exception.LayoutFriendlyURLsException: com.liferay.portal.kernel.exception.LayoutFriendlyURLException
        	at com.liferay.portal.service.impl.LayoutLocalServiceHelper.validateFriendlyURLs(LayoutLocalServiceHelper.java:459)
        	at com.liferay.portal.service.impl.LayoutLocalServiceHelper.validate(LayoutLocalServiceHelper.java:300)
        	at com.liferay.portal.service.impl.LayoutLocalServiceImpl.addLayout(LayoutLocalServiceImpl.java:201)
        	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:498)
        	at com.liferay.portal.service.impl.LayoutLocalServiceStagingAdvice$LayoutLocalServiceStagingInvocationHandler._invoke(LayoutLocalServiceStagingAdvice.java:746)
        	at com.liferay.portal.service.impl.LayoutLocalServiceStagingAdvice$LayoutLocalServiceStagingInvocationHandler.invoke(LayoutLocalServiceStagingAdvice.java:633)
        	at com.sun.proxy.$Proxy288.addLayout(Unknown Source)
        	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:498)
        	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:158)
        	at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:54)
        	at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:58)
        	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:135)
        	at com.liferay.portal.service.ServiceContextAdvice.invoke(ServiceContextAdvice.java:51)
        	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:135)
        	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
        	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:135)
        	at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:145)
        	at com.sun.proxy.$Proxy153.addLayout(Unknown Source)
        	at com.liferay.portal.search.web.internal.layout.prototype.SearchLayoutFactoryImpl.createSearchLayout(SearchLayoutFactoryImpl.java:121)
        	at com.liferay.portal.search.web.internal.layout.prototype.SearchLayoutFactoryImpl.createSearchLayout(SearchLayoutFactoryImpl.java:97)
        	... 106 more
        Caused by: com.liferay.portal.kernel.exception.LayoutFriendlyURLException
        	at com.liferay.portal.service.impl.LayoutLocalServiceHelper.validateFriendlyURL(LayoutLocalServiceHelper.java:356)
        	at com.liferay.portal.service.impl.LayoutLocalServiceHelper.validateFriendlyURLs(LayoutLocalServiceHelper.java:452)
        	... 131 more
        

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                joshua.chong Joshua Chong
                Reporter:
                tibor.lipusz Tibor Lipusz
                Participants of an Issue:
                Recent user:
                Enterprise Release HU
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Days since last comment:
                  1 year, 19 weeks, 5 days ago

                  Packages

                  Version Package
                  7.1.X
                  Master