Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exceptions in controllers are hidden by an exception in the default error handler #10486

Closed
danellis opened this issue Oct 19, 2020 · 45 comments · Fixed by #10648
Closed

Exceptions in controllers are hidden by an exception in the default error handler #10486

danellis opened this issue Oct 19, 2020 · 45 comments · Fixed by #10648
Milestone

Comments

@danellis
Copy link

danellis commented Oct 19, 2020

Play Version

2.8.2

API

Scala

Operating System

macOS 10.14

JDK

java -version gives me:

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

But note that it's running under 14. I got the same result running under 8, though.

openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+14)
OpenJDK 64-Bit Server VM (build 14.0.1+14, mixed mode, sharing)

Library Dependencies

    val AkkaVersion = "2.6.9"
    val akkaActor = "com.typesafe.akka" %% "akka-actor" % AkkaVersion
    val akkaActorTyped = "com.typesafe.akka" %% "akka-actor-typed" % AkkaVersion
    val akkaStream = "com.typesafe.akka" %% "akka-stream" % AkkaVersion
    val akkaDiscovery = "com.typesafe.akka" %% "akka-discovery" % AkkaVersion
    val akkaProtobuf = "com.typesafe.akka" %% "akka-protobuf" % AkkaVersion
    val alpakkaKafka = "com.typesafe.akka" %% "akka-stream-kafka" % "2.0.5"

    val SlickVersion = "3.3.3"
    val slick = "com.typesafe.slick" %% "slick" % SlickVersion
    val slickPg = "com.github.tminglei" %% "slick-pg" % "0.19.3"
    val playSlick = "com.typesafe.play" %% "play-slick" % "5.0.0"
    val hikari = "com.typesafe.slick" %% "slick-hikaricp" % SlickVersion
    val postgres = "org.postgresql" % "postgresql" % "42.2.16"

    val scalaCsv = "com.github.tototoshi" %% "scala-csv" % "1.3.6"

Expected Behavior

  1. Application throws an exception inside an action
  2. Play logs the exception to the console
  3. Play returns HTML page with exception in it

Actual Behavior

  1. Application throws an exception inside an action
  2. Play logs an exception arising in the error handler (see below)
  3. Empty content returned

If an exception is thrown outside of my controllers (for example, bad configuration) the error is reported as expected.

[info] welcome to sbt 1.4.0 (N/A Java 14.0.1)
[info] loading global plugins from /Users/dan/.sbt/1.0/plugins
[info] loading settings for project cloud-build from plugins.sbt ...
[info] loading project definition from /Users/dan/projects/wolfbone/cloud/project
[info] loading settings for project cloud from build.sbt,version.sbt ...
[info] set current project to cloud (in build file:/Users/dan/projects/wolfbone/cloud/)

--- (Running the application, auto-reloading is enabled) ---

[info] p.c.s.AkkaHttpServer - Listening for HTTP on /[0:0:0:0:0:0:0:0]:9000

