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

Started SPI does not shut down properly upon shutdown of appserver

    Details

      Description

      When shutting down appserver, a started SPI forcibly shuts down and throws exceptions.

      Steps to reproduce:
      1. Deploy spi-admin + web
      2. Add and start SPI
      3. Go to control panel > server administration > shutdown
      4. Shutdown
      5. CNTL + C in console
      6. Assert exceptions

      INFO: Destroying Spring FrameworkServlet 'Remoting Servlet'
      18:10:41,236 WARN  [localhost-startStop-2][RemoteSPIProxy:84] Forcibly destroyed SPI {baseDir=L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\10503, connectorPort=7072, extraSettings=maxThreads=100_minThreads=20, javaExecutable=java, jvmArguments=-Xmx512m -XX:PermSize=200m -Duser.timezone=GMT, pingInter
      val=5000, portletIds=[161,33], registerTimeout=300000, servletContextName=[], shutdownTimeout=300000, spiAgentClassName=com.liferay.portal.resiliency.spi.agent.HttpClientSPIAgent, spiId=10503} [Sanitized]
      java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: _     java.rmi.RemoteException: Failed to destroy; nested exception is: _     org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardServ
      er[-1]] in state [STARTED] [Sanitized]
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:353)
              at sun.rmi.transport.Transport$1.run(Transport.java:177)
              at sun.rmi.transport.Transport$1.run(Transport.java:174)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
              at java.lang.Thread.run(Thread.java:724)
              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273)
              at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251)
              at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:160)
              at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194)
              at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148)
              at com.sun.proxy.$Proxy420.destroy(Unknown Source)
              at com.liferay.portal.kernel.resiliency.spi.remote.RemoteSPIProxy.destroy(RemoteSPIProxy.java:75)
              at com.liferay.portal.kernel.resiliency.mpi.MPIHelperUtil.unregisterSPIProvider(MPIHelperUtil.java:330)
              at com.liferay.util.resiliency.spi.provider.SPIClassPathContextListener.contextDestroyed(SPIClassPathContextListener.java:57)
              at com.liferay.portal.kernel.servlet.SecurePluginContextListener.fireUndeployEvent(SecurePluginContextListener.java:278)
              at com.liferay.portal.kernel.servlet.PluginContextListener.doPortalDestroy(PluginContextListener.java:132)
              at com.liferay.portal.kernel.util.BasePortalLifecycle.portalDestroy(BasePortalLifecycle.java:31)
              at com.liferay.portal.kernel.util.PortalLifecycleUtil.flushDestroys(PortalLifecycleUtil.java:32)
              at com.liferay.portal.servlet.MainServlet.destroy(MainServlet.java:141)
              at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1482)
              at org.apache.catalina.core.StandardWrapper.stopInternal(StandardWrapper.java:1843)
              at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
              at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5614)
              at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
              at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)
              at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
              at java.util.concurrent.FutureTask.run(FutureTask.java:166)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
              at java.lang.Thread.run(Thread.java:724)
      Caused by: java.rmi.RemoteException: Failed to destroy; nested exception is: _  org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardServer[-1]] in state [STARTED] [Sanitized]
              at com.liferay.portal.resiliency.spi.provider.tomcat.TomcatRemoteSPI.destroy(TomcatRemoteSPI.java:154)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
              at sun.rmi.transport.Transport$1.run(Transport.java:177)
              at sun.rmi.transport.Transport$1.run(Transport.java:174)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
              ... 3 more
      Caused by: org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardServer[-1]] in state [STARTED]
              at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409)
              at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:299)
              at org.apache.catalina.startup.Tomcat.destroy(Tomcat.java:355)
              at com.liferay.portal.resiliency.spi.provider.tomcat.TomcatRemoteSPI.destroy(TomcatRemoteSPI.java:151)
              ... 15 more
      18:10:41,262 WARN  [localhost-startStop-2][MPIHelperUtil:259] Not unregistering SPI Tomcat SPI Provider#{baseDir=L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\10503, connectorPort=7072, extraSettings=maxThreads=100_minThreads=20, javaExecutable=java, jvmArguments=-Xmx512m -XX:PermSize=200m -Duser.time
      zone=GMT, pingInterval=5000, portletIds=[161,33], registerTimeout=300000, servletContextName=[], shutdownTimeout=300000, spiAgentClassName=com.liferay.portal.resiliency.spi.agent.HttpClientSPIAgent, spiId=10503} with unknown SPI provider Tomcat SPI Provider [Sanitized]
      18:10:41,264 INFO  [localhost-startStop-2][MPIHelperUtil:333] Unregistered SPI Tomcat SPI Provider#{baseDir=L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\10503, connectorPort=7072, extraSettings=maxThreads=100_minThreads=20, javaExecutable=java, jvmArguments=-Xmx512m -XX:PermSize=200m -Duser.timezone=
      GMT, pingInterval=5000, portletIds=[161,33], registerTimeout=300000, servletContextName=[], shutdownTimeout=300000, spiAgentClassName=com.liferay.portal.resiliency.spi.agent.HttpClientSPIAgent, spiId=10503} while unregistering SPI provider {name=Tomcat SPI Provider, classPath=L:\Private\6.2.x-bundle
      s\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ecj.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\tomcat-embed-core.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\tomcat-embed-jasper.
      jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\tomcat-embed-logging-juli.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\activation.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\ccpp.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\hsql.jar;L
      :\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\jms.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\jta.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\jtds.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\junit.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\jutf7.jar;L:\Private\6.2.x-bund
      les\tomcat-7.0.42\lib\ext\mail.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\mysql.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\persistence.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\portal-service.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\portlet.jar;L:\Private\6.2.x-bun
      dles\tomcat-7.0.42\lib\ext\postgresql.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\support-tomcat.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\activation.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-to
      mcat-lib\ext\ccpp.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\jms.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\jta.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\e
      mbedded-tomcat-lib\ext\junit.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\jutf7.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\mail.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider
      -web\WEB-INF\embedded-tomcat-lib\ext\persistence.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\portlet.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\support-tomcat.jar;L:\Private\6.2.x-bundles\t
      omcat-7.0.42\temp\2-spi-provider-web/WEB-INF/classes} [Sanitized]
      18:10:41,270 INFO  [localhost-startStop-2][MPIHelperUtil:349] Unregistered SPI provider {name=Tomcat SPI Provider, classPath=L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ecj.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embed
      ded-tomcat-lib\tomcat-embed-core.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\tomcat-embed-jasper.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\tomcat-embed-logging-juli.jar;L:\Private\6.2.x-bundles\to
      mcat-7.0.42\lib\ext\activation.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\ccpp.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\hsql.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\jms.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\jta.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\
      ext\jtds.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\junit.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\jutf7.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\mail.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\mysql.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\persistence.j
      ar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\portal-service.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\portlet.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\postgresql.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\lib\ext\support-tomcat.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\
      2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\activation.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\ccpp.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\jms.jar;L:\Private\6.2.x-bundles\to
      mcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\jta.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\junit.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\jutf7.jar;L:\Private\6.2
      .x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\mail.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\persistence.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\port
      let.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web\WEB-INF\embedded-tomcat-lib\ext\support-tomcat.jar;L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\2-spi-provider-web/WEB-INF/classes}
      18:10:41,275 INFO  [localhost-startStop-2][HotDeployEvent:130] Plugin spi-provider-web requires marketplace-portlet
      Mar 05, 2014 6:10:41 PM org.apache.catalina.core.ApplicationContext log
      INFO: Closing Spring root WebApplicationContext
      18:10:41,283 INFO  [localhost-startStop-2][PluginPackageUtil:1016] Reading plugin package for spi-provider-web
      18:10:42,290 ERROR [localhost-startStop-2][MPIHelperUtil:375] null
      java.rmi.RemoteException: SPI Tomcat SPI Provider#{baseDir=L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\10503, connectorPort=7072, extraSettings=maxThreads=100_minThreads=20, javaExecutable=java, jvmArguments=-Xmx512m -XX:PermSize=200m -Duser.timezone=GMT, pingInterval=5000, portletIds=[161,33], regi
      sterTimeout=300000, servletContextName=[], shutdownTimeout=300000, spiAgentClassName=com.liferay.portal.resiliency.spi.agent.HttpClientSPIAgent, spiId=10503} died unexpectedly; nested exception is: _ java.util.concurrent.CancellationException [Sanitized]
              at com.liferay.portal.kernel.resiliency.spi.remote.RemoteSPIProxy.isAlive(RemoteSPIProxy.java:141)
              at com.liferay.portal.kernel.resiliency.mpi.MPIHelperUtil._checkSPILiveness(MPIHelperUtil.java:372)
              at com.liferay.portal.kernel.resiliency.mpi.MPIHelperUtil.getSPI(MPIHelperUtil.java:65)
              at com.liferay.portal.resiliency.spi.model.impl.SPIDefinitionImpl.getSPI(SPIDefinitionImpl.java:120)
              at com.liferay.portal.resiliency.spi.model.impl.SPIDefinitionImpl.isAlive(SPIDefinitionImpl.java:172)
              at com.liferay.portal.resiliency.spi.servlet.SPIAdminServletContextListener.doPortalDestroy(SPIAdminServletContextListener.java:58)
              at com.liferay.portal.kernel.util.BasePortalLifecycle.portalDestroy(BasePortalLifecycle.java:31)
              at com.liferay.portal.kernel.util.PortalLifecycleUtil.flushDestroys(PortalLifecycleUtil.java:32)
              at com.liferay.portal.servlet.MainServlet.destroy(MainServlet.java:141)
              at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1482)
              at org.apache.catalina.core.StandardWrapper.stopInternal(StandardWrapper.java:1843)
              at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
              at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5614)
              at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
              at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)
              at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
              at java.util.concurrent.FutureTask.run(FutureTask.java:166)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
              at java.lang.Thread.run(Thread.java:724)
      Caused by: java.util.concurrent.CancellationException
              at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:250)
              at java.util.concurrent.FutureTask.get(FutureTask.java:111)
              at com.liferay.portal.kernel.process.ProcessExecutor$ProcessExecutionFutureResult.get(ProcessExecutor.java:474)
              at com.liferay.portal.kernel.resiliency.spi.remote.RemoteSPIProxy.isAlive(RemoteSPIProxy.java:138)
              ... 20 more
      18:10:42,293 WARN  [localhost-startStop-2][MPIHelperUtil:259] Not unregistering SPI Tomcat SPI Provider#{baseDir=L:\Private\6.2.x-bundles\tomcat-7.0.42\temp\10503, connectorPort=7072, extraSettings=maxThreads=100_minThreads=20, javaExecutable=java, jvmArguments=-Xmx512m -XX:PermSize=200m -Duser.time
      zone=GMT, pingInterval=5000, portletIds=[161,33], registerTimeout=300000, servletContextName=[], shutdownTimeout=300000, spiAgentClassName=com.liferay.portal.resiliency.spi.agent.HttpClientSPIAgent, spiId=10503} with unknown SPI provider Tomcat SPI Provider [Sanitized]
      18:10:42,299 INFO  [localhost-startStop-2][HotDeployEvent:130] Plugin spi-admin-portlet requires marketplace-portlet, spi-provider-web
      18:10:42,300 INFO  [localhost-startStop-2][PortletHotDeployListener:523] Unregistering portlets for spi-admin-portlet
      18:10:42,306 INFO  [localhost-startStop-2][PortletHotDeployListener:558] 1 portlet for spi-admin-portlet was unregistered
      18:10:42,357 INFO  [localhost-startStop-2][HookHotDeployListener:944] Hook for spi-admin-portlet was unregistered
      Mar 05, 2014 6:10:42 PM org.apache.catalina.core.ApplicationContext log
      INFO: Closing Spring root WebApplicationContext
      18:10:42,368 INFO  [localhost-startStop-2][PluginPackageUtil:1016] Reading plugin package for spi-admin-portlet
      18:10:42,375 INFO  [localhost-startStop-2][PortletHotDeployListener:523] Unregistering portlets for marketplace-portlet
      18:10:42,378 INFO  [localhost-startStop-2][PortletHotDeployListener:563] 3 portlets for marketplace-portlet were unregistered
      18:10:42,379 INFO  [localhost-startStop-2][HookHotDeployListener:944] Hook for marketplace-portlet was unregistered
      Mar 05, 2014 6:10:42 PM org.apache.catalina.core.ApplicationContext log
      INFO: Closing Spring root WebApplicationContext
      18:10:42,385 INFO  [localhost-startStop-2][PluginPackageUtil:1016] Reading plugin package for marketplace-portlet
      WARN: The method class org.apache.commons.logging.impl.SLF4JLogFactory#release() was invoked.
      WARN: Please see http://www.slf4j.org/codes.html#release for an explanation.
      Mar 05, 2014 6:10:43 PM org.apache.catalina.core.ApplicationContext log
      INFO: Closing Spring root WebApplicationContext
      Mar 05, 2014 6:10:43 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SEVERE: The web application [] appears to have started a thread named [org.python.google.common.base.internal.Finalizer] but has failed to stop it. This is very likely to create a memory leak.
      Mar 05, 2014 6:10:43 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SEVERE: The web application [] appears to have started a thread named [ReferenceReaper] but has failed to stop it. This is very likely to create a memory leak.
      Mar 05, 2014 6:10:44 PM org.apache.coyote.AbstractProtocol stop
      INFO: Stopping ProtocolHandler ["http-bio-8080"]
      Mar 05, 2014 6:10:44 PM org.apache.coyote.AbstractProtocol stop
      INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
      Mar 05, 2014 6:10:44 PM org.apache.coyote.AbstractProtocol destroy
      INFO: Destroying ProtocolHandler ["http-bio-8080"]
      Mar 05, 2014 6:10:44 PM org.apache.coyote.AbstractProtocol destroy
      INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
      

      Expected Results:
      no console errors and proper shutdown of SPI

      Actual Results:
      exceptions thrown on console

        Attachments

          Activity

            People

            • Assignee:
              john.co John Co
              Reporter:
              john.co John Co
              Participants of an Issue:
              Recent user:
              Esther Sanz
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since last comment:
                5 years, 30 weeks, 5 days ago

                Packages

                Version Package
                7.0.0 M1