VTUL / vtechworks

DSpace at Virginia Tech
http://vtechworks.lib.vt.edu
Other
6 stars 8 forks source link

OAI-PMH harvest fails with java.lang.ArrayIndexOutOfBoundsException error #735

Closed alawvt closed 3 years ago

alawvt commented 3 years ago

The item, http://hdl.handle.net/10919/86579, appears ok. However, attempting to harvest https://vtechworks-dev.cloud.lib.vt.edu/oai/request?verb=GetRecord&metadataPrefix=oai_dc&identifier=oai:vtechworks.lib.vt.edu:10919/86579 returns

HTTP Status 500 – Internal Server Error

Type Exception Report

Message Request processing failed; nested exception is java.lang.ArrayIndexOutOfBoundsException: 743

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ArrayIndexOutOfBoundsException: 743
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:963)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:842)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause

java.lang.ArrayIndexOutOfBoundsException: 743
    com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4734)
    com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3687)
    com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1071)
    org.codehaus.stax2.ri.Stax2EventReaderImpl.nextEvent(Stax2EventReaderImpl.java:255)
    com.lyncode.xoai.dataprovider.xml.EchoElement.write(EchoElement.java:31)
    com.lyncode.xoai.dataprovider.xml.oaipmh.MetadataType.write(MetadataType.java:78)
    com.lyncode.xoai.dataprovider.xml.oaipmh.RecordType.write(RecordType.java:130)
    com.lyncode.xoai.dataprovider.xml.oaipmh.GetRecordType.write(GetRecordType.java:70)
    com.lyncode.xoai.util.XmlIOUtils.writeElement(XmlIOUtils.java:20)
    com.lyncode.xoai.dataprovider.xml.oaipmh.OAIPMHtype.write(OAIPMHtype.java:282)
    com.lyncode.xoai.dataprovider.xml.oaipmh.OAIPMH.write(OAIPMH.java:44)
    org.dspace.xoai.services.impl.cache.DSpaceXOAICacheService.store(DSpaceXOAICacheService.java:97)
    org.dspace.xoai.controller.DSpaceOAIDataProvider.contextAction(DSpaceOAIDataProvider.java:104)
    sun.reflect.GeneratedMethodAccessor439.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:498)
    org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672)
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:842)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
alawvt commented 3 years ago

I created a duplicate of this item and it had the same error. Next I deleted the abstract and OAI-PMH worked. Then I replaced (𝝌² ) with (Χ²) in the abstract and that worked, too. So, finally, I deleted the duplicate item, leaving http://hdl.handle.net/10919/86579.

alawvt commented 3 years ago

Another item, http://hdl.handle.net/10919/85889, failed with 𝝰4 and 𝝰5 in dc.description.abstract. I replaced them with α4 and α5 and they harvest in https://vtechworks.lib.vt.edu/oai/request?verb=GetRecord&metadataPrefix=qdc&identifier=oai:vtechworks.lib.vt.edu:10919/85889 correctly.