Uploaded image for project: 'DSpace'
  1. DSpace
  2. DS-3465

internal system error when trying to log in

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 6.0, 6.1
    • Fix Version/s: None
    • Component/s: DSpace API
    • Environment:
      tested on CentOS 6 and 7, Java 8, Jetty 9.4
    • Attachments:
      1
    • Comments:
      2
    • Documentation Status:
      Not Required

      Description

      When log in the DSpace 6 or 7.0 snapshot, an Internal system error occur no matter you are using jspui or xmlui. If an eperson doesn't have firstname, lastname, email, etc information for its profile, you may see the following error message (JSPUI):
      general_jspui_error:java.lang.NullPointerException
      java.lang.NullPointerException
      at org.dspace.content.DSpaceObjectServiceImpl.match(DSpaceObjectServiceImpl.java:427)
      at org.dspace.content.DSpaceObjectServiceImpl.getMetadata(DSpaceObjectServiceImpl.java:131)
      at org.dspace.content.DSpaceObjectServiceImpl.getMetadataFirstValue(DSpaceObjectServiceImpl.java:380)
      at org.dspace.eperson.EPerson.getFirstName(EPerson.java:250)
      at org.dspace.eperson.EPerson.getFullName(EPerson.java:226)
      at org.dspace.eperson.EPerson.equals(EPerson.java:131)
      at org.dspace.eperson.GroupServiceImpl.allMemberGroups(GroupServiceImpl.java:207)
      at org.dspace.authorize.AuthorizeServiceImpl.isCommunityAdmin(AuthorizeServiceImpl.java:429)
      at org.dspace.app.webui.util.Authenticate.loggedIn(Authenticate.java:313)
      at org.dspace.app.webui.servlet.LDAPServlet.doDSPost(LDAPServlet.java:85)
      at org.dspace.app.webui.servlet.DSpaceServlet.processRequest(DSpaceServlet.java:122)
      at org.dspace.app.webui.servlet.DSpaceServlet.doPost(DSpaceServlet.java:80)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:838)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
      at org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1613)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1584)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1228)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1130)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
      at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:118)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
      at org.eclipse.jetty.server.Server.handle(Server.java:564)
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:318)
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
      at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
      at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:112)
      at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
      at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:122)
      at org.eclipse.jetty.util.thread.strategy.ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58)
      at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:201)
      at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:133)
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
      at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
      at java.lang.Thread.run(Thread.java:745)

      The simple fix is to return false if the metadataField is null in the match member function. See the patch.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              qzou Jason
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: