Skip to content

NPE: CmsConfigurationCache:125 #548

@gallardo

Description

@gallardo

I have found the NPE ERROR [ration.CmsConfigurationCache$1: 125] many times in production. I don't know the circumstances under which it is thrown, though, nor can I asses how critical it is.

The relevant code (https://github.com/alkacon/opencms-core/blob/build_10_5_2/src/org/opencms/ade/configuration/CmsConfigurationCache.java#L125) is pretty old and simple:

                if (m_state == null) {
                    // this can only happen before the ADE manager is initialized
                    return Boolean.FALSE;
                }
                try {
                    return Boolean.valueOf(m_state.isDetailPage(m_cms, key)); // << Throws exception
                } catch (Exception e) {
                    LOG.error(e.getLocalizedMessage(), e);
                    return Boolean.FALSE;
                }

The production server that logged these errors runs a 10.5.2 version.

Excerpt from the logs:

31 Jan 2018 07:37:40,876 ERROR [ration.CmsConfigurationCache$1: 125]
java.lang.NullPointerException
        at org.opencms.util.CmsStringUtil.joinPaths(CmsStringUtil.java:1175)
        at org.opencms.ade.configuration.CmsADEConfigCacheState.isDetailPage(CmsADEConfigCacheState.java:448)
        at org.opencms.ade.configuration.CmsConfigurationCache$1.load(CmsConfigurationCache.java:123)
        at org.opencms.ade.configuration.CmsConfigurationCache$1.load(CmsConfigurationCache.java:112)
        at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
        at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
        at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
        at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
        at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
        at org.opencms.ade.configuration.CmsConfigurationCache.isDetailPage(CmsConfigurationCache.java:272)
        at org.opencms.ade.configuration.CmsADEManager.isDetailPage(CmsADEManager.java:964)
        at org.opencms.ui.components.CmsResourceIcon.getDetailType(CmsResourceIcon.java:151)
        at org.opencms.ui.components.CmsResourceIcon.getDefaultFileOrDetailType(CmsResourceIcon.java:120)
        at org.opencms.ui.components.CmsResourceIcon.getIconInnerHTML(CmsResourceIcon.java:314)
        at org.opencms.ui.components.CmsResourceIcon.getIconInnerHTML(CmsResourceIcon.java:288)
        at org.opencms.ui.components.CmsResourceIcon.initContent(CmsResourceIcon.java:435)
        at org.opencms.ui.components.CmsResourceIcon.<init>(CmsResourceIcon.java:100)
        at org.opencms.ui.components.CmsResourceTable.fillItemDefault(CmsResourceTable.java:350)
        at org.opencms.ui.components.CmsResourceTable.fillItem(CmsResourceTable.java:663)
        at org.opencms.ui.components.CmsResourceTable.fillTable(CmsResourceTable.java:565)
        at org.opencms.ui.apps.CmsFileExplorer.readFolder(CmsFileExplorer.java:1202)
        at org.opencms.ui.apps.CmsFileExplorer.readFolder(CmsFileExplorer.java:1177)
        at org.opencms.ui.apps.CmsFileExplorer.handleFileTreeClick(CmsFileExplorer.java:1291)
        at org.opencms.ui.apps.CmsFileExplorer$9.itemClick(CmsFileExplorer.java:641)
        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 com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
        at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
        at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
        at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)
        at com.vaadin.ui.Tree.changeVariables(Tree.java:517)
        at com.vaadin.server.communication.ServerRpcHandler.changeVariables(ServerRpcHandler.java:627)
        at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:461)
        at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:411)
        at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
        at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)
        at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
        at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1422)
        at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:379)
        at org.opencms.main.CmsUIServlet.service(CmsUIServlet.java:321)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:206)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1533)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1489)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions