swagger-api / swagger-play

Apache License 2.0
330 stars 181 forks source link

NullPointerException Error on requesting swagger.json #98

Closed michaeloa closed 8 years ago

michaeloa commented 8 years ago

I'm getting the following error when trying to display Swagger from swagger-ui.

Play Framework: 2.4.8 Swagger-play2 1.5.2

[error] - application - Error on request /swagger.json from user with credentials <none>
java.lang.NullPointerException: null
    at play.modules.swagger.ApiListingCache$$anonfun$listing$1.apply(ApiListingCache.scala:15) ~[io.swagger.swagger-play2_2.11-1.5.2.jar:1.5.2]
    at play.modules.swagger.ApiListingCache$$anonfun$listing$1.apply(ApiListingCache.scala:11) ~[io.swagger.swagger-play2_2.11-1.5.2.jar:1.5.2]
    at scala.Option.orElse(Option.scala:289) ~[org.scala-lang.scala-library-2.11.8.jar:na]
    at play.modules.swagger.ApiListingCache$.listing(ApiListingCache.scala:11) ~[io.swagger.swagger-play2_2.11-1.5.2.jar:1.5.2]
    at controllers.SwaggerBaseApiController.getResourceListing(ApiHelpController.scala:128) ~[io.swagger.swagger-play2_2.11-1.5.2.jar:2.4.8]
    at controllers.ApiHelpController$$anonfun$getResources$1.apply(ApiHelpController.scala:74) ~[io.swagger.swagger-play2_2.11-1.5.2.jar:2.4.8]
    at controllers.ApiHelpController$$anonfun$getResources$1.apply(ApiHelpController.scala:71) ~[io.swagger.swagger-play2_2.11-1.5.2.jar:2.4.8]
    at play.api.mvc.ActionBuilder$$anonfun$apply$16.apply(Action.scala:408) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at play.api.mvc.ActionBuilder$$anonfun$apply$16.apply(Action.scala:407) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at play.api.mvc.Action$.invokeBlock(Action.scala:533) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at play.api.mvc.Action$.invokeBlock(Action.scala:530) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at play.api.mvc.ActionBuilder$$anon$1.apply(Action.scala:493) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at play.utils.Threads$.withContextClassLoader(Threads.scala:21) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:104) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:103) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at scala.Option.map(Option.scala:146) ~[org.scala-lang.scala-library-2.11.8.jar:na]
    at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:103) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:96) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
    at play.api.libs.iteratee.DoneIteratee$$anonfun$mapM$2.apply(Iteratee.scala:741) ~[com.typesafe.play.play-iteratees_2.11-2.4.8.jar:2.4.8]
    at play.api.libs.iteratee.DoneIteratee$$anonfun$mapM$2.apply(Iteratee.scala:741) ~[com.typesafe.play.play-iteratees_2.11-2.4.8.jar:2.4.8]
    at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) ~[org.scala-lang.scala-library-2.11.8.jar:na]
    at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) ~[org.scala-lang.scala-library-2.11.8.jar:na]
    at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40) [com.typesafe.akka.akka-actor_2.11-2.3.13.jar:na]
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) [com.typesafe.akka.akka-actor_2.11-2.3.13.jar:na]
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [org.scala-lang.scala-library-2.11.8.jar:na]
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [org.scala-lang.scala-library-2.11.8.jar:na]
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [org.scala-lang.scala-library-2.11.8.jar:na]
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [org.scala-lang.scala-library-2.11.8.jar:na]

The weird thing is that this works perfectly well when I run a test instance - (i.e., with activator run), but it fails in production.

Anyone who has seen something like this before that can give me a pointer to where the problem may be?

michaeloa commented 8 years ago

Forget this. I think I may have found the issue (prod environment picking up a wrong binary).

Edit: This turned out to be correct.

ideadapt commented 4 years ago

@michaeloa How exactly did you fix this? I have the same issue. What do you mean by "a wrong binary"?

michaeloa commented 3 years ago

@ideadapt Sorry - didn't notice this question until recently, and it's such a long time since that I don't recall the details anymore (changed jobs since, as well, so don't have access to the bug db).