No internet connection
  1. Home
  2. Issues

Users seeing HTTP 500 failures with java.lang.NullPointerException

By Michael Lynch @michael
    2022-04-15 20:01:34.731Z

    Hi Magnus,

    A user in my forums reports that they're seeing HTTP 500 errors in popup windows when they try to use TY. Here's the stacktrace:

    Error 500 Internal Server Error
    Something went wrong: [DwE500REX]
    
    java.lang.NullPointerException
    	at com.debiki.core.Prelude$OneLineStringInterpolator.$anonfun$o$2(Prelude.scala:1138)
    	at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:985)
    	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
    	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
    	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
    	at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:984)
    	at com.debiki.core.Prelude$OneLineStringInterpolator.o(Prelude.scala:1137)
    	at debiki.RateLimiter.throwIfTooManyRequests(RateLimiter.scala:169)
    	at debiki.RateLimiter.rateLimit(RateLimiter.scala:125)
    	at talkyard.server.http.PlainApiActions$$anon$1.runBlockIfAuthOk(PlainApiActions.scala:680)
    	at talkyard.server.http.PlainApiActions$$anon$1.invokeBlockAuthViaCookie(PlainApiActions.scala:447)
    	at talkyard.server.http.PlainApiActions$$anon$1.invokeBlockImpl(PlainApiActions.scala:250)
    	at talkyard.server.http.PlainApiActions$$anon$1.invokeBlock(PlainApiActions.scala:136)
    	at talkyard.server.http.PlainApiActions$$anon$1.invokeBlock(PlainApiActions.scala:109)
    	at play.api.mvc.ActionBuilder$$anon$9.apply(Action.scala:379)
    	at talkyard.server.http.PlainApiActions$$anon$1.$anonfun$composeAction$1(PlainApiActions.scala:123)
    	at talkyard.server.http.SafeActions$ExceptionAction$.invokeBlock(SafeActions.scala:126)
    	at talkyard.server.http.SafeActions$ExceptionAction$.invokeBlock(SafeActions.scala:83)
    	at play.api.mvc.ActionBuilder$$anon$9.apply(Action.scala:379)
    	at play.api.mvc.Action.$anonfun$apply$4(Action.scala:82)
    	at play.api.libs.streams.StrictAccumulator.$anonfun$mapFuture$4(Accumulator.scala:168)
    	at scala.util.Try$.apply(Try.scala:213)
    	at play.api.libs.streams.StrictAccumulator.$anonfun$mapFuture$3(Accumulator.scala:168)
    	at scala.Function1.$anonfun$andThen$1(Function1.scala:57)
    	at scala.Function1.$anonfun$andThen$1(Function1.scala:57)
    	at play.api.libs.streams.StrictAccumulator.run(Accumulator.scala:200)
    	at play.core.server.AkkaHttpServer.$anonfun$runAction$4(AkkaHttpServer.scala:418)
    	at akka.http.scaladsl.util.FastFuture$.strictTransform$1(FastFuture.scala:41)
    	at akka.http.scaladsl.util.FastFuture$.$anonfun$transformWith$3(FastFuture.scala:51)
    	at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
    	at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:63)
    	at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:100)
    	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
    	at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:85)
    	at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:100)
    	at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:49)
    	at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:48)
    	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
    

    Is this a known issue? Can you see these failures in the logs?

    Solved in post #2, click to view
    • 3 replies
    1. Yes it's a known issue, same as: URGENT: Talkyard production server search broken (!!) ( & yes it's in the logs).

      — related to me making the search rate limits dynamic. But there was a bug. I'll fix.

      As a temp workaround, I just cleared a rate limit config for TinyPilot (which was set to the default limits * 1.5) because then this bug doesn't happen. (I don't think it's going to matter that the limits are now the defaults, instead of defaults * 1.5)

      ReplySolution
      1. In reply tomichael:

        Now the fix is in Prod and the search rate limits at TinyPilot are now 2*defaults (instead of previously 1.5 before the bug).

        Thanks for reporting ( & sorry for the troubles for whoever was trying to search)

        1. Michael Lynch @michael
            2022-04-18 18:52:03.237Z

            Thanks for the quick turnaround. Sorry about the dupe report. I should have done a more thorough search for the main thread.