[ https://issues.apache.org/jira/browse/CAUSEWAY-3768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Keir Haywood updated CAUSEWAY-3768: ------------------------------------------ Component/s: Core Ext Sec AuditTrail Description: as a workaround for the bug now logged in CAUSEWAY-3770 java.util.ConcurrentModificationException: null at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719) ~[?:?] at java.util.LinkedHashMap$LinkedValueIterator.next(LinkedHashMap.java:746) ~[?:?] at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?] at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:?] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?] at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[?:?] at org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault.capturePostValuesAndDrain(EntityChangeTrackerDefault.java:193) ~[isis-persistence-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.commons.functional.ThrowingSupplier.get(ThrowingSupplier.java:61) ~[isis-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.commons.functional.ThrowingSupplier.get(ThrowingSupplier.java:49) ~[isis-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.commons.internal.base._Lazy_ThreadSafe.get(_Lazy_ThreadSafe.java:66) ~[isis-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault.snapshotPropertyChangeRecords(EntityChangeTrackerDefault.java:174) ~[isis- was: 2024-06-10 10:42:41.267 INFO 13 --- [eduler_Worker-4] .a.i.c.r.c.CommandExecutorServiceDefault : Executing: outgoing.invoiceforlease.InvoiceCalculator#calculateForLease 2024-06-10T10:40:32.440+02:00 0bf8843d-a028-46ed-9c43-9f8b426b5940 2024-06-10 10:42:41.654 ERROR 13 --- [io-8080-exec-81] o.s.t.s.TransactionSynchronizationUtils : TransactionSynchronization.beforeCompletion threw exception java.util.ConcurrentModificationException: null at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719) ~[?:?] at java.util.LinkedHashMap$LinkedValueIterator.next(LinkedHashMap.java:746) ~[?:?] at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?] at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:?] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?] at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[?:?] at org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault.capturePostValuesAndDrain(EntityChangeTrackerDefault.java:193) ~[isis-persistence-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.commons.functional.ThrowingSupplier.get(ThrowingSupplier.java:61) ~[isis-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.commons.functional.ThrowingSupplier.get(ThrowingSupplier.java:49) ~[isis-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.commons.internal.base._Lazy_ThreadSafe.get(_Lazy_ThreadSafe.java:66) ~[isis-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault.snapshotPropertyChangeRecords(EntityChangeTrackerDefault.java:174) ~[isis-persistence-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault.getPropertyChanges(EntityChangeTrackerDefault.java:262) ~[isis-persistence-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault$$FastClassBySpringCGLIB$$fc891790.invoke(<generated>) ~[isis-persistence-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.31.jar:5.3.31] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:137) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707) ~[spring-aop-5.3.31.jar:5.3.31] at org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault$$EnhancerBySpringCGLIB$$9039a569.getPropertyChanges(<generated>) ~[isis-persistence-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.core.runtimeservices.publish.EntityPropertyChangePublisherDefault.publishChangedProperties(EntityPropertyChangePublisherDefault.java:98) ~[isis-core-runtimeservices-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault.beforeCompletion(EntityChangeTrackerDefault.java:228) ~[isis-persistence-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault$$FastClassBySpringCGLIB$$fc891790.invoke(<generated>) ~[isis-persistence-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.31.jar:5.3.31] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:137) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762) ~[spring-aop-5.3.31.jar:5.3.31] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707) ~[spring-aop-5.3.31.jar:5.3.31] at org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault$$EnhancerBySpringCGLIB$$9039a569.beforeCompletion(<generated>) ~[isis-persistence-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCompletion(TransactionSynchronizationUtils.java:108) ~[spring-tx-5.3.31.jar:5.3.31] at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCompletion(AbstractPlatformTransactionManager.java:926) ~[spring-tx-5.3.31.jar:5.3.31] at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:728) ~[spring-tx-5.3.31.jar:5.3.31] at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) ~[spring-tx-5.3.31.jar:5.3.31] at org.apache.isis.core.runtimeservices.transaction.TransactionServiceSpring.lambda$onOpen$8(TransactionServiceSpring.java:403) ~[isis-core-runtimeservices-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.core.runtimeservices.transaction.TransactionServiceSpring$OnCloseHandle.lambda$runOnCloseTasks$1(TransactionServiceSpring.java:470) ~[isis-core-runtimeservices-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at java.util.ArrayList.forEach(ArrayList.java:1541) ~[?:?] at org.apache.isis.core.runtimeservices.transaction.TransactionServiceSpring$OnCloseHandle.runOnCloseTasks(TransactionServiceSpring.java:467) ~[isis-core-runtimeservices-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at java.util.Optional.ifPresent(Optional.java:183) ~[?:?] at org.apache.isis.core.runtimeservices.transaction.TransactionServiceSpring.onClose(TransactionServiceSpring.java:445) ~[isis-core-runtimeservices-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.core.runtimeservices.session.InteractionServiceDefault.preInteractionClosed(InteractionServiceDefault.java:379) ~[isis-core-runtimeservices-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.core.runtimeservices.session.InteractionServiceDefault.closeInteractionLayerStackDownToStackSize(InteractionServiceDefault.java:405) ~[isis-core-runtimeservices-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.core.runtimeservices.session.InteractionServiceDefault.closeInteractionLayers(InteractionServiceDefault.java:240) ~[isis-core-runtimeservices-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at java.util.Optional.ifPresent(Optional.java:183) ~[?:?] at org.apache.isis.viewer.wicket.viewer.integration.WebRequestCycleForIsis.onEndRequest(WebRequestCycleForIsis.java:253) ~[isis-viewer-wicket-viewer-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.wicket.request.cycle.RequestCycleListenerCollection$2.notify(RequestCycleListenerCollection.java:85) ~[wicket-core-9.17.0.jar:9.17.0] at org.apache.wicket.request.cycle.RequestCycleListenerCollection$2.notify(RequestCycleListenerCollection.java:81) ~[wicket-core-9.17.0.jar:9.17.0] at org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:145) ~[wicket-util-9.17.0.jar:9.17.0] at org.apache.wicket.request.cycle.RequestCycleListenerCollection.onEndRequest(RequestCycleListenerCollection.java:80) ~[wicket-core-9.17.0.jar:9.17.0] at org.apache.wicket.request.cycle.RequestCycleListenerCollection$2.notify(RequestCycleListenerCollection.java:85) ~[wicket-core-9.17.0.jar:9.17.0] at org.apache.wicket.request.cycle.RequestCycleListenerCollection$2.notify(RequestCycleListenerCollection.java:81) ~[wicket-core-9.17.0.jar:9.17.0] at org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:145) ~[wicket-util-9.17.0.jar:9.17.0] at org.apache.wicket.request.cycle.RequestCycleListenerCollection.onEndRequest(RequestCycleListenerCollection.java:80) ~[wicket-core-9.17.0.jar:9.17.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:267) ~[wicket-core-9.17.0.jar:9.17.0] at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:277) ~[wicket-core-9.17.0.jar:9.17.0] at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:208) ~[wicket-core-9.17.0.jar:9.17.0] at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:307) ~[wicket-core-9.17.0.jar:9.17.0] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.isis.core.webapp.modules.logonlog.IsisLogOnExceptionFilter.doFilter(IsisLogOnExceptionFilter.java:80) ~[isis-core-webapp-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.isis.security.spring.webmodule.SpringSecurityFilter.lambda$doFilter$0(SpringSecurityFilter.java:77) ~[isis-security-spring-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.commons.functional.ThrowingRunnable.callUncatched(ThrowingRunnable.java:56) ~[isis-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.core.runtimeservices.session.InteractionServiceDefault.callInternal(InteractionServiceDefault.java:326) ~[isis-core-runtimeservices-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.core.runtimeservices.session.InteractionServiceDefault.call(InteractionServiceDefault.java:267) ~[isis-core-runtimeservices-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.applib.services.iactnlayer.InteractionService.lambda$callAndCatch$0(InteractionService.java:175) ~[isis-applib-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.commons.functional.Try.call(Try.java:58) ~[isis-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.applib.services.iactnlayer.InteractionService.callAndCatch(InteractionService.java:175) ~[isis-applib-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.applib.services.iactnlayer.InteractionService.runAndCatch(InteractionService.java:186) ~[isis-applib-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.isis.security.spring.webmodule.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:75) ~[isis-security-spring-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.estatio.webapp.custom.redirectv1url.RedirectIfMatchesV1UrlFilter.doFilter(RedirectIfMatchesV1UrlFilter.java:60) ~[classes/:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:96) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter.doFilterInternal(DefaultLogoutPageGeneratingFilter.java:58) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.31.jar:5.3.31] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:237) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:223) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:223) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:178) ~[spring-security-oauth2-client-5.7.11.jar:5.7.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.31.jar:5.3.31] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:117) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.31.jar:5.3.31] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.31.jar:5.3.31] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.31.jar:5.3.31] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.31.jar:5.3.31] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.31.jar:5.3.31] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.31.jar:5.3.31] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.7.11.jar:5.7.11] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.31.jar:5.3.31] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.31.jar:5.3.31] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.31.jar:5.3.31] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.31.jar:5.3.31] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.31.jar:5.3.31] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.31.jar:5.3.31] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:765) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.83.jar:9.0.83] at java.lang.Thread.run(Thread.java:829) ~[?:?] Summary: global property to disable EntityChangeTrackerDefault (was: ConcurrentModificationExceptions in EntityChangeTrackerDefault) > global property to disable EntityChangeTrackerDefault > ----------------------------------------------------- > > Key: CAUSEWAY-3768 > URL: https://issues.apache.org/jira/browse/CAUSEWAY-3768 > Project: Causeway > Issue Type: Bug > Components: Core, Ext Sec AuditTrail > Affects Versions: 2.0.0 > Reporter: Daniel Keir Haywood > Assignee: Daniel Keir Haywood > Priority: Major > Fix For: 2.1.0 > > > as a workaround for the bug now logged in CAUSEWAY-3770 > > > java.util.ConcurrentModificationException: null > at > java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719) > ~[?:?] > at java.util.LinkedHashMap$LinkedValueIterator.next(LinkedHashMap.java:746) > ~[?:?] > at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?] > at > java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) > ~[?:?] > at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) > ~[?:?] > at > java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) > ~[?:?] > at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) > ~[?:?] > at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) > ~[?:?] > at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) > ~[?:?] > at > org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault.capturePostValuesAndDrain(EntityChangeTrackerDefault.java:193) > > ~[isis-persistence-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] > at > org.apache.isis.commons.functional.ThrowingSupplier.get(ThrowingSupplier.java:61) > > ~[isis-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] > at > org.apache.isis.commons.functional.ThrowingSupplier.get(ThrowingSupplier.java:49) > > ~[isis-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] > at > org.apache.isis.commons.internal.base._Lazy_ThreadSafe.get(_Lazy_ThreadSafe.java:66) > > ~[isis-commons-2.0.0.20240605-0910.master.3a126180.jar:2.0.0.20240605-0910.master.3a126180] > at > org.apache.isis.persistence.commons.integration.changetracking.EntityChangeTrackerDefault.snapshotPropertyChangeRecords(EntityChangeTrackerDefault.java:174) > ~[isis- -- This message was sent by Atlassian Jira (v8.20.10#820010)