(Server started, use Enter to stop and go back to the console...)

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/Users/dan/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/com/google/inject/guice/4.2.3/guice-4.2.3.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2020-10-15 00:55:32 INFO  play.api.http.EnabledFilters  Enabled Filters (see <https://www.playframework.com/documentation/latest/Filters>):

    play.filters.csrf.CSRFFilter
    play.filters.headers.SecurityHeadersFilter
    play.filters.hosts.AllowedHostsFilter
    play.filters.cors.CORSFilter

2020-10-15 00:55:32 INFO  play.api.Play  Application started (Dev) (no global state)
2020-10-15 00:55:32 ERROR p.api.http.DefaultHttpErrorHandler  Error while handling error
java.lang.ClassCastException: class xsbti.BasicVirtualFileRef cannot be cast to class java.io.File (xsbti.BasicVirtualFileRef is in unnamed module of loader sbt.internal.MetaBuildLoader @6e75aa0d; java.io.File is in module java.base of loader 'bootstrap')
    at play.sbt.run.PlayReload$.$anonfun$sourceMap$1(PlayReload.scala:69)
    at scala.collection.MapLike$MappedValues.get(MapLike.scala:260)
    at play.runsupport.Reloader.$anonfun$findSource$1(Reloader.scala:547)
    at scala.Option.flatMap(Option.scala:271)
    at play.runsupport.Reloader.findSource(Reloader.scala:546)
    at play.core.server.DevServerStart$$anon$1$$anon$2.sourceOf(DevServerStart.scala:171)
    at play.core.SourceMapper.$anonfun$sourceFor$1(ApplicationProvider.scala:21)
    at play.core.SourceMapper.$anonfun$sourceFor$1$adapted(ApplicationProvider.scala:21)
    at scala.collection.ArrayOps$.find$extension(ArrayOps.scala:684)
    at play.core.SourceMapper.sourceFor(ApplicationProvider.scala:21)
    at play.core.SourceMapper.sourceFor$(ApplicationProvider.scala:20)
    at play.core.server.DevServerStart$$anon$1$$anon$2.sourceFor(DevServerStart.scala:169)
    at play.api.http.HttpErrorHandlerExceptions$.$anonfun$throwableToUsefulException$1(HttpErrorHandler.scala:358)
    at scala.Option.flatMap(Option.scala:283)
    at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:358)
    at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:261)
    at play.filters.cors.AbstractCORSPolicy$$anonfun$1.applyOrElse(AbstractCORSPolicy.scala:128)
    at play.filters.cors.AbstractCORSPolicy$$anonfun$1.applyOrElse(AbstractCORSPolicy.scala:126)
    at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:453)
    at play.api.libs.streams.Execution$trampoline$.execute(Execution.scala:70)
    at scala.concurrent.impl.Promise$Transformation.submitWithValue(Promise.scala:392)
    at scala.concurrent.impl.Promise$DefaultPromise.submitWithValue(Promise.scala:302)
    at scala.concurrent.impl.Promise$DefaultPromise.tryComplete0(Promise.scala:249)
    at scala.concurrent.impl.Promise$Transformation.handleFailure(Promise.scala:407)
    at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:469)
    at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:56)
    at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:93)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:94)
    at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:93)
    at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:48)
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:48)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)

Reproducible Test Case

@Singleton
class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
    def index() = Action { implicit request: Request[AnyContent] =>
        throw new Exception("ARGH!")
        Ok(views.html.index())
    }
}
@WayneWang12
Copy link

WayneWang12 commented Oct 21, 2020

Same issue. It may be caused by sbt 1.4.0

@mkurz
Copy link
Member

mkurz commented Oct 21, 2020

Same issue. It may be caused by sbt 1.4.0

Ping @eed3si9n

@seansabour
Copy link

+1 Seeing this issue in sbt 1.4.0

@danellis
Copy link
Author

Yes, rolling back to SBT 1.3.13 makes the problem go away.

@jtjeferreira
Copy link
Contributor

An workaround is to use a custom HttpErrorHandler with sourceMapper as None

@eed3si9n

This comment has been minimized.

@jtjeferreira
Copy link
Contributor

@danellis If this is happening only to sbt 1.4.x, could you create an issue on sbt/sbt please?

@eed3si9n this is happening because sbt.internal.inc.Relations#classes changed from Relation[File, String] to Relation[VirtualFileRef, _root_.scala.Predef.String], but since this is an internal class I think the problem is with the play plugin....

@eed3si9n
Copy link
Contributor

I see. Thanks for the clarification.
I guess then Play needs to do some reflection trick or something to workaround this.

@mkurz mkurz added this to the 2.8.4 milestone Oct 26, 2020
@mkurz

This comment has been minimized.

@ignasi35 ignasi35 modified the milestones: 2.8.4, 2.8.5, 2.8.6 Nov 4, 2020
@mkurz
Copy link
Member

mkurz commented Nov 16, 2020

@jtjeferreira Got this fixed by #10458?

@jtjeferreira
Copy link
Contributor

@jtjeferreira Got this fixed by #10458?

No

@godenji
Copy link
Contributor

godenji commented Nov 22, 2020

Short of reverting to 1.3.x, is there a fix/workaround for this?? Difficult to track down the underlying exception when it's swallowed upstream...

@jtjeferreira
Copy link
Contributor

Short of reverting to 1.3.x, is there a fix/workaround for this?? Difficult to track down the underlying exception when it's swallowed upstream...

Did you try this #10486 (comment) ?

@godenji
Copy link
Contributor

godenji commented Nov 22, 2020

@jtjeferreira I did try that, yes, and it doesn't work (Play 2.8.2, sbt 1.4.3, scala 2.13.3).

