ArrayIndexOutOfBoundsException in ReflectionHelper#parametersResolveToSameTypes()

Description

As reported via GitHub there seems to be an AIOOBE in ReflectionHelper#parametersResolveToSameTypes():

java.lang.ArrayIndexOutOfBoundsException: 0 at o.h.v.internal.util.ReflectionHelper.parametersResolveToSameTypes(ReflectionHelper.java:776) at o.h.v.internal.util.ReflectionHelper.overrides(ReflectionHelper.java:747) at o.h.v.internal.cdi.ValidationExtension.replaceWithOverriddenOrInterfaceMethod(ValidationExtension.java:389) at o.h.v.internal.cdi.ValidationExtension.determineConstrainedMethod(ValidationExtension.java:214) at o.h.v.internal.cdi.ValidationExtension.determineConstrainedCallables(ValidationExtension.java:201) at o.h.v.internal.cdi.ValidationExtension.processAnnotatedType(ValidationExtension.java:181) at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601)

Environment

None

Activity

Show:

Gunnar MorlingFebruary 24, 2014 at 3:46 PM

Hi Fabian, any chance that you provide a minimal test case which demonstrates the issue (e.g. a Maven project)?

Fabian SchwarzerFebruary 21, 2014 at 2:23 PM

I still get this error with Wildfly 8.0.0.Final (which seems to use 5.0.3.Final)

In my case I have a POGO (Plain Old Groovy Object) which uses @NotEmpty on its fields. Everything works fine, but when I extend this my POGO with another POGO it get the same ArrayOutOfBoundException. Full stacktrace:

2014-02-21 13:47:25,785 INFO [org.wildfly.extension.undertow] (MSC service thread 1-2) JBAS017535: Unregistered web context: /ad 2014-02-21 13:47:25,802 INFO [org.jboss.weld.deployer] (MSC service thread 1-2) JBAS016009: Stopping weld service for deployment ad.war 2014-02-21 13:47:25,829 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment ad.war (runtime-name: ad.war) in 45ms 2014-02-21 13:47:25,835 INFO [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015876: Starting deployment of "ad.war" (runtime-name: "ad.war") 2014-02-21 13:47:27,148 INFO [org.jboss.weld.deployer] (MSC service thread 1-1) JBAS016002: Processing weld deployment ad.war 2014-02-21 13:47:27,193 INFO [org.jboss.weld.deployer] (MSC service thread 1-2) JBAS016005: Starting Services for CDI deployment: ad.war 2014-02-21 13:47:27,200 INFO [org.jboss.weld.deployer] (MSC service thread 1-1) JBAS016008: Starting weld service for deployment ad.war 2014-02-21 13:47:28,516 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit."ad.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."ad.war".WeldStartService: Failed to start service at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) [jboss-msc-1.2.0.Final.jar:1.2.0.Final] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51] at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51] Caused by: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions: Exception 0 : java.lang.ArrayIndexOutOfBoundsException: 0 at org.hibernate.validator.internal.util.ExecutableHelper.instanceMethodParametersResolveToSameTypes(ExecutableHelper.java:131) at org.hibernate.validator.internal.util.ExecutableHelper.overrides(ExecutableHelper.java:94) at org.hibernate.validator.internal.cdi.ValidationExtension.replaceWithOverriddenOrInterfaceMethod(ValidationExtension.java:392) at org.hibernate.validator.internal.cdi.ValidationExtension.determineConstrainedMethod(ValidationExtension.java:217) at org.hibernate.validator.internal.cdi.ValidationExtension.determineConstrainedCallables(ValidationExtension.java:204) at org.hibernate.validator.internal.cdi.ValidationExtension.processAnnotatedType(ValidationExtension.java:184) at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93) at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266) at org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:125) at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253) at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232) at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169) at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:128) at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:107) at org.jboss.weld.bootstrap.events.ProcessAnnotatedTypeImpl.fire(ProcessAnnotatedTypeImpl.java:93) at org.jboss.weld.bootstrap.events.ContainerLifecycleEvents.fireProcessAnnotatedType(ContainerLifecycleEvents.java:146) at org.jboss.weld.bootstrap.BeanDeployer.processAnnotatedTypes(BeanDeployer.java:179) at org.jboss.weld.bootstrap.BeanDeployment.createTypes(BeanDeployment.java:228) at org.jboss.weld.bootstrap.WeldStartup.startInitialization(WeldStartup.java:338) at org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:73) at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:91) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) at org.jboss.weld.bootstrap.events.ProcessAnnotatedTypeImpl.fire(ProcessAnnotatedTypeImpl.java:98) at org.jboss.weld.bootstrap.events.ContainerLifecycleEvents.fireProcessAnnotatedType(ContainerLifecycleEvents.java:146) at org.jboss.weld.bootstrap.BeanDeployer.processAnnotatedTypes(BeanDeployer.java:179) at org.jboss.weld.bootstrap.BeanDeployment.createTypes(BeanDeployment.java:228) at org.jboss.weld.bootstrap.WeldStartup.startInitialization(WeldStartup.java:338) at org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:73) at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:91) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.0.Final.jar:1.2.0.Final] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.0.Final.jar:1.2.0.Final] ... 3 more 2014-02-21 13:47:28,542 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) JBAS014613: Operation ("full-replace-deployment") failed - address: ([]) - failure description: {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"ad.war\".WeldStartService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"ad.war\".WeldStartService: Failed to start service Caused by: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions: Exception 0 : java.lang.ArrayIndexOutOfBoundsException: 0 at org.hibernate.validator.internal.util.ExecutableHelper.instanceMethodParametersResolveToSameTypes(ExecutableHelper.java:131) at org.hibernate.validator.internal.util.ExecutableHelper.overrides(ExecutableHelper.java:94) at org.hibernate.validator.internal.cdi.ValidationExtension.replaceWithOverriddenOrInterfaceMethod(ValidationExtension.java:392) at org.hibernate.validator.internal.cdi.ValidationExtension.determineConstrainedMethod(ValidationExtension.java:217) at org.hibernate.validator.internal.cdi.ValidationExtension.determineConstrainedCallables(ValidationExtension.java:204) at org.hibernate.validator.internal.cdi.ValidationExtension.processAnnotatedType(ValidationExtension.java:184) at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93) at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266) at org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:125) at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253) at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232) at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169) at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:128) at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:107) at org.jboss.weld.bootstrap.events.ProcessAnnotatedTypeImpl.fire(ProcessAnnotatedTypeImpl.java:93) at org.jboss.weld.bootstrap.events.ContainerLifecycleEvents.fireProcessAnnotatedType(ContainerLifecycleEvents.java:146) at org.jboss.weld.bootstrap.BeanDeployer.processAnnotatedTypes(BeanDeployer.java:179) at org.jboss.weld.bootstrap.BeanDeployment.createTypes(BeanDeployment.java:228) at org.jboss.weld.bootstrap.WeldStartup.startInitialization(WeldStartup.java:338) at org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:73) at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:91) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) "}} 2014-02-21 13:47:28,557 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018565: Replaced deployment "ad.war" with deployment "ad.war" 2014-02-21 13:47:28,558 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report JBAS014777: Services which failed to start: service jboss.deployment.unit."ad.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."ad.war".WeldStartService: Failed to start service

Pablo Rodriguez PinaJanuary 27, 2014 at 3:14 AM

Gunnar,

I am getting this with 5.0.2.Final and with 5.1.0.Beta1

Is there a way to tell which bean causing the exception?

Gunnar MorlingSeptember 10, 2013 at 6:14 PM

Leonardo, thanks for reporting back! Good to hear that it is working for you now.

Leonardo ZanivanSeptember 9, 2013 at 11:45 AM

It's working well. Thanks Gunnar!

PS: Atlassian fixed the signup bug and I could create an account.

Fixed

Details

Assignee

Reporter

Bug Testcase Reminder (view)

Bug reports should generally be accompanied by a test case!

Bug Testcase Reminder (edit)

Bug reports should generally be accompanied by a test case!

Participants

Fabian Schwarzer
Gunnar Morling
Leonardo Zanivan
Pablo Rodriguez Pina

Components

Affects versions

Priority

Created August 27, 2013 at 8:10 PM
Updated February 24, 2014 at 3:46 PM
Resolved August 28, 2013 at 12:34 PM

Flag notifications