UI error is "Error: the import could not be completed". Customer is seeing this in production with 4.17.7. It's hard to trigger in a small demo container, but if I put a debug breakpoint and wait a few seconds I can get it to trigger.
Stacktrace
grouper;grouper_error.log;dev;nothing;2025-04-11T16:45:33,579: [pool-3-thread-4] ERROR UiV2GroupImport$3.callLogic(770) - [] - error
|
java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade
|
at org.apache.catalina.connector.RequestFacade.checkFacade(RequestFacade.java:856) ~[catalina.jar:9.0.102]
|
at org.apache.catalina.connector.RequestFacade.getAttribute(RequestFacade.java:245) ~[catalina.jar:9.0.102]
|
at javax.servlet.ServletRequestWrapper.getAttribute(ServletRequestWrapper.java:83) ~[servlet-api.jar:4.0.FR]
|
at edu.internet2.middleware.grouper.j2ee.GrouperRequestWrapper.getAttribute(GrouperRequestWrapper.java:117) ~[grouper-ui-4.17.6.jar:4.17.6]
|
at edu.internet2.middleware.grouper.cfg.text.GrouperTextContainer.retrieveFromRequest(GrouperTextContainer.java:134) ~[grouper-4.17.6.jar:4.17.6]
|
at edu.internet2.middleware.grouper.grouperUi.beans.ui.TextContainer.retrieveFromRequest(TextContainer.java:37) ~[grouper-ui-4.17.6.jar:4.17.6]
|
at edu.internet2.middleware.grouper.grouperUi.serviceLogic.UiV2GroupImport.groupImportSubmitHelper(UiV2GroupImport.java:969) ~[grouper-ui-4.17.6.jar:4.17.6]
|
at edu.internet2.middleware.grouper.grouperUi.serviceLogic.UiV2GroupImport$3.callLogic(UiV2GroupImport.java:762) [grouper-ui-4.17.6.jar:4.17.6]
|
at edu.internet2.middleware.grouper.grouperUi.serviceLogic.UiV2GroupImport$3.callLogic(UiV2GroupImport.java:755) [grouper-ui-4.17.6.jar:4.17.6]
|
at edu.internet2.middleware.grouper.util.GrouperCallable.callLogicWithSessionIfExists(GrouperCallable.java:210) [grouper-4.17.6.jar:4.17.6]
|
at edu.internet2.middleware.grouper.util.GrouperCallable.call(GrouperCallable.java:167) [grouper-4.17.6.jar:4.17.6]
|
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
|
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
|
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
|
at java.lang.Thread.run(Thread.java:840) [?:?]
|