Reverting to sbt 1.3.11 "fixes" the issue, but I'd prefer to be on the sbt 1.4.x series.

@jtjeferreira
Copy link
Contributor

@jtjeferreira I did try that, yes, and it doesn't work (Play 2.8.2, sbt 1.4.3, scala 2.13.3).

Reverting to sbt 1.3.11 "fixes" the issue, but I'd prefer to be on the sbt 1.4.x series.

And you still have the same exception? Are you sure you are correctly overriding the HttpErrorHandler? Does the stack trace still mentions the default play.api.http.DefaultHttpErrorHandler?

@godenji
Copy link
Contributor

godenji commented Nov 22, 2020

And you still have the same exception?

yes

Are you sure you are correctly overriding the HttpErrorHandler?

yes

# application.conf
play.http.errorHandler = "AppErrorHandler"

class AppErrorHandler(
  environment: Environment,
  config: Configuration,
  sourceMapper: Option[SourceMapper],
  router: Option[Router]
)
  extends DefaultHttpErrorHandler(
    environment, config, None, router
  ) {...}

Not sure what's going on, but it makes Play + sbt 1.4.x unusable.

@almothafar
Copy link
Contributor

Play 2.8.5, JDK 11, and still got the same issue with sbt 1.4.3 but works just fine in 1.3.13

@jtjeferreira
Copy link
Contributor

I am still in play 2.7.x and the workaround works for me...

@counter2015
Copy link

counter2015 commented Dec 1, 2020

Same problem, but some differences in the details.

When I run project every first time, it will raise error normally in HTML page,
however, after press Enter as use Enter to stop and go back to the console, and re-run project via sbt,
it will throw the same exception.

sbt clean not work, but after quit the project and restart sbt, it will become normally.

@ennru ennru modified the milestones: 2.8.6, 2.8.7, 2.8.8 Dec 9, 2020
@hallyhaa
Copy link

I am also on Play 2.7.x, and the workaround does not work for me.

@alev000
Copy link

alev000 commented Jan 20, 2021

FWIW, the following steps resolved this issue for me, with Play 2.8.7 and SBT 1.4.6:

Add this line to your config file (application.conf):

play.http.errorHandler = "AppErrorHandler"

Add a file named AppErrorHandler.scala to your app/ directory, with the following contents:

import play.api.http.DefaultHttpErrorHandler

class AppErrorHandler extends DefaultHttpErrorHandler(sourceMapper = None)

Thanks @jtjeferreira and @godenji for pointing me in the right direction!

@mkurz
Copy link
Member

mkurz commented Jan 20, 2021

Just to let you know I have a working patch which I will submit soon hopefully.

@mkurz
Copy link
Member

mkurz commented Jan 22, 2021

Fix for master: #10648
Fix for 2.8.x: #10649
Fix for 2.7.x: #10650

@mergify mergify bot closed this as completed in #10648 Feb 4, 2021
@deekayman
Copy link

I see this is merged, but when will it be released?

@mkurz
Copy link
Member

mkurz commented Feb 9, 2021

@deekayman This week I will submit one more pull request which is needed to fully support sbt 1.4 in Play, afterwards I will ask the Play team at Lightbend to release 2.8.8.

@mcintyre94
Copy link

@mkurz Do you have any update on when Lightbend might release this? Doesn't look like there's a 2.8.8 yet

@mkurz
Copy link
Member

mkurz commented Feb 25, 2021

@mcintyre94 Sorry not update yet. Stay tuned.

@coderman2022
Copy link

@mcintyre94 Sorry not update yet. Stay tuned.

👋

@coderman2022
Copy link

Not sure what's going on, but it makes Play + sbt 1.4.x unusable.

agreed. without proper error handling, using Play is not an option

@mcintyre94
Copy link

Not sure what's going on, but it makes Play + sbt 1.4.x unusable.

agreed. without proper error handling, using Play is not an option

FWIW the workaround in #10486 (comment) is working fine for my team.

@coderman2022
Copy link

FWIW the workaround in #10486 (comment) is working fine for my team.

Thanks. However it is always preferable to not have "magic" workarounds.

Do we have any timeline for release?

@mkurz
Copy link
Member

mkurz commented Mar 23, 2021

Do we have any timeline for release?

I am pretty sure the release will happen this week.

@coderman2022
Copy link

