Assume you are using GeoServer 2.20.2?
2020-07-14 12:56:28,229 ERROR [status.OSHISystemInfoCollector] - null
java.lang.NullPointerException
at
oshi.software.os.linux.LinuxOperatingSystem.getProcess(LinuxOperatingSystem.java:293)
at
oshi.software.os.linux.LinuxOperatingSystem.getProcess(LinuxOperatingSystem.java:210)
at
org.geoserver.system.status.OSHISystemInfoCollector.retrieveSystemInfo(OSHISystemInfoCollector.java:512)
Our pom uses:
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>5.8.6</version>
</dependency>
GeoServer OSHISystemInfoCollector.java is calling here
<https://github.com/geoserver/geoserver/blob/1ef0697b8485d4ef9c760ad410b8d049725e7a66/src/main/src/main/java/org/geoserver/system/status/OSHISystemInfoCollector.java#L508-L516>
(but
the line numbers do not quite line up):
case GEOSERVER_THREADS:
{
OSProcess gsProc = os.getProcess(os.getProcessId());*
// stack methods indicate here*
MetricValue mv = new MetricValue(info);
mv.setAvailable(true);* // stack trace is here on
line 512*
mv.setValue(gsProc.getThreadCount());
si = Collections.singletonList(mv);
break;
}
Checking the OSHI codebase, I cannot find the specific branch for 5.8.6
that matches with line number 293, so something is odd:
Branch "oshi-parent-java11-5.8.6" has line 293 in the
method queryFamilyVersionCodenameFromReleaseFiles():
// Attempt to read /etc/os-release file.
if ((familyVersionCodename = readOsRelease()) != null) {
// If successful, we're done. this.family has been set and
// possibly the versionID and codeName
return familyVersionCodename;
}
However the fact that there is a java 11 specific build of oshi is
concerning, perhaps an experiment is needed where you drop in a java11
specific build?
Downloading the source jar from maven, matches
https://github.com/oshi/oshi/blob/oshi-parent-5.8.6/oshi-core/src/main/java/oshi/software/os/linux/LinuxOperatingSystem.java
tag (and does not match your stack trace).
--
Jody Garnett
On Wed, 2 Feb 2022 at 13:14, Fernando Quadro <[email protected]> wrote:
> Kevin and All,
>
> I'm having this problem too, after I added some GC parameters (G1GC) to
> GeoServer. Does anyone know what can it be?
>
> https://deviniciative.wordpress.com/2020/07/23/dicas-para-tunning-de-g1-gc/
>
> I'm using CentOS 8, GeoServer 2.17.1, MariaDB and Java 11.
>
> Best regards,
>
> Fernando Quadro
> http://www.fernandoquadro.com.br
> https://www.linkedin.com/in/fernandoquadro/
>
>
> Em ter., 14 de jul. de 2020 às 14:36, Kevin Smith <[email protected]>
> escreveu:
>
>> Tomcat 9.0.37, Java 11, RHEL 8, new deployment with the Oracle, MSSQL,
>> Pregeneralized Features, and YSLD extensions.
>>
>> The system status module is adding an ERROR message to the logs once a
>> second because of a NullPointerException. This happens in the
>> LinuxOperatingSystem class when it tries to use the userGroup member
>> which is transient. So it seems like this might be a deserialization
>> problem. This is happening inside Wicket so I suspect that's what's
>> doing the serialization/deserialization.
>>
>> It looks like this happens whenever the status page is open and polling
>> in the background. The page seems to be working correctly though.
>>
>> When I first encountered this the stack trace was being suppressed but
>> now it's present.
>>
>> Anyone more familiar with the system status page have any thoughts in
>> this?
>>
>> 2020-07-14 12:56:28,229 ERROR [status.OSHISystemInfoCollector] - null
>> java.lang.NullPointerException
>> at
>>
>> oshi.software.os.linux.LinuxOperatingSystem.getProcess(LinuxOperatingSystem.java:293)
>> at
>>
>> oshi.software.os.linux.LinuxOperatingSystem.getProcess(LinuxOperatingSystem.java:210)
>> at
>>
>> org.geoserver.system.status.OSHISystemInfoCollector.retrieveSystemInfo(OSHISystemInfoCollector.java:512)
>> at
>>
>> org.geoserver.system.status.BaseSystemInfoCollector.retrieveAllSystemInfo(BaseSystemInfoCollector.java:27)
>> at
>>
>> org.geoserver.web.system.status.RefreshedPanel$2.onConfigure(RefreshedPanel.java:99)
>> at org.apache.wicket.Component.configure(Component.java:1061)
>> at
>> org.apache.wicket.Component.internalBeforeRender(Component.java:941)
>> at org.apache.wicket.Component.beforeRender(Component.java:1018)
>> at
>> org.apache.wicket.Component.internalPrepareForRender(Component.java:2236)
>> at org.apache.wicket.Component.prepareForRender(Component.java:2275)
>> at
>> org.apache.wicket.page
>> .XmlPartialPageUpdate.writeComponent(XmlPartialPageUpdate.java:98)
>> at
>> org.apache.wicket.page
>> .PartialPageUpdate.writeComponents(PartialPageUpdate.java:248)
>> at
>> org.apache.wicket.page
>> .PartialPageUpdate.writeTo(PartialPageUpdate.java:161)
>> at
>>
>> org.apache.wicket.ajax.AjaxRequestHandler.respond(AjaxRequestHandler.java:358)
>> at
>>
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
>> at
>>
>> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>> at
>>
>> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:97)
>> at
>>
>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
>> at
>>
>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
>> at
>>
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
>> at
>>
>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
>> at
>>
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
>> at
>>
>> org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:137)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
>> at
>>
>> org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:166)
>> at
>>
>> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177)
>> at
>>
>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:52)
>> at
>>
>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
>> at
>>
>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
>> at
>>
>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
>> at
>>
>> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
>> at
>>
>> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at
>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at
>>
>> org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:26)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at
>>
>> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:69)
>> at
>> org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:70)
>> at
>>
>> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:66)
>> at
>>
>> org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:41)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at
>>
>> org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:37)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at
>>
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
>> at
>>
>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
>> at
>>
>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
>> at
>>
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
>> at
>>
>> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
>> at
>>
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>> at
>>
>> org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:51)
>> at
>>
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
>> at
>>
>> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
>> at
>>
>> org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:122)
>> at
>>
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
>> at
>>
>> org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:158)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
>> at
>>
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
>> at
>>
>> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
>> at
>>
>> org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
>> at
>>
>> org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
>> at
>>
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>> at
>>
>> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
>> at
>>
>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
>> at
>>
>> org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:142)
>> at
>>
>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
>> at
>>
>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at
>> org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:101)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at
>>
>> org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:77)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at
>>
>> org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at
>> org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:42)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at
>>
>> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
>> at
>>
>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>> at
>>
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
>> at
>>
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
>> at
>>
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
>> at
>>
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
>> at
>>
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
>> at
>>
>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
>> at
>>
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
>> at
>>
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
>> at
>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
>> at
>>
>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
>> at
>>
>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
>> at
>> org.apache.tomcat.util.net
>> .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
>> at
>> org.apache.tomcat.util.net
>> .SocketProcessorBase.run(SocketProcessorBase.java:49)
>> at
>>
>> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>> at
>>
>> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>> at
>>
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>> at java.base/java.lang.Thread.run(Thread.java:834)
>>
>> --
>> Kevin Smith
>> [email protected]
>>
>>
>> _______________________________________________
>> Geoserver-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>>
> _______________________________________________
> Geoserver-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel