[Red Hat JIRA] (WFLY-14357) Sporadic ArrayIndexOutOfBoundsException on first few calls
by Ronald Sigal (Jira)
[ https://issues.redhat.com/browse/WFLY-14357?page=com.atlassian.jira.plugi... ]
Ronald Sigal updated WFLY-14357:
--------------------------------
Comment: was deleted
(was: Done. Thanks, [~brian.stansberry] .)
> Sporadic ArrayIndexOutOfBoundsException on first few calls
> ----------------------------------------------------------
>
> Key: WFLY-14357
> URL: https://issues.redhat.com/browse/WFLY-14357
> Project: WildFly
> Issue Type: Bug
> Components: REST
> Affects Versions: 21.0.0.Final
> Reporter: Peter Bilstein
> Assignee: Ronald Sigal
> Priority: Major
> Fix For: 23.0.0.Beta1
>
> Attachments: resteasy-jaxrs-3.13.2.Final.jar
>
>
> From time to time we get a sporadic failure when trying to login to keycloak 12.0.1 (on wildfly 21?!) via Oauth during test runs. This seems to happen on concurrent calls to the auth service:
>
> {noformat}
> [0m[0m09:40:59,607 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
> [0m[31m09:41:03,906 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-3) Uncaught server error: java.lang.ArrayIndexOutOfBoundsException: Index 34 out of bounds for length 33
> at java.base/java.util.ArrayList.add(ArrayList.java:487)
> at java.base/java.util.ArrayList.add(ArrayList.java:499)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.statistics.StatisticsControllerImpl.register(StatisticsControllerImpl.java:25)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.processMethod(LocatorRegistry.java:66)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.register(LocatorRegistry.java:49)
> at org.jboss.resteasy.resteasy-jaxrs(a)3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.<init>(LocatorRegistry.java:41)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:129)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:104)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:440)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:229)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:135)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:358)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:138)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:215)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:245)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:61)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
> at javax.servlet.api@2.0.0.Final//javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
> at org.keycloak.keycloak-wildfly-extensions@12.0.1//org.keycloak.provider.wildfly.WildFlyRequestFilter.lambda$doFilter$0(WildFlyRequestFilter.java:41)
> at org.keycloak.keycloak-services@12.0.1//org.keycloak.services.filters.AbstractRequestFilter.filter(AbstractRequestFilter.java:43)
> at org.keycloak.keycloak-wildfly-extensions@12.0.1//org.keycloak.provider.wildfly.WildFlyRequestFilter.doFilter(WildFlyRequestFilter.java:39)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
> at io.undertow.core@2.2.2.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
> at io.undertow.core@2.2.2.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1348)
> at org.jboss.xnio@3.8.2.Final//org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
> at java.base/java.lang.Thread.run(Thread.java:834)
> [0m[31m09:41:03,906 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-1) Uncaught server error: java.lang.ArrayIndexOutOfBoundsException: Index 34 out of bounds for length 33
> at java.base/java.util.ArrayList.add(ArrayList.java:487)
> at java.base/java.util.ArrayList.add(ArrayList.java:499)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.statistics.StatisticsControllerImpl.register(StatisticsControllerImpl.java:25)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.processMethod(LocatorRegistry.java:66)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.register(LocatorRegistry.java:49)
> at org.jboss.resteasy.resteasy-jaxrs(a)3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.<init>(LocatorRegistry.java:41)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:129)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:104)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:440)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:229)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:135)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:358)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:138)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:215)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:245)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:61)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
> at javax.servlet.api@2.0.0.Final//javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
> at org.keycloak.keycloak-wildfly-extensions@12.0.1//org.keycloak.provider.wildfly.WildFlyRequestFilter.lambda$doFilter$0(WildFlyRequestFilter.java:41)
> at org.keycloak.keycloak-services@12.0.1//org.keycloak.services.filters.AbstractRequestFilter.filter(AbstractRequestFilter.java:43)
> at org.keycloak.keycloak-wildfly-extensions@12.0.1//org.keycloak.provider.wildfly.WildFlyRequestFilter.doFilter(WildFlyRequestFilter.java:39)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
> at io.undertow.core@2.2.2.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
> at io.undertow.core@2.2.2.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
> at org.jboss.xnio@3.8.2.Final//org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
> at java.base/java.lang.Thread.run(Thread.java:834)
> {noformat}
> To me it looks like a concurrent access to StatisticsControllerImpl, which is not threadsafe itself. (see Stacktrace, where two threads access the StatisticsControllerImpl)
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
4 years, 8 months
[Red Hat JIRA] (WFLY-14357) Sporadic ArrayIndexOutOfBoundsException on first few calls
by Ronald Sigal (Jira)
[ https://issues.redhat.com/browse/WFLY-14357?page=com.atlassian.jira.plugi... ]
Ronald Sigal commented on WFLY-14357:
-------------------------------------
Done. Thanks, [~brian.stansberry] .
> Sporadic ArrayIndexOutOfBoundsException on first few calls
> ----------------------------------------------------------
>
> Key: WFLY-14357
> URL: https://issues.redhat.com/browse/WFLY-14357
> Project: WildFly
> Issue Type: Bug
> Components: REST
> Affects Versions: 21.0.0.Final
> Reporter: Peter Bilstein
> Assignee: Ronald Sigal
> Priority: Major
> Fix For: 23.0.0.Beta1
>
> Attachments: resteasy-jaxrs-3.13.2.Final.jar
>
>
> From time to time we get a sporadic failure when trying to login to keycloak 12.0.1 (on wildfly 21?!) via Oauth during test runs. This seems to happen on concurrent calls to the auth service:
>
> {noformat}
> [0m[0m09:40:59,607 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
> [0m[31m09:41:03,906 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-3) Uncaught server error: java.lang.ArrayIndexOutOfBoundsException: Index 34 out of bounds for length 33
> at java.base/java.util.ArrayList.add(ArrayList.java:487)
> at java.base/java.util.ArrayList.add(ArrayList.java:499)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.statistics.StatisticsControllerImpl.register(StatisticsControllerImpl.java:25)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.processMethod(LocatorRegistry.java:66)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.register(LocatorRegistry.java:49)
> at org.jboss.resteasy.resteasy-jaxrs(a)3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.<init>(LocatorRegistry.java:41)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:129)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:104)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:440)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:229)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:135)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:358)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:138)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:215)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:245)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:61)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
> at javax.servlet.api@2.0.0.Final//javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
> at org.keycloak.keycloak-wildfly-extensions@12.0.1//org.keycloak.provider.wildfly.WildFlyRequestFilter.lambda$doFilter$0(WildFlyRequestFilter.java:41)
> at org.keycloak.keycloak-services@12.0.1//org.keycloak.services.filters.AbstractRequestFilter.filter(AbstractRequestFilter.java:43)
> at org.keycloak.keycloak-wildfly-extensions@12.0.1//org.keycloak.provider.wildfly.WildFlyRequestFilter.doFilter(WildFlyRequestFilter.java:39)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
> at io.undertow.core@2.2.2.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
> at io.undertow.core@2.2.2.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1348)
> at org.jboss.xnio@3.8.2.Final//org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
> at java.base/java.lang.Thread.run(Thread.java:834)
> [0m[31m09:41:03,906 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-1) Uncaught server error: java.lang.ArrayIndexOutOfBoundsException: Index 34 out of bounds for length 33
> at java.base/java.util.ArrayList.add(ArrayList.java:487)
> at java.base/java.util.ArrayList.add(ArrayList.java:499)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.statistics.StatisticsControllerImpl.register(StatisticsControllerImpl.java:25)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.processMethod(LocatorRegistry.java:66)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.register(LocatorRegistry.java:49)
> at org.jboss.resteasy.resteasy-jaxrs(a)3.13.2.Final//org.jboss.resteasy.core.LocatorRegistry.<init>(LocatorRegistry.java:41)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:129)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:104)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:440)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:229)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:135)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.interception.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:358)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:138)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:215)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:245)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:61)
> at org.jboss.resteasy.resteasy-jaxrs@3.13.2.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
> at javax.servlet.api@2.0.0.Final//javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
> at org.keycloak.keycloak-wildfly-extensions@12.0.1//org.keycloak.provider.wildfly.WildFlyRequestFilter.lambda$doFilter$0(WildFlyRequestFilter.java:41)
> at org.keycloak.keycloak-services@12.0.1//org.keycloak.services.filters.AbstractRequestFilter.filter(AbstractRequestFilter.java:43)
> at org.keycloak.keycloak-wildfly-extensions@12.0.1//org.keycloak.provider.wildfly.WildFlyRequestFilter.doFilter(WildFlyRequestFilter.java:39)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
> at io.undertow.core@2.2.2.Final//io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
> at io.undertow.core@2.2.2.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at org.wildfly.extension.undertow@21.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
> at io.undertow.servlet@2.2.2.Final//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
> at io.undertow.core@2.2.2.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
> at io.undertow.core@2.2.2.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
> at org.jboss.xnio@3.8.2.Final//org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
> at java.base/java.lang.Thread.run(Thread.java:834)
> {noformat}
> To me it looks like a concurrent access to StatisticsControllerImpl, which is not threadsafe itself. (see Stacktrace, where two threads access the StatisticsControllerImpl)
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
4 years, 8 months
[Red Hat JIRA] (WFLY-14371) EJB timer not executed on Postgres due to timestamp comparison
by Chao Wang (Jira)
[ https://issues.redhat.com/browse/WFLY-14371?page=com.atlassian.jira.plugi... ]
Chao Wang updated WFLY-14371:
-----------------------------
Labels: downstream_dependency support (was: support)
> EJB timer not executed on Postgres due to timestamp comparison
> --------------------------------------------------------------
>
> Key: WFLY-14371
> URL: https://issues.redhat.com/browse/WFLY-14371
> Project: WildFly
> Issue Type: Bug
> Components: EJB
> Affects Versions: 22.0.0.Final
> Reporter: Chao Wang
> Assignee: Cheng Fang
> Priority: Major
> Labels: downstream_dependency, support
> Fix For: 23.0.0.Beta1
>
>
> A single action timer fails to be executed:
> {noformat}
> 15:40:25,613 hz0v DEBUG [org.jboss.as.ejb3.timer] (EJB default - 5) Skipping execution of timer for ROOT.ROOT.EJBTimerScheduler as it is being run on another node or the execution is suppressed by configuration
> {noformat}
> *Environment*:
> * RHPAM 7.7.1
> * EAP 7.2.9
> * OCP 3.11
> * single node setup
> * DB: PostgreSQL 10.12, JDBC version: 42.2.3
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
4 years, 8 months
[Red Hat JIRA] (WFCORE-3766) Improve error message if a parent profile references a child profile's value
by Brad Maxwell (Jira)
[ https://issues.redhat.com/browse/WFCORE-3766?page=com.atlassian.jira.plug... ]
Brad Maxwell closed WFCORE-3766.
--------------------------------
Resolution: Out of Date
> Improve error message if a parent profile references a child profile's value
> ----------------------------------------------------------------------------
>
> Key: WFCORE-3766
> URL: https://issues.redhat.com/browse/WFCORE-3766
> Project: WildFly Core
> Issue Type: Enhancement
> Components: Management
> Affects Versions: 3.1.0.Final, 4.0.0.Final, 5.0.0.Alpha3
> Reporter: Brad Maxwell
> Assignee: Moulali Shikalwadi
> Priority: Major
> Labels: domain-mode
> Attachments: WFCORE-3766-config.zip
>
>
> EAP 7.1 CP1 boot up fails with the following error message when a profile extension is used
> {code:java}
> 14:13:39,201 ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0362: Capabilities required by resource '/profile=temp-full-ha/subsystem=infinispan/cache-container=hibernate/transport=jgroups' are not available: [Host Controller] org.wildfly.clustering.jgroups.default-channel-factory in context 'profile=temp-full-ha'; Possible registration points for this capability: [Host Controller] /profile=*/subsystem=jgroups [Host Controller]
> 14:13:39,202 ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0362: Capabilities required by resource '/profile=temp-full-ha/subsystem=messaging-activemq/server=default/broadcast-group=bg-group1' are not available: [Host Controller] org.wildfly.clustering.jgroups.default-channel-factory in context 'profile=temp-full-ha'; Possible registration points for this capability: [Host Controller] /profile=*/subsystem=jgroups [Host Controller]
> 14:13:39,202 ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0362: Capabilities required by resource '/profile=temp-full-ha/subsystem=infinispan/cache-container=web/transport=jgroups' are not available: [Host Controller] org.wildfly.clustering.jgroups.default-channel-factory in context 'profile=temp-full-ha'; Possible registration points for this capability: [Host Controller] /profile=*/subsystem=jgroups [Host Controller]
> 14:13:39,202 ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0362: Capabilities required by resource '/profile=temp-full-ha/subsystem=messaging-activemq/server=default/discovery-group=dg-group1' are not available: [Host Controller] org.wildfly.clustering.jgroups.default-channel-factory in context 'profile=temp-full-ha'; Possible registration points for this capability: [Host Controller] /profile=*/subsystem=jgroups [Host Controller]
> 14:13:39,203 ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0362: Capabilities required by resource '/profile=temp-full-ha/subsystem=infinispan/cache-container=server/transport=jgroups' are not available: [Host Controller] org.wildfly.clustering.jgroups.default-channel-factory in context 'profile=temp-full-ha'; Possible registration points for this capability: [Host Controller] /profile=*/subsystem=jgroups [Host Controller]
> 14:13:39,203 ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0362: Capabilities required by resource '/profile=temp-full-ha/subsystem=infinispan/cache-container=ejb/transport=jgroups' are not available: [Host Controller] org.wildfly.clustering.jgroups.default-channel-factory in context 'profile=temp-full-ha'; Possible registration points for this capability: [Host Controller] /profile=*/subsystem=jgroups [Host Controller]
> 14:13:39,215 FATAL [org.jboss.as.host.controller] (Controller Boot Thread) WFLYHC0034: Host Controller boot has failed in an unrecoverable manner; exiting. See previous messages for details. [Host Controller]
> 14:13:39,217 FATAL [org.jboss.as.host.controller] (Controller Boot Thread) WFLYHC0178: Aborting with exit code 99 [Host Controller]
> 14:13:39,265 INFO [org.jboss.as] (MSC service thread 1-3) WFLYSRV0050: JBoss EAP 7.1.1.GA (WildFly Core 3.0.12.Final-redhat-1) stopped in 26ms [Host Controller]
> 14:13:39,611 INFO [org.jboss.as.process.Host Controller.status] (reaper for Host Controller) WFLYPC0011: Process 'Host Controller' finished with an exit status of 99
> 14:13:39,613 INFO [org.jboss.as.process] (Thread-8) WFLYPC0017: Shutting down process controller 14:13:39,613 INFO [org.jboss.as.process] (Thread-8) WFLYPC0016: All processes finished; exiting
> {code}
> Can this error be improved to better direct the user to the issue?
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
4 years, 8 months
[Red Hat JIRA] (DROOLS-5971) IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects
by Mykhaylo Adamovych (Jira)
[ https://issues.redhat.com/browse/DROOLS-5971?page=com.atlassian.jira.plug... ]
Mykhaylo Adamovych updated DROOLS-5971:
---------------------------------------
Affects Version/s: (was: 7.28.0.Final)
> IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects
> -------------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-5971
> URL: https://issues.redhat.com/browse/DROOLS-5971
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Reporter: Mykhaylo Adamovych
> Assignee: Mario Fusco
> Priority: Major
>
> Exception says 'Currently we cannot modify something that has mixed stated and justified equal objects'. But there are no two equal objects in the session.
> Test
> {code:java}
> @Test
> public void testUpdateLogicalEvent() {
> KieSession session = ...
> AtomicInteger positive = new AtomicInteger(1);
>
> session.insert(new AtomicInteger(-1));
> session.fireAllRules();
> session.insert(positive);
> session.fireAllRules();
> session.insert(new AdminEvent("update logical event"));
> session.fireAllRules();
>
> assertEquals(1, positive.get());
> }
> public static class Event {
> private String message;
>
> public Event(String message) {
> this.message = message;
> }
>
> public String getMessage() {
> return message;
> }
>
> public void setMessage(String message) {
> this.message = message;
> }
>
> @Override
> public boolean equals(Object obj) {
> return reflectionEquals(this, obj, false);
> }
>
> @Override
> public int hashCode() {
> return reflectionHashCode(this, false);
> }
> }
> public static class AdminEvent {
> private String message;
>
> public AdminEvent(String message) {
> this.message = message;
> }
>
> public String getMessage() {
> return message;
> }
>
> public void setMessage(String message) {
> this.message = message;
> }
> }
> {code}
> Rule
> {code:java}
> dialect 'mvel'
> import java.util.concurrent.atomic.AtomicInteger
> import ...Event
> import ...AdminEvent
> rule 'negative integer'
> when
> $int: AtomicInteger(intValue < 0)
> then
> insertLogical(new Event("negative integer"))
> end
> rule 'increment positive if no negative values'
> when
> $positive: AtomicInteger(intValue > 0)
> not Event()
> then
> $positive.incrementAndGet();
> end
> rule 'update logical event'
> when
> AdminEvent(message == 'update logical event')
> $event: Event()
> then
> $event.setMessage("Updated logical event");
> update($event);
> end
> {code}
> Exception
> {code:java}
> Exception executing consequence for rule "update logical event" in org.droolsassert: [Error: drools.update($event, new org.drools.core.util.bitmask.LongBitMask(2L), org.droolsassert.LogicalEventsTest.Event.class): Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation]
> [Near : {... $event.setMessage("Updated log ....}]
> ^
> [Line: 1, Column: 1]
> at org.drools.core.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
> at org.drools.core.common.DefaultAgenda.handleException(DefaultAgenda.java:1291)
> at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:439)
> at org.drools.core.phreak.RuleExecutor.fireActivation(RuleExecutor.java:380)
> at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:136)
> at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:89)
> at org.drools.core.concurrent.AbstractRuleEvaluator.internalEvaluateAndFire(AbstractRuleEvaluator.java:34)
> at org.drools.core.concurrent.SequentialRuleEvaluator.evaluateAndFire(SequentialRuleEvaluator.java:43)
> at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1101)
> at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:1048)
> at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1040)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1330)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1321)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1305)
> at org.droolsassert.LogicalEventsTest.testUpdateLogicalEvent(LogicalEventsTest.java:58)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.droolsassert.DroolsAssert.evaluate(DroolsAssert.java:789)
> at org.droolsassert.DroolsAssert$1.evaluate(DroolsAssert.java:781)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:542)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
> Caused by: [Error: drools.update($event, new org.drools.core.util.bitmask.LongBitMask(2L), org.droolsassert.LogicalEventsTest.Event.class): Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation]
> [Near : {... $event.setMessage("Updated log ....}]
> ^
> [Line: 1, Column: 1]
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:435)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:163)
> at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
> at org.mvel2.MVEL.executeExpression(MVEL.java:929)
> at org.drools.core.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:110)
> at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:432)
> ... 39 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1119)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1002)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:396)
> ... 49 more
> Caused by: java.lang.IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation
> at org.drools.core.common.NamedEntryPoint.update(NamedEntryPoint.java:383)
> at org.drools.core.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:410)
> at org.drools.core.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:425)
> ... 56 more
> {code}
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
4 years, 8 months
[Red Hat JIRA] (DROOLS-5971) IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects
by Mykhaylo Adamovych (Jira)
[ https://issues.redhat.com/browse/DROOLS-5971?page=com.atlassian.jira.plug... ]
Mykhaylo Adamovych reopened DROOLS-5971:
----------------------------------------
> IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects
> -------------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-5971
> URL: https://issues.redhat.com/browse/DROOLS-5971
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.28.0.Final
> Reporter: Mykhaylo Adamovych
> Assignee: Mario Fusco
> Priority: Major
> Fix For: 7.48.0.Final
>
>
> Exception says 'Currently we cannot modify something that has mixed stated and justified equal objects'. But there are no two equal objects in the session.
> Test
> {code:java}
> @Test
> public void testUpdateLogicalEvent() {
> KieSession session = ...
> AtomicInteger positive = new AtomicInteger(1);
>
> session.insert(new AtomicInteger(-1));
> session.fireAllRules();
> session.insert(positive);
> session.fireAllRules();
> session.insert(new AdminEvent("update logical event"));
> session.fireAllRules();
>
> assertEquals(1, positive.get());
> }
> public static class Event {
> private String message;
>
> public Event(String message) {
> this.message = message;
> }
>
> public String getMessage() {
> return message;
> }
>
> public void setMessage(String message) {
> this.message = message;
> }
>
> @Override
> public boolean equals(Object obj) {
> return reflectionEquals(this, obj, false);
> }
>
> @Override
> public int hashCode() {
> return reflectionHashCode(this, false);
> }
> }
> public static class AdminEvent {
> private String message;
>
> public AdminEvent(String message) {
> this.message = message;
> }
>
> public String getMessage() {
> return message;
> }
>
> public void setMessage(String message) {
> this.message = message;
> }
> }
> {code}
> Rule
> {code:java}
> dialect 'mvel'
> import java.util.concurrent.atomic.AtomicInteger
> import ...Event
> import ...AdminEvent
> rule 'negative integer'
> when
> $int: AtomicInteger(intValue < 0)
> then
> insertLogical(new Event("negative integer"))
> end
> rule 'increment positive if no negative values'
> when
> $positive: AtomicInteger(intValue > 0)
> not Event()
> then
> $positive.incrementAndGet();
> end
> rule 'update logical event'
> when
> AdminEvent(message == 'update logical event')
> $event: Event()
> then
> $event.setMessage("Updated logical event");
> update($event);
> end
> {code}
> Exception
> {code:java}
> Exception executing consequence for rule "update logical event" in org.droolsassert: [Error: drools.update($event, new org.drools.core.util.bitmask.LongBitMask(2L), org.droolsassert.LogicalEventsTest.Event.class): Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation]
> [Near : {... $event.setMessage("Updated log ....}]
> ^
> [Line: 1, Column: 1]
> at org.drools.core.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
> at org.drools.core.common.DefaultAgenda.handleException(DefaultAgenda.java:1291)
> at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:439)
> at org.drools.core.phreak.RuleExecutor.fireActivation(RuleExecutor.java:380)
> at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:136)
> at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:89)
> at org.drools.core.concurrent.AbstractRuleEvaluator.internalEvaluateAndFire(AbstractRuleEvaluator.java:34)
> at org.drools.core.concurrent.SequentialRuleEvaluator.evaluateAndFire(SequentialRuleEvaluator.java:43)
> at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1101)
> at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:1048)
> at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1040)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1330)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1321)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1305)
> at org.droolsassert.LogicalEventsTest.testUpdateLogicalEvent(LogicalEventsTest.java:58)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.droolsassert.DroolsAssert.evaluate(DroolsAssert.java:789)
> at org.droolsassert.DroolsAssert$1.evaluate(DroolsAssert.java:781)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:542)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
> Caused by: [Error: drools.update($event, new org.drools.core.util.bitmask.LongBitMask(2L), org.droolsassert.LogicalEventsTest.Event.class): Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation]
> [Near : {... $event.setMessage("Updated log ....}]
> ^
> [Line: 1, Column: 1]
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:435)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:163)
> at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
> at org.mvel2.MVEL.executeExpression(MVEL.java:929)
> at org.drools.core.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:110)
> at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:432)
> ... 39 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1119)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1002)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:396)
> ... 49 more
> Caused by: java.lang.IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation
> at org.drools.core.common.NamedEntryPoint.update(NamedEntryPoint.java:383)
> at org.drools.core.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:410)
> at org.drools.core.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:425)
> ... 56 more
> {code}
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
4 years, 8 months
[Red Hat JIRA] (DROOLS-5971) IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects
by Mykhaylo Adamovych (Jira)
[ https://issues.redhat.com/browse/DROOLS-5971?page=com.atlassian.jira.plug... ]
Mykhaylo Adamovych updated DROOLS-5971:
---------------------------------------
Affects Version/s: 7.48.0.Final
> IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects
> -------------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-5971
> URL: https://issues.redhat.com/browse/DROOLS-5971
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.48.0.Final
> Reporter: Mykhaylo Adamovych
> Assignee: Mario Fusco
> Priority: Major
>
> Exception says 'Currently we cannot modify something that has mixed stated and justified equal objects'. But there are no two equal objects in the session.
> Test
> {code:java}
> @Test
> public void testUpdateLogicalEvent() {
> KieSession session = ...
> AtomicInteger positive = new AtomicInteger(1);
>
> session.insert(new AtomicInteger(-1));
> session.fireAllRules();
> session.insert(positive);
> session.fireAllRules();
> session.insert(new AdminEvent("update logical event"));
> session.fireAllRules();
>
> assertEquals(1, positive.get());
> }
> public static class Event {
> private String message;
>
> public Event(String message) {
> this.message = message;
> }
>
> public String getMessage() {
> return message;
> }
>
> public void setMessage(String message) {
> this.message = message;
> }
>
> @Override
> public boolean equals(Object obj) {
> return reflectionEquals(this, obj, false);
> }
>
> @Override
> public int hashCode() {
> return reflectionHashCode(this, false);
> }
> }
> public static class AdminEvent {
> private String message;
>
> public AdminEvent(String message) {
> this.message = message;
> }
>
> public String getMessage() {
> return message;
> }
>
> public void setMessage(String message) {
> this.message = message;
> }
> }
> {code}
> Rule
> {code:java}
> dialect 'mvel'
> import java.util.concurrent.atomic.AtomicInteger
> import ...Event
> import ...AdminEvent
> rule 'negative integer'
> when
> $int: AtomicInteger(intValue < 0)
> then
> insertLogical(new Event("negative integer"))
> end
> rule 'increment positive if no negative values'
> when
> $positive: AtomicInteger(intValue > 0)
> not Event()
> then
> $positive.incrementAndGet();
> end
> rule 'update logical event'
> when
> AdminEvent(message == 'update logical event')
> $event: Event()
> then
> $event.setMessage("Updated logical event");
> update($event);
> end
> {code}
> Exception
> {code:java}
> Exception executing consequence for rule "update logical event" in org.droolsassert: [Error: drools.update($event, new org.drools.core.util.bitmask.LongBitMask(2L), org.droolsassert.LogicalEventsTest.Event.class): Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation]
> [Near : {... $event.setMessage("Updated log ....}]
> ^
> [Line: 1, Column: 1]
> at org.drools.core.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
> at org.drools.core.common.DefaultAgenda.handleException(DefaultAgenda.java:1291)
> at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:439)
> at org.drools.core.phreak.RuleExecutor.fireActivation(RuleExecutor.java:380)
> at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:136)
> at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:89)
> at org.drools.core.concurrent.AbstractRuleEvaluator.internalEvaluateAndFire(AbstractRuleEvaluator.java:34)
> at org.drools.core.concurrent.SequentialRuleEvaluator.evaluateAndFire(SequentialRuleEvaluator.java:43)
> at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1101)
> at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:1048)
> at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1040)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1330)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1321)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1305)
> at org.droolsassert.LogicalEventsTest.testUpdateLogicalEvent(LogicalEventsTest.java:58)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.droolsassert.DroolsAssert.evaluate(DroolsAssert.java:789)
> at org.droolsassert.DroolsAssert$1.evaluate(DroolsAssert.java:781)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:542)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
> Caused by: [Error: drools.update($event, new org.drools.core.util.bitmask.LongBitMask(2L), org.droolsassert.LogicalEventsTest.Event.class): Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation]
> [Near : {... $event.setMessage("Updated log ....}]
> ^
> [Line: 1, Column: 1]
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:435)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:163)
> at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
> at org.mvel2.MVEL.executeExpression(MVEL.java:929)
> at org.drools.core.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:110)
> at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:432)
> ... 39 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1119)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1002)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:396)
> ... 49 more
> Caused by: java.lang.IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation
> at org.drools.core.common.NamedEntryPoint.update(NamedEntryPoint.java:383)
> at org.drools.core.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:410)
> at org.drools.core.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:425)
> ... 56 more
> {code}
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
4 years, 8 months
[Red Hat JIRA] (DROOLS-5971) IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects
by Mykhaylo Adamovych (Jira)
[ https://issues.redhat.com/browse/DROOLS-5971?page=com.atlassian.jira.plug... ]
Mykhaylo Adamovych updated DROOLS-5971:
---------------------------------------
Fix Version/s: (was: 7.48.0.Final)
> IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects
> -------------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-5971
> URL: https://issues.redhat.com/browse/DROOLS-5971
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.28.0.Final
> Reporter: Mykhaylo Adamovych
> Assignee: Mario Fusco
> Priority: Major
>
> Exception says 'Currently we cannot modify something that has mixed stated and justified equal objects'. But there are no two equal objects in the session.
> Test
> {code:java}
> @Test
> public void testUpdateLogicalEvent() {
> KieSession session = ...
> AtomicInteger positive = new AtomicInteger(1);
>
> session.insert(new AtomicInteger(-1));
> session.fireAllRules();
> session.insert(positive);
> session.fireAllRules();
> session.insert(new AdminEvent("update logical event"));
> session.fireAllRules();
>
> assertEquals(1, positive.get());
> }
> public static class Event {
> private String message;
>
> public Event(String message) {
> this.message = message;
> }
>
> public String getMessage() {
> return message;
> }
>
> public void setMessage(String message) {
> this.message = message;
> }
>
> @Override
> public boolean equals(Object obj) {
> return reflectionEquals(this, obj, false);
> }
>
> @Override
> public int hashCode() {
> return reflectionHashCode(this, false);
> }
> }
> public static class AdminEvent {
> private String message;
>
> public AdminEvent(String message) {
> this.message = message;
> }
>
> public String getMessage() {
> return message;
> }
>
> public void setMessage(String message) {
> this.message = message;
> }
> }
> {code}
> Rule
> {code:java}
> dialect 'mvel'
> import java.util.concurrent.atomic.AtomicInteger
> import ...Event
> import ...AdminEvent
> rule 'negative integer'
> when
> $int: AtomicInteger(intValue < 0)
> then
> insertLogical(new Event("negative integer"))
> end
> rule 'increment positive if no negative values'
> when
> $positive: AtomicInteger(intValue > 0)
> not Event()
> then
> $positive.incrementAndGet();
> end
> rule 'update logical event'
> when
> AdminEvent(message == 'update logical event')
> $event: Event()
> then
> $event.setMessage("Updated logical event");
> update($event);
> end
> {code}
> Exception
> {code:java}
> Exception executing consequence for rule "update logical event" in org.droolsassert: [Error: drools.update($event, new org.drools.core.util.bitmask.LongBitMask(2L), org.droolsassert.LogicalEventsTest.Event.class): Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation]
> [Near : {... $event.setMessage("Updated log ....}]
> ^
> [Line: 1, Column: 1]
> at org.drools.core.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
> at org.drools.core.common.DefaultAgenda.handleException(DefaultAgenda.java:1291)
> at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:439)
> at org.drools.core.phreak.RuleExecutor.fireActivation(RuleExecutor.java:380)
> at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:136)
> at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:89)
> at org.drools.core.concurrent.AbstractRuleEvaluator.internalEvaluateAndFire(AbstractRuleEvaluator.java:34)
> at org.drools.core.concurrent.SequentialRuleEvaluator.evaluateAndFire(SequentialRuleEvaluator.java:43)
> at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1101)
> at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:1048)
> at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1040)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1330)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1321)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1305)
> at org.droolsassert.LogicalEventsTest.testUpdateLogicalEvent(LogicalEventsTest.java:58)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.droolsassert.DroolsAssert.evaluate(DroolsAssert.java:789)
> at org.droolsassert.DroolsAssert$1.evaluate(DroolsAssert.java:781)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:542)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
> Caused by: [Error: drools.update($event, new org.drools.core.util.bitmask.LongBitMask(2L), org.droolsassert.LogicalEventsTest.Event.class): Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation]
> [Near : {... $event.setMessage("Updated log ....}]
> ^
> [Line: 1, Column: 1]
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:435)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:163)
> at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
> at org.mvel2.MVEL.executeExpression(MVEL.java:929)
> at org.drools.core.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:110)
> at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:432)
> ... 39 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1119)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1002)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:396)
> ... 49 more
> Caused by: java.lang.IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation
> at org.drools.core.common.NamedEntryPoint.update(NamedEntryPoint.java:383)
> at org.drools.core.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:410)
> at org.drools.core.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:425)
> ... 56 more
> {code}
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
4 years, 8 months
[Red Hat JIRA] (DROOLS-5971) IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects
by Mykhaylo Adamovych (Jira)
[ https://issues.redhat.com/browse/DROOLS-5971?page=com.atlassian.jira.plug... ]
Mykhaylo Adamovych closed DROOLS-5971.
--------------------------------------
Fix Version/s: 7.48.0.Final
Resolution: Cannot Reproduce
> IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects
> -------------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-5971
> URL: https://issues.redhat.com/browse/DROOLS-5971
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.28.0.Final
> Reporter: Mykhaylo Adamovych
> Assignee: Mario Fusco
> Priority: Major
> Fix For: 7.48.0.Final
>
>
> Exception says 'Currently we cannot modify something that has mixed stated and justified equal objects'. But there are no two equal objects in the session.
> Test
> {code:java}
> @Test
> public void testUpdateLogicalEvent() {
> KieSession session = ...
> AtomicInteger positive = new AtomicInteger(1);
>
> session.insert(new AtomicInteger(-1));
> session.fireAllRules();
> session.insert(positive);
> session.fireAllRules();
> session.insert(new AdminEvent("update logical event"));
> session.fireAllRules();
>
> assertEquals(1, positive.get());
> }
> public static class Event {
> private String message;
>
> public Event(String message) {
> this.message = message;
> }
>
> public String getMessage() {
> return message;
> }
>
> public void setMessage(String message) {
> this.message = message;
> }
>
> @Override
> public boolean equals(Object obj) {
> return reflectionEquals(this, obj, false);
> }
>
> @Override
> public int hashCode() {
> return reflectionHashCode(this, false);
> }
> }
> public static class AdminEvent {
> private String message;
>
> public AdminEvent(String message) {
> this.message = message;
> }
>
> public String getMessage() {
> return message;
> }
>
> public void setMessage(String message) {
> this.message = message;
> }
> }
> {code}
> Rule
> {code:java}
> dialect 'mvel'
> import java.util.concurrent.atomic.AtomicInteger
> import ...Event
> import ...AdminEvent
> rule 'negative integer'
> when
> $int: AtomicInteger(intValue < 0)
> then
> insertLogical(new Event("negative integer"))
> end
> rule 'increment positive if no negative values'
> when
> $positive: AtomicInteger(intValue > 0)
> not Event()
> then
> $positive.incrementAndGet();
> end
> rule 'update logical event'
> when
> AdminEvent(message == 'update logical event')
> $event: Event()
> then
> $event.setMessage("Updated logical event");
> update($event);
> end
> {code}
> Exception
> {code:java}
> Exception executing consequence for rule "update logical event" in org.droolsassert: [Error: drools.update($event, new org.drools.core.util.bitmask.LongBitMask(2L), org.droolsassert.LogicalEventsTest.Event.class): Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation]
> [Near : {... $event.setMessage("Updated log ....}]
> ^
> [Line: 1, Column: 1]
> at org.drools.core.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
> at org.drools.core.common.DefaultAgenda.handleException(DefaultAgenda.java:1291)
> at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:439)
> at org.drools.core.phreak.RuleExecutor.fireActivation(RuleExecutor.java:380)
> at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:136)
> at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:89)
> at org.drools.core.concurrent.AbstractRuleEvaluator.internalEvaluateAndFire(AbstractRuleEvaluator.java:34)
> at org.drools.core.concurrent.SequentialRuleEvaluator.evaluateAndFire(SequentialRuleEvaluator.java:43)
> at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1101)
> at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:1048)
> at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1040)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1330)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1321)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1305)
> at org.droolsassert.LogicalEventsTest.testUpdateLogicalEvent(LogicalEventsTest.java:58)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.droolsassert.DroolsAssert.evaluate(DroolsAssert.java:789)
> at org.droolsassert.DroolsAssert$1.evaluate(DroolsAssert.java:781)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:542)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
> Caused by: [Error: drools.update($event, new org.drools.core.util.bitmask.LongBitMask(2L), org.droolsassert.LogicalEventsTest.Event.class): Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation]
> [Near : {... $event.setMessage("Updated log ....}]
> ^
> [Line: 1, Column: 1]
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:435)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:163)
> at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
> at org.mvel2.MVEL.executeExpression(MVEL.java:929)
> at org.drools.core.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:110)
> at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:432)
> ... 39 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1119)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1002)
> at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:396)
> ... 49 more
> Caused by: java.lang.IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects. Rule update logical event attempted an illegal operation
> at org.drools.core.common.NamedEntryPoint.update(NamedEntryPoint.java:383)
> at org.drools.core.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:410)
> at org.drools.core.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:425)
> ... 56 more
> {code}
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
4 years, 8 months