EDDI icon indicating copy to clipboard operation
EDDI copied to clipboard

NullPointerException in ChannelManager.java

Open meeshkan[bot] opened this issue 5 years ago • 1 comments

Hello!

@ginccc We believe we may have found a bug in labsai/EDDI.

The endpoint /channelstore/channels does not conform to the Swagger document at /swagger.json. The Swagger document marks the following fields as required in the POST request body:

[]

However, when running the following request, the server returned a 500 response:

curl -X POST --data "{\"name\": \"xhgifqpow\"}" "http://localhost:7070/channelstore/channels"

Here is the stack trace:

eddi_1     | 2020-05-07 12:19:56 [etp86109903-85] WARN  org.eclipse.jetty.server.HttpChannel - /channelstore/channels
eddi_1     | org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException
eddi_1     |    at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:106)
eddi_1     |    at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:372)
eddi_1     |    at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:216)
eddi_1     |    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:515)
eddi_1     |    at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:259)
eddi_1     |    at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:160)
eddi_1     |    at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:362)
eddi_1     |    at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:163)
eddi_1     |    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:245)
eddi_1     |    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:249)
eddi_1     |    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:60)
eddi_1     |    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
eddi_1     |    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
eddi_1     |    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763)
eddi_1     |    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631)
eddi_1     |    at ai.labs.server.ServerRuntime$4.doFilter(ServerRuntime.java:342)
eddi_1     |    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
eddi_1     |    at ai.labs.server.ServerRuntime$3.doFilter(ServerRuntime.java:283)
eddi_1     |    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
eddi_1     |    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549)
eddi_1     |    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
eddi_1     |    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610)
eddi_1     |    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
eddi_1     |    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1363)
eddi_1     |    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
eddi_1     |    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:489)
eddi_1     |    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580)
eddi_1     |    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
eddi_1     |    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1278)
eddi_1     |    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
eddi_1     |    at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
eddi_1     |    at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:173)
eddi_1     |    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
eddi_1     |    at org.eclipse.jetty.server.Server.handle(Server.java:500)
eddi_1     |    at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
eddi_1     |    at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
eddi_1     |    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
eddi_1     |    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
eddi_1     |    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
eddi_1     |    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
eddi_1     |    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
eddi_1     |    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
eddi_1     |    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
eddi_1     |    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
eddi_1     |    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
eddi_1     |    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
eddi_1     |    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
eddi_1     |    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
eddi_1     |    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
eddi_1     |    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
eddi_1     |    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
eddi_1     |    at java.base/java.lang.Thread.run(Unknown Source)
eddi_1     | Caused by: java.lang.NullPointerException: null
eddi_1     |    at ai.labs.channels.config.ChannelManager.initChannel(ChannelManager.java:20)
eddi_1     |    at ai.labs.channels.config.RestChannelDefinitionStore.createChannelDefinition(RestChannelDefinitionStore.java:54)
eddi_1     |    at jdk.internal.reflect.GeneratedMethodAccessor303.invoke(Unknown Source)
eddi_1     |    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
eddi_1     |    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
eddi_1     |    at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)
eddi_1     |    at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:130)
eddi_1     |    at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:621)
eddi_1     |    at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:487)
eddi_1     |    at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:437)
eddi_1     |    at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:362)
eddi_1     |    at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:439)
eddi_1     |    at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:400)
eddi_1     |    at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:374)
eddi_1     |    at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:67)
eddi_1     |    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:488)
eddi_1     |    ... 48 common frames omitted

meeshkan[bot] avatar May 07 '20 13:05 meeshkan[bot]

fixed.

expected behavior for

curl -X POST --data "{\"name\": \"xhgifqpow\"}" "http://localhost:7070/channelstore/channels"

is Bad Request, code: 400 Msg: Argument must not be null nor empty (channelDefinition.type)

ginccc avatar May 15 '20 11:05 ginccc