Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-30515

Fix NPE when retrieving tasks for User

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.10
    • Fix Version/s: 10.10-HF51, 11.x, 2021.7
    • Component/s: Core DBS
    • Release Notes Summary:
      ACE without granted element do not crash.
    • Backlog priority:
      800
    • Sprint:
      nxplatform #41, nxplatform #42
    • Story Points:
      1

      Description

      When trying to retrieve the list of tasks for a user the following error occurs

      java.lang.NullPointerException: null
      	at org.nuxeo.ecm.core.storage.dbs.DBSSession.memToAcp(DBSSession.java:1417) ~[nuxeo-core-storage-dbs-10.10-HF47.jar:?]
      	at org.nuxeo.ecm.core.storage.dbs.DBSSession.getACP(DBSSession.java:1327) ~[nuxeo-core-storage-dbs-10.10-HF47.jar:?]
      	at org.nuxeo.ecm.core.model.BaseSession.getACP(BaseSession.java:161) ~[nuxeo-core-10.10-HF42.jar:?]
      	at org.nuxeo.ecm.core.model.BaseSession.getMergedACP(BaseSession.java:182) ~[nuxeo-core-10.10-HF42.jar:?]
      	at sun.reflect.GeneratedMethodAccessor265.invoke(Unknown Source) ~[?:?]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_292]
      	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_292]
      	at org.nuxeo.ecm.core.storage.dbs.DBSRepositoryBase$DBSSessionInvoker.invoke(DBSRepositoryBase.java:542) ~[nuxeo-core-storage-dbs-10.10-HF47.jar:?]
      	at com.sun.proxy.$Proxy106.getMergedACP(Unknown Source) ~[?:?]
      	at org.nuxeo.ecm.core.api.AbstractSession.getACP(AbstractSession.java:569) ~[nuxeo-core-10.10-HF42.jar:?]
      	at org.nuxeo.ecm.core.api.impl.DocumentModelImpl.getACP(DocumentModelImpl.java:759) ~[nuxeo-core-api-10.10-HF45.jar:?]
      	at org.nuxeo.ecm.core.api.impl.DocumentModelImpl.detach(DocumentModelImpl.java:383) ~[nuxeo-core-api-10.10-HF45.jar:?]
      	at org.nuxeo.ecm.platform.routing.core.io.NodeAccessRunner.run(NodeAccessRunner.java:68) ~[nuxeo-routing-core-10.10-HF43.jar:?]
      	at org.nuxeo.ecm.core.api.UnrestrictedSessionRunner.runUnrestricted(UnrestrictedSessionRunner.java:119) ~[nuxeo-core-api-10.10-HF45.jar:?]
      	at org.nuxeo.ecm.platform.routing.core.io.TaskWriter.writeEntityBody(TaskWriter.java:120) ~[nuxeo-routing-core-10.10-HF43.jar:?]
      	at org.nuxeo.ecm.platform.routing.core.io.TaskWriter.writeEntityBody(TaskWriter.java:78) ~[nuxeo-routing-core-10.10-HF43.jar:?]
      	at org.nuxeo.ecm.core.io.marshallers.json.ExtensibleEntityJsonWriter.write(ExtensibleEntityJsonWriter.java:80) ~[nuxeo-core-io-10.10-HF44.jar:?]
      	at org.nuxeo.ecm.core.io.marshallers.json.AbstractJsonWriter.write(AbstractJsonWriter.java:81) ~[nuxeo-core-io-10.10-HF44.jar:?]
      	at org.nuxeo.ecm.core.io.marshallers.json.DefaultListJsonWriter.write(DefaultListJsonWriter.java:127) ~[nuxeo-core-io-10.10-HF44.jar:?]
      	at org.nuxeo.ecm.core.io.marshallers.json.DefaultListJsonWriter.write(DefaultListJsonWriter.java:73) ~[nuxeo-core-io-10.10-HF44.jar:?]
      	at org.nuxeo.ecm.core.io.marshallers.json.AbstractJsonWriter.write(AbstractJsonWriter.java:81) ~[nuxeo-core-io-10.10-HF44.jar:?]
      	at org.nuxeo.ecm.webengine.jaxrs.coreiodelegate.PartialCoreIODelegate.writeTo(PartialCoreIODelegate.java:113) ~[nuxeo-webengine-jaxrs-10.10-HF44.jar:?]
      	at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:302) ~[jersey-server-1.19.4.jar:1.19.4]
      	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1510) ~[jersey-server-1.19.4.jar:1.19.4]
      	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) ~[jersey-server-1.19.4.jar:1.19.4]
      	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) ~[jersey-server-1.19.4.jar:1.19.4]
      	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) ~[jersey-servlet-1.19.4.jar:1.19.4]
      	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) ~[jersey-servlet-1.19.4.jar:1.19.4]
      	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) ~[jersey-servlet-1.19.4.jar:1.19.4]
      	at org.nuxeo.ecm.webengine.app.jersey.WebEngineServlet.containerService(WebEngineServlet.java:72) ~[nuxeo-webengine-core-10.10-HF44.jar:?]
      	at org.nuxeo.ecm.webengine.app.jersey.WebEngineServlet.service(WebEngineServlet.java:56) ~[nuxeo-webengine-core-10.10-HF44.jar:?]
      

      There is a null pointer exception at this line

      boolean granted = (boolean) aceMap.get(KEY_ACE_GRANT);
      

      Here, you cannot cast a null value to a boolean and therefore an NPE is thrown.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: