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?
- KajMagnus @KajMagnus2022-04-15 22:09:18.157Z
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)
- In reply tomichael⬆:KajMagnus @KajMagnus2022-04-18 02:19:27.798Z
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)
- Michael Lynch @michael
Thanks for the quick turnaround. Sorry about the dupe report. I should have done a more thorough search for the main thread.