Details

      Description

      Steps to reproduce:

      1. Navigate to Control Panel > Configuration > System Settings
      2. Open the kebab menu for the configuration "RSS Cache"
      3. Configure the refresh time from 20 to 1
      4. Save the configuration
      5. In the terminal, run shutdown.bat or shutdown.sh

      Expected result: Shutdown completes successfully
      Actual result: Shutdown does not complete and instead hangs; a NullPointerException is thrown:

      18:08:31,491 ERROR [localhost-startStop-2][com_liferay_portal_osgi_web_portlet_tracker:97] [com.liferay.portal.osgi.web.portlet.tracker.internal.PortletTracker(4)] The deactivate method has thrown an exception 
      java.lang.NullPointerException
      	at com.liferay.portal.osgi.web.portlet.tracker.internal.BundlePortletApp.getServletContextName(BundlePortletApp.java:171)
      	at com.liferay.portal.service.impl.PortletLocalServiceImpl.destroyPortlet(PortletLocalServiceImpl.java:373)
      	at sun.reflect.GeneratedMethodAccessor1079.invoke(Unknown Source)
      	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:153)
      	at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:174)
      	at com.sun.proxy.$Proxy131.destroyPortlet(Unknown Source)
      	at com.liferay.portal.kernel.service.PortletLocalServiceUtil.destroyPortlet(PortletLocalServiceUtil.java:421)
      	at com.liferay.portlet.PortletInstanceFactoryImpl.destroy(PortletInstanceFactoryImpl.java:259)
      	at com.liferay.portal.osgi.web.portlet.tracker.internal.PortletTracker.removedService(PortletTracker.java:203)
      	at com.liferay.portal.osgi.web.portlet.tracker.internal.PortletTracker.removedService(PortletTracker.java:101)
      	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:967)
      	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1)
      	at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)
      	at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:377)
      	at com.liferay.portal.osgi.web.portlet.tracker.internal.PortletTracker.deactivate(PortletTracker.java:941)
      	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.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222)
      	at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
      	at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615)
      	at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499)
      	at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:295)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.disposeImplementationObject(SingleComponentManager.java:342)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.deleteComponent(SingleComponentManager.java:157)
      	at org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:783)
      	at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:757)
      	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:1014)
      	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:915)
      	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1241)
      	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1136)
      	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.untrack(ServiceTracker.java:996)
      	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1175)
      	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:120)
      	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.unregister(ServiceRegistrationImpl.java:222)
      	at com.liferay.registry.internal.ServiceRegistrationWrapper.unregister(ServiceRegistrationWrapper.java:77)
      	at com.liferay.portal.servlet.MainServlet.destroy(MainServlet.java:149)
      	at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1443)
      	at org.apache.catalina.core.StandardWrapper.stopInternal(StandardWrapper.java:1775)
      	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224)
      	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5465)
      	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224)
      	at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1424)
      	at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1413)
      	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)

      Note: This is also reproducible when making change to the XSL Content configuration in System Settings.

      Reproduced on:
      Tomcat 8.0.32 + MySQL 5.7
      Portal ee-7.0.x GIT ID: be07a61d5e26e50b4afdea42f277fe275a6bbf0f

      Reproduced on:
      Tomcat 8.0.32 + MySQL 5.7
      Portal Master GIT ID: 435e6348afab70bb3b54ad2edf762c627edd7f29

        Attachments

          Activity

            People

            • Assignee:
              anthony.chu Anthony Chu
              Reporter:
              anthony.chu Anthony Chu
              Participants of an Issue:
              Recent user:
              Csaba Turcsan
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since last comment:
                2 years, 34 weeks, 2 days ago

                Packages

                Version Package
                7.0.0 DXP FP8
                7.0.0 DXP SP2
                7.0.3 CE GA4
                7.1.X
                Master