Hi,

which version of Dropwizard are you using exactly?

Could you provide a minimal example which can be used to reproduce the issue?

Cheers,
Jochen

> Am 16.03.2018 um 10:46 schrieb Sarath Prabath Redlapalli Jaya 
> <[email protected]>:
> 
> Dropwizard throws NPE and responds with 500 while accessing a POST resource. 
> The resource method has validation over body
> 
> Resource Snippet:
> 
> public Response aPost(@Valid @NotEmpty List<Model> models) {
> 
> 
> Stack Trace:
> 
> 
> [2018-03-16 14:14:16,425] [] [WARN] MSG - o.e.j.s.HttpChannel /aPost
> 
> 
> javax.servlet.ServletException: java.lang.NullPointerException
> 
> 
>         at 
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489)
> 
> 
>         at 
> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
> 
> 
>         at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
> 
> 
>         at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
> 
> 
>         at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
> 
> 
>         at 
> io.dropwizard.jetty.NonblockingServletHolder.handle(NonblockingServletHolder.java:49)
> 
> 
>         at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
> 
> 
>         at 
> io.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:34)
> 
> 
>         at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
> 
> 
>         at 
> io.dropwizard.jersey.filter.AllowedMethodsFilter.handle(AllowedMethodsFilter.java:45)
> 
> 
>         at 
> io.dropwizard.jersey.filter.AllowedMethodsFilter.doFilter(AllowedMethodsFilter.java:39)
> 
> 
>         at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
> 
> 
>         at 
> com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
> 
> 
>         at 
> com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
> 
> 
>         at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
> 
> 
>         at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
> 
> 
>         at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
> 
> 
>         at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
> 
> 
>         at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
> 
> 
>         at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
> 
> 
>         at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
> 
> 
>         at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
> 
> 
>         at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> 
> 
>         at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> 
> 
>         at 
> com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:241)
> 
> 
>         at io.dropwizard.jetty.RoutingHandler.handle(RoutingHandler.java:52)
> 
> 
>         at 
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:455)
> 
> 
>         at io.dropwizard.jetty.BiDiGzipHandler.handle(BiDiGzipHandler.java:68)
> 
> 
>         at 
> org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)
> 
> 
>         at 
> org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)
> 
> 
>         at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> 
> 
>         at org.eclipse.jetty.server.Server.handle(Server.java:561)
> 
> 
>         at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:334)
> 
> 
>         at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
> 
> 
>         at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
> 
> 
>         at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
> 
> 
>         at 
> org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
> 
> 
>         at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
> 
> 
>         at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
> 
> 
>         at java.lang.Thread.run(Thread.java:748)
> 
> 
> Caused by: java.lang.NullPointerException: null
> 
> 
>         at 
> sun.reflect.annotation.TypeAnnotationParser.mapTypeAnnotations(TypeAnnotationParser.java:356)
> 
> 
>         at 
> sun.reflect.annotation.AnnotatedTypeFactory$AnnotatedTypeBaseImpl.<init>(AnnotatedTypeFactory.java:139)
> 
> 
>         at 
> sun.reflect.annotation.AnnotatedTypeFactory.buildAnnotatedType(AnnotatedTypeFactory.java:65)
> 
> 
>         at 
> sun.reflect.annotation.TypeAnnotationParser.buildAnnotatedType(TypeAnnotationParser.java:79)
> 
> 
>         at java.lang.reflect.Field.getAnnotatedType(Field.java:1170)
> 
> 
>         at 
> org.hibernate.validator.internal.metadata.provider.TypeAnnotationAwareMetaDataProvider.findTypeAnnotationConstraintsForMember(TypeAnnotationAwareMetaDataProvider.java:65)
> 
> 
>         at 
> org.hibernate.validator.internal.metadata.provider.AnnotationMetaDataProvider.findPropertyMetaData(AnnotationMetaDataProvider.java:246)
> 
> 
>         at 
> org.hibernate.validator.internal.metadata.provider.AnnotationMetaDataProvider.getFieldMetaData(AnnotationMetaDataProvider.java:229)
> 
> 
>         at 
> org.hibernate.validator.internal.metadata.provider.AnnotationMetaDataProvider.retrieveBeanConfiguration(AnnotationMetaDataProvider.java:137)
> 
> 
>         at 
> org.hibernate.validator.internal.metadata.provider.AnnotationMetaDataProvider.getBeanConfiguration(AnnotationMetaDataProvider.java:125)
> 
> 
>         at 
> org.hibernate.validator.internal.metadata.provider.AnnotationMetaDataProvider.getBeanConfigurationForHierarchy(AnnotationMetaDataProvider.java:108)
> 
> 
>         at 
> org.hibernate.validator.internal.metadata.BeanMetaDataManager.createBeanMetaData(BeanMetaDataManager.java:203)
> 
> 
>         at 
> org.hibernate.validator.internal.metadata.BeanMetaDataManager.getOrCreateBeanMetaData(BeanMetaDataManager.java:231)
> 
> 
>         at 
> org.hibernate.validator.internal.metadata.BeanMetaDataManager.getBeanMetaData(BeanMetaDataManager.java:178)
> 
> 
>         at 
> org.hibernate.validator.internal.engine.ValidatorImpl.buildNewLocalExecutionContext(ValidatorImpl.java:770)
> 
> 
>         at 
> org.hibernate.validator.internal.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:753)
> 
> 
>         at 
> org.hibernate.validator.internal.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:680)
> 
> 
>         at 
> org.hibernate.validator.internal.engine.ValidatorImpl.validateParametersInContext(ValidatorImpl.java:1117)
> 
> 
>         at 
> org.hibernate.validator.internal.engine.ValidatorImpl.validateParameters(ValidatorImpl.java:301)
> 
> 
>         at 
> org.hibernate.validator.internal.engine.ValidatorImpl.validateParameters(ValidatorImpl.java:255)
> 
> 
>         at 
> io.dropwizard.jersey.validation.DropwizardConfiguredValidator.validateResourceAndInputParams(DropwizardConfiguredValidator.java:45)
> 
> 
>         at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:134)
> 
> 
>         at 
> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
> 
> 
>         at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
> 
> 
>         at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
> 
> 
>         at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
> 
> 
>         at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
> 
> 
>         at 
> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
> 
> 
>         at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> 
> 
>         at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> 
> 
>         at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> 
> 
>         at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> 
> 
>         at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> 
> 
>         at 
> org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
> 
> 
>         at 
> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
> 
> 
>         at 
> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
> 
> 
>         at 
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
> 
> 
>         ... 39 common frames omitted
> 
> 
> The request is passing through, when @Valid annotation is absent
> 
> Thanks
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "dropwizard-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"dropwizard-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to