GemFire: GemFire Management Console 500 Internal Server Error with NPE exceptions
search cancel

GemFire: GemFire Management Console 500 Internal Server Error with NPE exceptions

book

Article ID: 419282

calendar_today

Updated On:

Products

VMware Tanzu Gemfire Pivotal GemFire

Issue/Introduction

GemFire Management Console 500 Server Internal Error with NPE exceptions:

java.lang.NullPointerException: null
        at java.base/sun.nio.fs.UnixPath.normalizeAndCheck(UnixPath.java:75) ~[na:na]
        at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69) ~[na:na]
        at java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:279) ~[na:na]
        at java.base/java.nio.file.Path.of(Path.java:147) ~[na:na]
        at java.base/java.nio.file.Paths.get(Paths.java:69) ~[na:na]
        at com.vmware.gemfire.gmc.services.KerberosService.reloadKerberosSecurityConfPath(KerberosService.java:118) ~[classes!/:na]
        at com.vmware.gemfire.gmc.services.KerberosService.getAuthConfig(KerberosService.java:45) ~[classes!/:na]
        at com.vmware.gemfire.gmc.configurations.KerberosAuthManager.authenticate(KerberosAuthManager.java:30) ~[classes!/:na]
        at org.springframework.security.kerberos.web.authentication.SpnegoAuthenticationProcessingFilter.doFilter(SpnegoAuthenticationProcessingFilter.java:145) ~[spring-security-kerberos-web-1.0.1.RELEASE.ja
r!/:1.0.1.RELEASE]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:350) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:140) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:118) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:350) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:216) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:210) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:350) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:216) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:210) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:350) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:91) ~[spring-web-5.3.45.jar!/:5.3.45]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:350) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:216) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:210) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:350) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:91) ~[spring-web-5.3.45.jar!/:5.3.45]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:350) ~[spring-security-web-5.8.21.jar!/:5.8.21]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:91) ~[spring-web-5.3.45.jar!/:5.3.45]

 

The exception is really misleading and the stack would look like product issue. 

In the meantime, browser returns below, and also looks like server side issue:

Environment

Browsers on Windows platforms.

Any GemFire Management Console.

Cause

It is due to the behavior of the browsers in Windows platform. When user uses any random URL such as: */dashboard/clusters, the browser won't redirect the URL to *index.html -> *login page, directly try to auth itself. 

Then the server will return 500 Server Internal Error and prints the NPE exceptions in the logs. The NPE exception is the result and symptom of this issue, not the cause.  

Browsers on Mac platform are fine, did not observe such symptom. 

Resolution

1. If you see below pop up, please do not input Username and Password, then click on Cancel:

2. If no popup at all and directly return 500 Internal Server Error, please use */index.html instead of any other URL on Windows platform browsers. 

For example: http://<ip or hostname>:8080/index.html