Just a friendly ping. Do we have a release date for this bug fix?

@WayneWang12
Copy link

Just a friendly ping. Do we have a release date for this bug fix?

seems Play 2.8.8 fixes the issue. It was realeased yesterday. I've already updated it.

@coderman2022
Copy link

Just a friendly ping. Do we have a release date for this bug fix?

seems Play 2.8.8 fixes the issue. It was realeased yesterday. I've already updated it.

Thank you

@coderman2022
Copy link

coderman2022 commented Apr 9, 2021

In Play 2.8.8 I get this error when building, that I didn't have before. Did something change about Play's dependencies?

com.fasterxml.jackson.databind.JsonMappingException: Scala module 2.11.4 requires Jackson Databind version >= 2.11.0 and < 2.12.0

@mkurz
Copy link
Member

mkurz commented Apr 9, 2021

@jaykaysharewell Play 2.8.8 upgraded to jackson 2.11.4 (from 2.10.x in Play 2.8.7):
https://github.com/playframework/playframework/blob/2.8.8/project/Dependencies.scala#L39-L48
That is also mentioned in the release notes:
https://github.com/playframework/playframework/releases/tag/2.8.8

Does you project depend explicit on a specific Jackson version? Did you run sbt clean before compiling?

@Baztoune
Copy link

Baztoune commented Apr 9, 2021

Hi guys, the 2.8.8 release fixed the issue for me, thanks ! I also encountered the Jackson exception myself after upgrading, but that's not linked to this original issue. The cause on my project was a version conflict due to a transitive dependency to jackson (coming from sendgrid-java). You might have to identify a similar version conflict on your project @jaykaysharewell

@almothafar
Copy link
Contributor

almothafar commented Apr 9, 2021

With 2.8.8 and sbt 1.5.0 I get

[error] stack trace is suppressed; run 'last Compile / manipulateBytecode' for the full output
[error] (Compile / manipulateBytecode) java.lang.NoSuchMethodError: 'scala.collection.immutable.Set sbt.internal.inc.Relations.classNames(java.io.File)'
[error] Total time: 28 s, completed Apr 9, 2021, 5:28:56 PM
[IJ][backend-api] $ last Compile / manipulateBytecode
[error] java.lang.NoSuchMethodError: 'scala.collection.immutable.Set sbt.internal.inc.Relations.classNames(java.io.File)'
[error]         at com.typesafe.play.sbt.enhancer.PlayEnhancer$.$anonfun$bytecodeEnhance$4(PlayEnhancer.scala:80)
[error]         at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:293)
[error]         at scala.collection.Iterator.foreach(Iterator.scala:943)
[error]         at scala.collection.Iterator.foreach$(Iterator.scala:943)
[error]         at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
[error]         at scala.collection.IterableLike.foreach(IterableLike.scala:74)
[error]         at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
[error]         at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
[error]         at scala.collection.TraversableLike.flatMap(TraversableLike.scala:293)
[error]         at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:290)
[error]         at scala.collection.AbstractTraversable.flatMap(Traversable.scala:108)
[error]         at com.typesafe.play.sbt.enhancer.PlayEnhancer$.getClassesForSources$1(PlayEnhancer.scala:76)
[error]         at com.typesafe.play.sbt.enhancer.PlayEnhancer$.$anonfun$bytecodeEnhance$3(PlayEnhancer.scala:91)
[error]         at com.typesafe.play.sbt.enhancer.PlayEnhancer$.$anonfun$scopedSettings$3(PlayEnhancer.scala:51)
[error]         at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error]         at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error]         at sbt.std.Transform$$anon$4.work(Transform.scala:68)
[error]         at sbt.Execute.$anonfun$submit$2(Execute.scala:282)
[error]         at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
[error]         at sbt.Execute.work(Execute.scala:291)
[error]         at sbt.Execute.$anonfun$submit$1(Execute.scala:282)
[error]         at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error]         at sbt.CompletionService$$anon$2.call(CompletionService.scala:64)
[error]         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error]         at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[error]         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error]         at java.base/java.lang.Thread.run(Thread.java:834)
[error] (Compile / manipulateBytecode) java.lang.NoSuchMethodError: 'scala.collection.immutable.Set sbt.internal.inc.Relations.classNames(java.io.File)'

What is this about?

Edit: OK it seems an issue with old enhancer from ebean plugin: playframework/play-ebean#214

