I’ve just upgraded a working vaadin project from 12.0.7 to 13.03.
As soon as I start the webapp up I’m getting a stack overflow as below.
Each time I remove what appears to be my offending code the stack overflow moves. So it looks like a problem with the reroute as that is the common thread.
There was an exception while trying to navigate to 'admin/UserList' with the exception message 'Unable to create an instance of 'au.com.noojeeit.micropbx.ui.admin.views.LoginView'. The constructor threw an exception.'
java.lang.IllegalArgumentException: Unable to create an instance of 'au.com.noojeeit.micropbx.ui.admin.views.LoginView'. The constructor threw an exception.
at com.vaadin.flow.internal.ReflectTools.createProxyInstance(ReflectTools.java:510)
at com.vaadin.flow.internal.ReflectTools.createInstance(ReflectTools.java:447)
at com.vaadin.flow.di.DefaultInstantiator.getOrCreate(DefaultInstantiator.java:65)
at com.vaadin.flow.di.Instantiator.createRouteTarget(Instantiator.java:158)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.lambda$getRouteTarget$1(AbstractNavigationStateRenderer.java:121)
at java.base/java.util.Optional.orElseGet(Optional.java:369)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.getRouteTarget(AbstractNavigationStateRenderer.java:120)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:178)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
...
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
Caused by: java.lang.StackOverflowError
at java.base/java.util.stream.ReferencePipeline.skip(ReferencePipeline.java:480)
at org.apache.logging.log4j.util.StackLocator.lambda$getCallerClass$7(StackLocator.java:60)
at java.base/java.lang.StackStreamFactory$StackFrameTraverser.consumeFrames(StackStreamFactory.java:534)
at java.base/java.lang.StackStreamFactory$AbstractStackWalker.doStackWalk(StackStreamFactory.java:306)
at java.base/java.lang.StackStreamFactory$AbstractStackWalker.callStackWalk(Native Method)
at java.base/java.lang.StackStreamFactory$AbstractStackWalker.beginStackWalk(StackStreamFactory.java:370)
at java.base/java.lang.StackStreamFactory$AbstractStackWalker.walk(StackStreamFactory.java:243)
at java.base/java.lang.StackWalker.walk(StackWalker.java:498)
at org.apache.logging.log4j.util.StackLocator.getCallerClass(StackLocator.java:60)
at org.apache.logging.log4j.util.StackLocatorUtil.getCallerClass(StackLocatorUtil.java:40)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:567)
at au.com.noojeeit.micropbx.ui.admin.views.LoginView.<init>(LoginView.java:40)
at jdk.internal.reflect.GeneratedConstructorAccessor200.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45005)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at com.vaadin.flow.internal.ReflectTools.createProxyInstance(ReflectTools.java:479)
at com.vaadin.flow.internal.ReflectTools.createInstance(ReflectTools.java:447)
at com.vaadin.flow.di.DefaultInstantiator.getOrCreate(DefaultInstantiator.java:65)
at com.vaadin.flow.di.Instantiator.createRouteTarget(Instantiator.java:158)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.lambda$getRouteTarget$1(AbstractNavigationStateRenderer.java:121)
at java.base/java.util.Optional.orElseGet(Optional.java:369)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.getRouteTarget(AbstractNavigationStateRenderer.java:120)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:178)
If I take out the lo4j loggers, i get:
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
Caused by: java.lang.StackOverflowError
at java.base/com.zeroturnaround.jrebelbase.l._jr$iCur(SourceFile)
at java.base/com.zeroturnaround.jrebelbase.facade.i.getCurrentVersionInternal(SourceFile:50)
at java.base/com.zeroturnaround.jrebelbase.facade.i.getCurrentVersion(SourceFile:1)
at java.base/com.zeroturnaround.jrebelbase.facade.i.getCurrentInstance(SourceFile:42)
at com.googlecode.gentyref.GenericTypeReflector.erase(GenericTypeReflector.java:31)
at com.googlecode.gentyref.GenericTypeReflector.getExactSuperType(GenericTypeReflector.java:128)
at com.googlecode.gentyref.GenericTypeReflector.getTypeParameter(GenericTypeReflector.java:160)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.getType(AbstractServerHandlers.java:223)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:150)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:156)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:156)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:156)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:156)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:156)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:121)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.componentSet(AbstractServerHandlers.java:82)
at com.vaadin.flow.internal.nodefeature.ComponentMapping.setComponent(ComponentMapping.java:63)
at com.vaadin.flow.dom.ElementStateProvider.setComponent(ElementStateProvider.java:350)
at com.vaadin.flow.dom.ElementUtil.setComponent(ElementUtil.java:198)
at com.vaadin.flow.component.Component.setElement(Component.java:217)
at com.vaadin.flow.component.Component.setElement(Component.java:238)
at com.vaadin.flow.component.Component.<init>(Component.java:117)
at com.vaadin.flow.component.AbstractField.<init>(AbstractField.java:145)
at com.vaadin.flow.component.AbstractSinglePropertyField.<init>(AbstractSinglePropertyField.java:216)
at com.vaadin.flow.component.AbstractSinglePropertyField.<init>(AbstractSinglePropertyField.java:157)
at com.vaadin.flow.component.textfield.GeneratedVaadinTextField.<init>(GeneratedVaadinTextField.java:1101)
at com.vaadin.flow.component.textfield.GeneratedVaadinPasswordField.<init>(GeneratedVaadinPasswordField.java:178)
at com.vaadin.flow.component.textfield.PasswordField.<init>(PasswordField.java:46)
at com.vaadin.flow.component.textfield.PasswordField.<init>(PasswordField.java:57)
at au.com.noojeeit.micropbx.ui.admin.views.LoginView.<init>(LoginView.java:65)
at jdk.internal.reflect.GeneratedConstructorAccessor220.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45005)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at com.vaadin.flow.internal.ReflectTools.createProxyInstance(ReflectTools.java:479)
at com.vaadin.flow.internal.ReflectTools.createInstance(ReflectTools.java:447)
at com.vaadin.flow.di.DefaultInstantiator.getOrCreate(DefaultInstantiator.java:65)
at com.vaadin.flow.di.Instantiator.createRouteTarget(Instantiator.java:158)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.lambda$getRouteTarget$1(AbstractNavigationStateRenderer.java:121)
at java.base/java.util.Optional.orElseGet(Optional.java:369)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.getRouteTarget(AbstractNavigationStateRenderer.java:120)
here is a another one:
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
Caused by: java.lang.StackOverflowError
at java.base/java.lang.reflect.AccessibleObject.isAnnotationPresent(AccessibleObject.java)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.lambda$collectHandlerMethods$1(AbstractServerHandlers.java:154)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:155)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:156)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:156)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:156)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:156)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.collectHandlerMethods(AbstractServerHandlers.java:121)
at com.vaadin.flow.internal.nodefeature.AbstractServerHandlers.componentSet(AbstractServerHandlers.java:82)
at com.vaadin.flow.internal.nodefeature.ComponentMapping.setComponent(ComponentMapping.java:63)
at com.vaadin.flow.dom.ElementStateProvider.setComponent(ElementStateProvider.java:350)
at com.vaadin.flow.dom.ElementUtil.setComponent(ElementUtil.java:198)
at com.vaadin.flow.component.Component.setElement(Component.java:217)
at com.vaadin.flow.component.Component.setElement(Component.java:238)
at com.vaadin.flow.component.Component.<init>(Component.java:117)
at com.vaadin.flow.component.AbstractField.<init>(AbstractField.java:145)
at com.vaadin.flow.component.AbstractSinglePropertyField.<init>(AbstractSinglePropertyField.java:216)
at com.vaadin.flow.component.AbstractSinglePropertyField.<init>(AbstractSinglePropertyField.java:157)
at com.vaadin.flow.component.textfield.GeneratedVaadinTextField.<init>(GeneratedVaadinTextField.java:1101)
at com.vaadin.flow.component.textfield.GeneratedVaadinPasswordField.<init>(GeneratedVaadinPasswordField.java:178)
at com.vaadin.flow.component.textfield.PasswordField.<init>(PasswordField.java:46)
at com.vaadin.flow.component.textfield.PasswordField.<init>(PasswordField.java:57)
at au.com.noojeeit.micropbx.ui.admin.views.LoginView.<init>(LoginView.java:65)
at jdk.internal.reflect.GeneratedConstructorAccessor203.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45005)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at com.vaadin.flow.internal.ReflectTools.createProxyInstance(ReflectTools.java:479)
at com.vaadin.flow.internal.ReflectTools.createInstance(ReflectTools.java:447)
at com.vaadin.flow.di.DefaultInstantiator.getOrCreate(DefaultInstantiator.java:65)
at com.vaadin.flow.di.Instantiator.createRouteTarget(Instantiator.java:158)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.lambda$getRouteTarget$1(AbstractNavigationStateRenderer.java:121)
at java.base/java.util.Optional.orElseGet(Optional.java:369)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.getRouteTarget(AbstractNavigationStateRenderer.java:120)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:178)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.reroute(AbstractNavigationStateRenderer.java:385)
at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:218)