When deploying applications to 5.182 I receive a number of different exceptions just before the _"application x was successfully deployed in x milliseconds"_ message is printed. The applications work as expected following this.
Applications deploy fine and work as expected. But the following stack traces are printed:
First app:
2018-07-31T09:51:39.967+0100|Warning: Exception while dispatching an event
java.lang.ClassCastException: java.lang.reflect.Field cannot be cast to java.lang.reflect.Parameter
at fish.payara.microprofile.openapi.impl.visitor.OpenApiWalker.processAnnotation(OpenApiWalker.java:217)
at fish.payara.microprofile.openapi.impl.visitor.OpenApiWalker.processAnnotations(OpenApiWalker.java:187)
at fish.payara.microprofile.openapi.impl.visitor.OpenApiWalker.processAnnotations(OpenApiWalker.java:206)
at fish.payara.microprofile.openapi.impl.visitor.OpenApiWalker.accept(OpenApiWalker.java:150)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.process(ApplicationProcessor.java:157)
at fish.payara.microprofile.openapi.impl.OpenApiService.createOpenApiDocument(OpenApiService.java:186)
at fish.payara.microprofile.openapi.impl.OpenApiService.event(OpenApiService.java:151)
at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:131)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:369)
at com.sun.enterprise.v3.server.ApplicationLifecycle.initialize(ApplicationLifecycle.java:541)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:542)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:549)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:545)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:544)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:575)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:567)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:566)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1475)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:111)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1857)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1733)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:564)
at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:251)
at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:166)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:516)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:213)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:182)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:156)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:218)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:95)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:260)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:177)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:109)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:88)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:53)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:524)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:89)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:94)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:33)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:114)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
at java.lang.Thread.run(Thread.java:748)
Another app:
java.lang.NullPointerException
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.visitQueryParam(ApplicationProcessor.java:365)
at fish.payara.microprofile.openapi.impl.visitor.OpenApiWalker.processAnnotation(OpenApiWalker.java:217)
at fish.payara.microprofile.openapi.impl.visitor.OpenApiWalker.processAnnotations(OpenApiWalker.java:197)
at fish.payara.microprofile.openapi.impl.visitor.OpenApiWalker.processAnnotations(OpenApiWalker.java:206)
at fish.payara.microprofile.openapi.impl.visitor.OpenApiWalker.accept(OpenApiWalker.java:150)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.process(ApplicationProcessor.java:157)
at fish.payara.microprofile.openapi.impl.OpenApiService.createOpenApiDocument(OpenApiService.java:186)
at fish.payara.microprofile.openapi.impl.OpenApiService.event(OpenApiService.java:151)
at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:131)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:369)
at com.sun.enterprise.v3.server.ApplicationLifecycle.initialize(ApplicationLifecycle.java:541)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:542)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:549)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:545)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:544)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:575)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:567)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:566)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1475)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:111)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1857)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1733)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:564)
at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:251)
at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:166)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:516)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:213)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:182)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:156)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:218)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:95)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:260)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:177)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:109)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:88)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:53)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:524)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:89)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:94)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:33)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:114)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
at java.lang.Thread.run(Thread.java:748)
Another app:
Exception while dispatching an event
java.lang.StackOverflowError
at java.lang.Class.getEnclosingMethodInfo(Class.java:1072)
at java.lang.Class.getEnclosingClass(Class.java:1272)
at java.lang.Class.getSimpleBinaryName(Class.java:1443)
at java.lang.Class.getSimpleName(Class.java:1309)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.visitSchema(ApplicationProcessor.java:433)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.insertObjectReference(ApplicationProcessor.java:931)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.createSchema(ApplicationProcessor.java:897)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.visitSchema(ApplicationProcessor.java:448)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.insertObjectReference(ApplicationProcessor.java:931)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.createSchema(ApplicationProcessor.java:897)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.visitSchema(ApplicationProcessor.java:448)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.insertObjectReference(ApplicationProcessor.java:931)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.createSchema(ApplicationProcessor.java:897)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.visitSchema(ApplicationProcessor.java:448)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.insertObjectReference(ApplicationProcessor.java:931)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.createSchema(ApplicationProcessor.java:897)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.visitSchema(ApplicationProcessor.java:448)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.insertObjectReference(ApplicationProcessor.java:931)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.createSchema(ApplicationProcessor.java:897)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.visitSchema(ApplicationProcessor.java:448)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.insertObjectReference(ApplicationProcessor.java:931)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.createSchema(ApplicationProcessor.java:897)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.visitSchema(ApplicationProcessor.java:448)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.insertObjectReference(ApplicationProcessor.java:931)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.createSchema(ApplicationProcessor.java:897)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.visitSchema(ApplicationProcessor.java:448)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.insertObjectReference(ApplicationProcessor.java:931)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.createSchema(ApplicationProcessor.java:897)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.visitSchema(ApplicationProcessor.java:448)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.insertObjectReference(ApplicationProcessor.java:931)
at fish.payara.microprofile.openapi.impl.processor.ApplicationProcessor.createSchema(ApplicationProcessor.java:897)
.................
The above stacktraces do not print for all applications - they seem to be linked to particular apps.
Unsure of how to reproduce the issue as the applications deploy fine on 5.181 without any stacktraces being present. I have just redeployed all the apps to a 5.181 server and there are no issues.
The only messages that are present when deploying to both 5.181 and 5.182 are the following:
WELD-000411: Observer method [BackedAnnotatedMethod] private org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider.processAnnotatedType(@Observes ProcessAnnotatedType) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds.
2018-07-31T09:57:11.734+0100|WARN: WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class org.glassfish.jersey.ext.cdi1x.transaction.internal.WebAppExceptionInterceptor is deprecated from CDI 1.1!
Unfortunately, I do not have any more information that I can provide, so if there is anything else that would be useful I will provide it.
Hi @SirCipher,
These errors will be present since 182 since that was the first release including an OpenAPI implementation. In 183 the build of an OpenAPI document has been delayed until it is needed, so all of these errors won't be found unless you use the OpenAPI document.
I believe the third error you posted has been fixed with https://github.com/payara/Payara/pull/2837. I haven't come across the first and second however. Are you able to provide reproducers? At a glance I would guess that in the second error there is possibly a method with an @QueryParam and no @GET or similar annotation?
Kind regards,
Matt
Hi @MattGill98,
Thanks for the information. I will check to see if there are missing annotations present and see if this resolves the issue. As for providing a reproducer, I will see if I can narrow down the area in the code base that is causing the issue and then provide you with it. If I can find it!
Tom
@krichter722 Done. Not really sure why I didn't do that in the first place!
An update.
I have checked out be75e1370418b3b8fd3d08971de98009bee74e02 (current) and 910b0e735126457d75e8fbf8361297e1ed90a895 (a 5.182 build) and I have added some logging to the classes that threw the exceptions so I can get a bit more information as to what has been going on. When I encounter anything I will report back.
I think this is a duplicate of #3043
This issue duplicates 3043 as well as https://github.com/payara/Payara/issues/2835.
I'll close this issue, although feel free to reopen it if I've missed anything or you find that one of these bugs isn't covered in the linked issues!
Kind regards,
Matt
I've upgraded to 5.183 and all issues are resolved. Thanks for your help!