@mkurz
Copy link
Member

mkurz commented Apr 9, 2021

@almothafar That is because you are using play-enhancer which, as you can see in its README, has reached end of life and wont receive updates anymore. As a consequence it is not compatible with sbt 1.4+ anymore. So what you need to do is remove play-enhancer from your project(s). Which means, you need to write the setters/getters yourself, or generate them with an IDE. Or you can try to switch to lombok.

@almothafar
Copy link
Contributor

@mkurz already did that, I mean doing setters and getters, I'll try to play around that, thank you.

@cyrilfr
Copy link

cyrilfr commented Nov 24, 2021

I'm using Play 2.8.8 with sbt 1.3.13 and I still have this issue (Scala 2.13.7):

[error] p.a.h.DefaultHttpErrorHandler - Error while handling error
java.lang.NullPointerException: null
        at play.api.http.HttpErrorHandlerExceptions$.convertToPlayException(HttpErrorHandler.scala:377)
        at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:367)
        at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:264)
        at play.core.server.Server$$anonfun$handleErrors$1$1.applyOrElse(Server.scala:109)
        at play.core.server.Server$$anonfun$handleErrors$1$1.applyOrElse(Server.scala:105)
        at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:35)
        at play.core.server.Server$.getHandlerFor(Server.scala:129)
        at play.core.server.AkkaHttpServer.handleRequest(AkkaHttpServer.scala:317)
        at play.core.server.AkkaHttpServer.$anonfun$createServerBinding$1(AkkaHttpServer.scala:224)
        at akka.stream.impl.fusing.MapAsync$$anon$30.onPush(Ops.scala:1297)

plugins.sbt:

// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.8")

// Play enhancer - this automatically generates getters/setters for public fields
// and rewrites accessors of these fields to use the getters/setters. Remove this
// plugin if you prefer not to have this feature, or disable on a per project
// basis using disablePlugins(PlayEnhancer) in your build.sbt
//addSbtPlugin("com.typesafe.sbt" % "sbt-play-enhancer" % "1.2.2")

// Play Ebean support, to enable, uncomment this line, and enable in your build.sbt using
// enablePlugins(PlayEbean).
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "6.0.0")

// Play native packager support for Docker
addSbtPlugin("com.github.sbt" % "sbt-native-packager" % "1.9.7")

// Swagger auto documentation from route file
addSbtPlugin("com.iheart" % "sbt-play-swagger" % "0.10.6-PLAY2.8")

// Compiles XML Schema to JAXB Java sources with XJC
addSbtPlugin("org.scala-sbt.plugins" % "sbt-xjc" % "0.9")

// SBT dependencies update check
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.0")

dependencies:

  guice,
  filters,
  ehcache,
  javaCore,
  javaJdbc,
  javaWs,
  "org.mariadb.jdbc" % "mariadb-java-client" % "2.7.4",
  "com.stripe" % "stripe-java" % "20.90.0",
  "ch.postfinance" % "postfinancecheckout-java-sdk" % "4.0.2",
  "net.codecrete.qrbill" % "qrbill-generator" % "2.5.4",
  "com.typesafe.play" %% "play-mailer" % "8.0.1",
  "com.typesafe.play" %% "play-mailer-guice" % "8.0.1",
  "it.innove" % "play2-pdf" % "1.10.0",
  "com.opencsv" % "opencsv" % "5.5.2",
  "org.webjars" % "swagger-ui" % "4.0.1",
  "com.google.maps" % "google-maps-services" % "1.0.1",
  "com.google.oauth-client" % "google-oauth-client" % "1.32.1",
  "com.google.zxing" % "core" % "3.4.1",
  "com.google.zxing" % "javase" % "3.4.1",
  "com.warrenstrange" % "googleauth" % "1.5.0",
  "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.13.0"

Any idea?

@plouf142
Copy link

A workaround, is to provide an alternative HttpErrorHandler, see https://www.playframework.com/documentation/2.8.x/JavaErrorHandling or https://www.playframework.com/documentation/2.8.x/ScalaErrorHandling.

The default samples are working fine! That helps me a lot.

@mkurz
Copy link
Member

mkurz commented Jan 30, 2022

@cyrilfr It looks like your problem is not related to this issue here. A null pointer exception can be caused by any code, so I guess it's a problem in your app code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.