We fixed the issue, it turns out the errors we were seeing were a result of a cyclic group reference. I tried to find the group programatically, but had issues getting the changes to take in the code. In the end, I just went through each group one by one and looked for circular group membership. It took forever, but eventually I found the offending group and removed it in the database. The table you need to modify is the "group2group" table. We deleted the offending entry from this table in the psql database and all of our group related internal server errors went away.
On Thursday, June 18, 2020 at 11:24:50 AM UTC-4, Braxton Van Gundy wrote: > > Hello, > > When we try to create a new group by clicking the "Create New Group" > button, DSpace displays an internal server error and we get a > java.lang.StackOverflowError in the logs from what looks like an infinite > loop. Any suggestions on how to prevent this? Error message below. > > > 2020-06-18 11:03:40,871 WARN > org.dspace.app.webui.servlet.InternalErrorServlet @ > :session_id=0FB44EED5587C201CD14C6EE0423B3A3:internal_error:-- URL Was: > https://my-website/tools/group-edit > -- Method: POST > -- Parameters were: > -- submit_add: "Create New Group" > > javax.servlet.ServletException: Servlet execution threw an exception > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:326) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > at > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > at > org.dspace.app.webui.filter.RegisteredOnlyFilter.doFilter(RegisteredOnlyFilter.java:66) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > at > org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) > at > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) > 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) > Caused by: java.lang.StackOverflowError > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:679) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > at > org.dspace.eperson.GroupServiceImpl.getChildren(GroupServiceImpl.java:694) > > ---------- There are hundreds of these same lines > ------------------------------------------- > > 2020-06-18 11:03:40,881 WARN org.dspace.app.webui.util.UIUtil @ Unable to > send email alert > org.hibernate.LazyInitializationException: failed to lazily initialize a > collection of role: org.dspace.content.DSpaceObject.metadata, could not > initialize proxy - no Session > at > org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:569) > at > org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:188) > at > org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:548) > at > org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:126) > at > org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:548) > at > org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:126) > at > org.hibernate.collection.internal.PersistentBag.iterator(PersistentBag.java:266) > at > org.dspace.content.DSpaceObjectServiceImpl.getMetadata(DSpaceObjectServiceImpl.java:129) > at > org.dspace.content.DSpaceObjectServiceImpl.getMetadataFirstValue(DSpaceObjectServiceImpl.java:380) > at org.dspace.eperson.EPerson.getFirstName(EPerson.java:253) > at org.dspace.eperson.EPerson.getFullName(EPerson.java:229) > at org.dspace.app.webui.util.UIUtil.sendAlert(UIUtil.java:531) > at > org.dspace.app.webui.servlet.InternalErrorServlet.doGet(InternalErrorServlet.java:54) > at > org.dspace.app.webui.servlet.InternalErrorServlet.doPost(InternalErrorServlet.java:62) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:743) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:410) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:337) > at > org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:479) > at > org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:417) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:204) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) > at > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) > 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) > > -- All messages to this mailing list should adhere to the DuraSpace Code of Conduct: https://duraspace.org/about/policies/code-of-conduct/ --- You received this message because you are subscribed to the Google Groups "DSpace Technical Support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/dspace-tech/c8149e10-4efe-440f-b99b-c4e85a358279o%40googlegroups.com.
