chenejac / VIVOTestMigrationJIRA

0 stars 0 forks source link

VIVO-1910: VIVO sitemap.xml broken #1800

Closed chenejac closed 3 years ago

chenejac commented 3 years ago

Benjamin Gross (Migrated from VIVO-1910) said:

Visiting localhost:8080/sitemap.xml returns an error on 1.11.2-SNAPSHOT versions. {panel:title=sitemap.xml} h3. This page contains the following errors: error on line 3 at column 1: Extra content at the end of the document h3. Below is a rendering of the page up to the first error. {panel} The source for the page only says:

<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

The vivo.all.log doesn't include any errors.

chenejac commented 3 years ago

Benjamin Gross said:

Deepest I've gotten so far is determining that  UrlBuilder.getIndividualProfileUrl is called, but it fails at this line: [https://github.com/vivo-project/Vitro/blob/master/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/UrlBuilder.java#L249]

chenejac commented 3 years ago

Andrew Woods said:

Small hint: this bug does not reveal itself on an empty installation.

chenejac commented 3 years ago

Andrew Woods said:

I put at try/catch around the contents of "processQuerySolution()", printing out the exception and stacktrace: https://github.com/vivo-project/VIVO/blob/develop/api/src/main/java/org/vivoweb/webapp/sitemap/SiteMapServlet.java#L75-L88

Here is the stacktrace:

Jul 29 19:36:31 silver tomcat9[4058255]: exception: org.apache.jena.sparql.JenaTransactionException: Currently in a transaction (location:/opt/vivo/home/tdbContentModels/)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.jena.tdb.transaction.DatasetGraphTransaction.checkNotActive(DatasetGraphTransaction.java:158)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.jena.sparql.core.DatasetGraphTrackActive.begin(DatasetGraphTrackActive.java:46)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.jena.sparql.core.DatasetImpl.begin(DatasetImpl.java:122)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.tdb.RDFServiceTDB.getGraphURIs(RDFServiceTDB.java:170)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceFactorySingle$UnclosableRDFService.getGraphURIs(RDFServiceFactorySingle.java:129)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.rdfservice.impl.logging.LoggingRDFService.getGraphURIs(LoggingRDFService.java:144)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceModelMaker.getModelNames(RDFServiceModelMaker.java:72)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceModelMaker.listModels(RDFServiceModelMaker.java:86)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.adapters.AbstractModelMakerDecorator.listModels(AbstractModelMakerDecorator.java:98)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.adapters.AbstractModelMakerDecorator.listModels(AbstractModelMakerDecorator.java:98)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.adapters.ModelMakerWithPersistentEmptyModels.listModels(ModelMakerWithPersistentEmptyModels.java:49)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.adapters.AbstractModelMakerDecorator.listModels(AbstractModelMakerDecorator.java:98)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.adapters.NamedDefaultModelMaker.listModels(NamedDefaultModelMaker.java:117)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.ontmodels.ModelMakerOntModelCache.getModelNames(ModelMakerOntModelCache.java:48)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.ontmodels.UnionModelsOntModelsCache.getModelNames(UnionModelsOntModelsCache.java:96)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.ontmodels.JoinedOntModelCache.getOntModel(JoinedOntModelCache.java:45)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.createOntModel(RequestModelAccessImpl.java:231)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.getOntModel(RequestModelAccessImpl.java:210)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.getOntModel(RequestModelAccessImpl.java:205)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.createOntModel(RequestModelAccessImpl.java:228)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.getOntModel(RequestModelAccessImpl.java:210)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.createOntModelSelector(RequestModelAccessImpl.java:278)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.getOntModelSelector(RequestModelAccessImpl.java:265)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.createWebappDaoFactory(RequestModelAccessImpl.java:320)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.getWebappDaoFactory(RequestModelAccessImpl.java:304)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.createWebappDaoFactory(RequestModelAccessImpl.java:316)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.getWebappDaoFactory(RequestModelAccessImpl.java:304)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.modelaccess.impl.RequestModelAccessImpl.getWebappDaoFactory(RequestModelAccessImpl.java:299)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.controller.VitroRequest.getWebappDaoFactory(VitroRequest.java:68)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.getIndividualProfileUrl(UrlBuilder.java:249)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.getIndividualProfileUrl(UrlBuilder.java:288)
Jul 29 19:36:31 silver tomcat9[4058255]: org.vivoweb.webapp.sitemap.SiteMapServlet$1.processQuerySolution(SiteMapServlet.java:80)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer.processResultSet(ResultSetConsumer.java:53)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.RDFServiceJena.sparqlSelectQuery(RDFServiceJena.java:505)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.tdb.RDFServiceTDB.sparqlSelectQuery(RDFServiceTDB.java:152)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceFactorySingle$UnclosableRDFService.sparqlSelectQuery(RDFServiceFactorySingle.java:119)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.rdfservice.impl.logging.LoggingRDFService.sparqlSelectQuery(LoggingRDFService.java:79)
Jul 29 19:36:31 silver tomcat9[4058255]: org.vivoweb.webapp.sitemap.SiteMapServlet.doGet(SiteMapServlet.java:74)
Jul 29 19:36:31 silver tomcat9[4058255]: javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
Jul 29 19:36:31 silver tomcat9[4058255]: javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet.service(VitroHttpServlet.java:71)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.filters.ExpiresFilter.doFilter(ExpiresFilter.java:1227)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.filters.PageRoutingFilter.doNonDisplayPage(PageRoutingFilter.java:111)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.filters.PageRoutingFilter.doFilter(PageRoutingFilter.java:102)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.filters.ClickjackFilter.doFilter(ClickjackFilter.java:34)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.filters.RequestModelsPrep.doFilter(RequestModelsPrep.java:59)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.filters.URLRewriterFilter.doFilter(URLRewriterFilter.java:40)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.filters.JSessionStripFilter.doFilter(JSessionStripFilter.java:63)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.filters.CachingResponseFilter.produceBasicResponse(CachingResponseFilter.java:321)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.filters.CachingResponseFilter.doFilter(CachingResponseFilter.java:115)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.i18n.selection.LocaleSelectionFilter.doFilter(LocaleSelectionFilter.java:64)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.filters.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:36)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.filters.SessionTimeoutLimitingFilter.doFilter(SessionTimeoutLimitingFilter.java:41)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: edu.cornell.mannlib.vitro.webapp.filters.StartupStatusDisplayFilter.doFilter(StartupStatusDisplayFilter.java:66)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
Jul 29 19:36:31 silver tomcat9[4058255]: java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
Jul 29 19:36:31 silver tomcat9[4058255]: java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
Jul 29 19:36:31 silver tomcat9[4058255]: org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
Jul 29 19:36:31 silver tomcat9[4058255]: java.base/java.lang.Thread.run(Thread.java:834)
chenejac commented 3 years ago

Andrew Woods said:

Commenting out: https://github.com/vivo-project/VIVO/blob/develop/api/src/main/java/org/vivoweb/webapp/sitemap/SiteMapServlet.java#L77

and replacing all subsequent references to "profileUrl" with "person" provides a sitemap without exception... as a further clue.

chenejac commented 3 years ago

Benjamin Gross said:

Just guessing, but I would suppose the 'person' variable is the individual's URI, which may not be resolvable.

chenejac commented 3 years ago

Andrew Woods said:

I wonder if the functionality works with SDB. [~accountid:5bb229e412ef2d4bf3a2233d], have you tested the SDB scenario?

chenejac commented 3 years ago

Benjamin Gross said:

Looks like your hunch is correct, it works with SDB. Wonder if this has always been the case...? 

chenejac commented 3 years ago

Benjamin Gross said:

[~accountid:557058:3f53c733-6ac2-4e92-9f12-e34e297283a3] reports that it works with TDB in older versions of VIVO.

chenejac commented 3 years ago

Benjamin Gross said:

Pull request: https://github.com/vivo-project/VIVO/pull/231