Thanks for your continued help…
Yes, the shutdown time seems consistent. It’s always about the same time… just after zwave init. I did try removing zwave, weather, and a bunch of other bindings to see if they were the culprits, but I haven’t found it yet.
The window to ssh into the console is too small. I got it once, and then it quit immediately anyway. I ended up setting the log level to TRACE in the org.ops4j.pax.logging.cfg file, which resulted in a lot more logging… there’s a message that the ‘STARTLEVEL_CHANGED’, but no inidication of why the startlevel changed… uhg. The line of interest:
2019-08-06 11:32:45.882 [DEBUG] [org.eclipse.osgi ] - FrameworkEvent STARTLEVEL CHANGED - org.eclipse.osgi
`
The log around that is below. It seems pretty consistent, where the servlet has just started or so. Not sure whether that’s a coincidence or not… I don’t see other STARTLEVEL messages, so maybe that’s not relevant. Still trying to figure out what’s causing the orderly shutdown…
2019-08-06 11:32:45.835 [DEBUG] [ce.jetty.internal.HttpServiceContext] - ServletContext registered as service.
2019-08-06 11:32:45.835 [DEBUG] [org.quartz.core.JobRunShell ] - Calling execute on job MapDB_[SchedulerGroup.Commit_Transaction](http://SchedulerGroup.Commit_Transaction)
2019-08-06 11:32:45.836 [INFO ] [.jetty.server.handler.ContextHandler] - Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=org.openhab.core_2.4.0 [180], contextID=default]}
2019-08-06 11:32:45.837 [DEBUG] [ce.jetty.internal.HttpServiceContext] - Started servlet context for http context [DefaultHttpContext [bundle=org.openhab.core_2.4.0 [180], contextID=default]]
2019-08-06 11:32:45.837 [DEBUG] [[tty.util.component.AbstractLifeCycle](http://tty.util.component.AbstractLifeCycle)] - STARTED @30688ms HttpServiceContext{httpContext=DefaultHttpContext [bundle=org.openhab.core_2.4.0 [180], contextID=default]}
2019-08-06 11:32:45.838 [DEBUG] [rvice.jetty.internal.JettyServerImpl] - Adding servlet [ResourceModel{id=org.ops4j.pax.web.service.spi.model.ResourceModel-55,name=default,urlPatterns=[/],alias=/,servlet=ResourceServlet{context=/,alias=/,name=default},initParams={},context=ContextModel{id=org.ops4j.pax.web.service.spi.model.ContextModel-53,name=,httpContext=DefaultHttpContext [bundle=org.ope
nhab.core_2.4.0 [180], contextID=default],contextParams={},virtualHosts={},connectors={}}}]
2019-08-06 11:32:45.839 [DEBUG] [[ty.util.component.ContainerLifeCycle](http://ty.util.component.ContainerLifeCycle)] - org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler@2d3110f6 added {default@5c13d641==org.ops4j.pax.web.service.jetty.internal.ResourceServlet,jsp=null,order=-1,inst=true,UNMANAGED}
2019-08-06 11:32:45.839 [DEBUG] [rg.quartz.core.QuartzSchedulerThread] - batch acquisition of 1 triggers
2019-08-06 11:32:45.840 [DEBUG] [[ty.util.component.ContainerLifeCycle](http://ty.util.component.ContainerLifeCycle)] - org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler@2d3110f6 added {[/]=>default,POJO}
2019-08-06 11:32:45.840 [DEBUG] [eclipse.jetty.servlet.ServletHandler] - Path=/images/*[EMBEDDED:null] mapped to servlet=org.ops4j.pax.web.service.spi.model.ServletModel-54[EMBEDDED:null]
2019-08-06 11:32:45.841 [DEBUG] [ipse.jetty.http.pathmap.PathMappings] - Added MappedResource[pathSpec=ServletPathSpec["/images/*",pathDepth=2,group=PREFIX_GLOB],resource=org.ops4j.pax.web.service.spi.model.ServletModel-54@b9f03ed7==org.openhab.core.internal.icon.IconForwarder,jsp=null,order=-1,inst=true] to PathMappings[size=1]
2019-08-06 11:32:45.842 [DEBUG] [eclipse.jetty.servlet.ServletHandler] - Path=/[EMBEDDED:null] mapped to servlet=default[EMBEDDED:null]
2019-08-06 11:32:45.843 [DEBUG] [org.quartz.core.JobRunShell ] - Calling execute on job Weather.weatherJob-folsom
2019-08-06 11:32:45.843 [DEBUG] [ipse.jetty.http.pathmap.PathMappings] - Added MappedResource[pathSpec=ServletPathSpec["/",pathDepth=-1,group=DEFAULT],resource=default@5c13d641==org.ops4j.pax.web.service.jetty.internal.ResourceServlet,jsp=null,order=-1,inst=true] to PathMappings[size=2]
2019-08-06 11:32:45.844 [DEBUG] [eclipse.jetty.servlet.ServletHandler] - filterNameMap={}
2019-08-06 11:32:45.851 [DEBUG] [eclipse.jetty.servlet.ServletHandler] - pathFilters=null
2019-08-06 11:32:45.852 [DEBUG] [eclipse.jetty.servlet.ServletHandler] - servletFilterMap=null
2019-08-06 11:32:45.853 [DEBUG] [eclipse.jetty.servlet.ServletHandler] - servletPathMap=PathMappings[size=2]
2019-08-06 11:32:45.853 [DEBUG] [eclipse.jetty.servlet.ServletHandler] - servletNameMap={default=default@5c13d641==org.ops4j.pax.web.service.jetty.internal.ResourceServlet,jsp=null,order=-1,inst=true, org.ops4j.pax.web.service.spi.model.ServletModel-54=org.ops4j.pax.web.service.spi.model.ServletModel-54@b9f03ed7==org.openhab.core.internal.icon.IconForwarder,jsp=null,order=-1,inst=true}
2019-08-06 11:32:45.854 [DEBUG] [[tty.util.component.AbstractLifeCycle](http://tty.util.component.AbstractLifeCycle)] - starting default@5c13d641==org.ops4j.pax.web.service.jetty.internal.ResourceServlet,jsp=null,order=-1,inst=true
2019-08-06 11:32:45.856 [DEBUG] [[tty.util.component.AbstractLifeCycle](http://tty.util.component.AbstractLifeCycle)] - STARTED @30707ms default@5c13d641==org.ops4j.pax.web.service.jetty.internal.ResourceServlet,jsp=null,order=-1,inst=true
2019-08-06 11:32:45.857 [DEBUG] [.eclipse.jetty.servlet.ServletHolder] - Servlet.init ResourceServlet{context=/,alias=/,name=default} for default
2019-08-06 11:32:45.858 [DEBUG] [vice.internal.ServletEventDispatcher] - Sending web event ServletEvent [replay=false, type=DEPLOYED, bundle=180-org.openhab.core, timestamp=1565116365858, alias=/images, servletName=org.ops4j.pax.web.service.spi.model.ServletModel-54, urlParameter=[/images/*], servletClass=org.openhab.core.internal.icon.IconForwarder], httpContext=DefaultHttpContext [bundle=o
rg.openhab.core_2.4.0 [180], contextID=default]] for bundle org.openhab.core
2019-08-06 11:32:45.872 [DEBUG] [rg.quartz.core.QuartzSchedulerThread] - batch acquisition of 1 triggers
2019-08-06 11:32:45.874 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - Java version: 1.8.0_131
2019-08-06 11:32:45.875 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - Java vendor: Oracle Corporation
2019-08-06 11:32:45.875 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - Java class path: /opt/openhab2/runtime/lib/boot/activation-1.1.1.jar:/opt/openhab2/runtime/lib/boot/jaxb-api-2.3.0.jar:/opt/openhab2/runtime/lib/boot/jaxb-core-2.2.11.jar:/opt/openhab2/runtime/lib/boot/jaxb-impl-2.2.11.jar:/opt/openhab2/runtime/lib/boot/org.apache.karaf.diagnostic.boot-4.2.1.jar:/opt/openhab2/runtime/li
b/boot/org.apache.karaf.jaas.boot-4.2.1.jar:/opt/openhab2/runtime/lib/boot/org.apache.karaf.main-4.2.1.jar:/opt/openhab2/runtime/lib/boot/org.osgi.core-6.0.0.jar
2019-08-06 11:32:45.875 [DEBUG] [mpl.info.InfoBundleTrackerCustomizer] - Ignore incorrect info null provided by bundle org.openhab.core
2019-08-06 11:32:45.875 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - Operating system name: Linux
2019-08-06 11:32:45.876 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - Operating system architecture: amd64
2019-08-06 11:32:45.876 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - Operating system version: 2.6.32-754.17.1.el6.x86_64
2019-08-06 11:32:45.877 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - SUN 1.8: SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; JKS & DKS keystores; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores, JavaPolicy Policy; JavaLoginConfig Configuration)
2019-08-06 11:32:45.877 [DEBUG] [org.quartz.core.JobRunShell ] - Calling execute on job Weather.weatherJob-folsomOWM
2019-08-06 11:32:45.877 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - SunRsaSign 1.8: Sun RSA signature provider
2019-08-06 11:32:45.878 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - SunEC 1.8: Sun Elliptic Curve provider (EC, ECDSA, ECDH)
2019-08-06 11:32:45.878 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - SunJSSE 1.8: Sun JSSE provider(PKCS12, SunX509/PKIX key/trust factories, SSLv3/TLSv1/TLSv1.1/TLSv1.2)
2019-08-06 11:32:45.878 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - SunJCE 1.8: SunJCE Provider (implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE, Diffie-Hellman, HMAC)
2019-08-06 11:32:45.879 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - SunJGSS 1.8: Sun (Kerberos v5, SPNEGO)
2019-08-06 11:32:45.879 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - SunSASL 1.8: Sun SASL provider(implements client mechanisms for: DIGEST-MD5, GSSAPI, EXTERNAL, PLAIN, CRAM-MD5, NTLM; server mechanisms for: DIGEST-MD5, GSSAPI, CRAM-MD5, NTLM)
2019-08-06 11:32:45.879 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - XMLDSig 1.8: XMLDSig (DOM XMLSignatureFactory; DOM KeyInfoFactory; C14N 1.0, C14N 1.1, Exclusive C14N, Base64, Enveloped, XPath, XPath2, XSLT TransformServices)
2019-08-06 11:32:45.880 [DEBUG] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - SunPCSC 1.8: Sun PC/SC provider
2019-08-06 11:32:45.882 [DEBUG] [org.apache.karaf.main.Main ] - Start level change complete.
2019-08-06 11:32:45.882 [DEBUG] [org.eclipse.osgi ] - FrameworkEvent STARTLEVEL CHANGED - org.eclipse.osgi
2019-08-06 11:32:45.885 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.useragent = Jakarta Commons-HttpClient/3.1
2019-08-06 11:32:45.888 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.protocol.version = HTTP/1.1
2019-08-06 11:32:45.889 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.connection-manager.class = class [org.apache.commons.httpclient.SimpleHttpConnectionManager](http://org.apache.commons.httpclient.SimpleHttpConnectionManager)
2019-08-06 11:32:45.890 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.protocol.cookie-policy = default
2019-08-06 11:32:45.891 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.protocol.element-charset = US-ASCII
2019-08-06 11:32:45.891 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.protocol.content-charset = ISO-8859-1
2019-08-06 11:32:45.893 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.method.retry-handler = [org.apache.commons.httpclient.DefaultHttpMethodRetryHandler@6002461f](http://org.apache.commons.httpclient.DefaultHttpMethodRetryHandler@6002461f)
2019-08-06 11:32:45.893 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.dateparser.patterns = [EEE, dd MMM yyyy HH:mm:ss zzz, EEEE, dd-MMM-yy HH:mm:ss zzz, EEE MMM d HH:mm:ss yyyy, EEE, dd-MMM-yyyy HH:mm:ss z, EEE, dd-MMM-yyyy HH-mm-ss z, EEE, dd MMM yy HH:mm:ss z, EEE dd-MMM-yyyy HH:mm:ss z, EEE dd MMM yyyy HH:mm:ss z, EEE dd-MMM-yyyy HH-mm-ss z, EEE dd-MMM-yy HH:mm:ss z, EEE dd MMM yy HH:mm:ss z, EEE,dd-MMM-yy HH:mm:ss z, EEE,dd-MMM-yyyy HH:mm:ss z, EEE, dd-MM-yyyy HH:mm:ss z]
2019-08-06 11:32:45.924 [TRACE] [commons.httpclient.methods.GetMethod] - enter GetMethod(String)
2019-08-06 11:32:45.924 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.socket.timeout = 15000
2019-08-06 11:32:45.924 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.method.retry-handler = [org.apache.commons.httpclient.DefaultHttpMethodRetryHandler@3fb3e21f](http://org.apache.commons.httpclient.DefaultHttpMethodRetryHandler@3fb3e21f)
2019-08-06 11:32:45.926 [TRACE] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - enter HttpClient.executeMethod(HttpMethod)
2019-08-06 11:32:45.926 [TRACE] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - enter HttpClient.executeMethod(HostConfiguration,HttpMethod,HttpState)
2019-08-06 11:32:45.929 [TRACE] [commons.httpclient.methods.GetMethod] - enter GetMethod(String)
2019-08-06 11:32:45.930 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.socket.timeout = 15000
2019-08-06 11:32:45.930 [DEBUG] [.httpclient.params.DefaultHttpParams] - Set parameter http.method.retry-handler = [org.apache.commons.httpclient.DefaultHttpMethodRetryHandler@23914a72](http://org.apache.commons.httpclient.DefaultHttpMethodRetryHandler@23914a72)
2019-08-06 11:32:45.930 [TRACE] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - enter HttpClient.executeMethod(HttpMethod)
2019-08-06 11:32:45.930 [TRACE] [[apache.commons.httpclient.HttpClient](http://apache.commons.httpclient.HttpClient)] - enter HttpClient.executeMethod(HostConfiguration,HttpMethod,HttpState)
2019-08-06 11:32:45.939 [TRACE] [ommons.httpclient.HttpMethodDirector] - Attempt number 1 to process request
2019-08-06 11:32:45.939 [TRACE] [[he.commons.httpclient.HttpConnection](http://he.commons.httpclient.HttpConnection)] - enter HttpConnection.open()
2019-08-06 11:32:45.940 [DEBUG] [[he.commons.httpclient.HttpConnection](http://he.commons.httpclient.HttpConnection)] - Open connection to [api.darksky.net:443](http://api.darksky.net:443)
2019-08-06 11:32:45.941 [TRACE] [ommons.httpclient.HttpMethodDirector] - Attempt number 1 to process request
2019-08-06 11:32:45.941 [TRACE] [[he.commons.httpclient.HttpConnection](http://he.commons.httpclient.HttpConnection)] - enter HttpConnection.open()
2019-08-06 11:32:45.941 [DEBUG] [[he.commons.httpclient.HttpConnection](http://he.commons.httpclient.HttpConnection)] - Open connection to [api.openweathermap.org:80](http://api.openweathermap.org:80)
2019-08-06 11:32:45.943 [DEBUG] [eb.service.internal.HttpServiceProxy] - Unregistering [/images]
2019-08-06 11:32:45.944 [DEBUG] [.service.internal.HttpServiceStarted] - Unregister servlet (alias=/images)
2019-08-06 11:32:45.945 [DEBUG] [vice.internal.ServletEventDispatcher] - Sending web event ServletEvent [replay=false, type=UNDEPLOYING, bundle=180-org.openhab.core, timestamp=1565116365945, alias=/images, servletName=org.ops4j.pax.web.service.spi.model.ServletModel-54, urlParameter=[/images/*], servletClass=org.openhab.core.internal.icon.IconForwarder], httpContext=DefaultHttpContext [bundle=org.openhab.core_2.4.0 [180], contextID=default]] for bundle org.openhab.core
2019-08-06 11:32:45.946 [DEBUG] [rvice.jetty.internal.JettyServerImpl] - Removing servlet [ServletModel{id=org.ops4j.pax.web.service.spi.model.ServletModel-54,name=org.ops4j.pax.web.service.spi.model.ServletModel-54,urlPatterns=[/images/*],alias=/images,servlet=org.openhab.core.internal.icon.IconForwarder@7dfecf3b,initParams={},context=ContextModel{id=org.ops4j.pax.web.service.spi.model.ContextModel-53,name=,httpContext=DefaultHttpContext [bundle=org.openhab.core_2.4.0 [180], contextID=default],contextParams={},virtualHosts={},connectors={}}}]
2019-08-06 11:32:45.946 [DEBUG] [[tty.util.component.AbstractLifeCycle](http://tty.util.component.AbstractLifeCycle)] - stopping org.ops4j.pax.web.service.spi.model.ServletModel-54@b9f03ed7==org.openhab.core.internal.icon.IconForwarder,jsp=null,order=-1,inst=true
2019-08-06 11:32:45.947 [DEBUG] [[tty.util.component.AbstractLifeCycle](http://tty.util.component.AbstractLifeCycle)] - STOPPED org.ops4j.pax.web.service.spi.model.ServletModel-54@b9f03ed7==org.openhab.core.internal.icon.IconForwarder,jsp=null,order=-1,inst=true