Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

After update to Jatos 3.8.1.: A problem occurred: Internal JATOS error during [...]

Hi,

I recently updated my local Jatos to the latest version (3.8.1.). Unfortunately, I am running repeatedly into some fatal errors.

First, everything seems to work normal, but after a while whenever I try to start a study, I run into the error message:

A problem occurred:

Internal JATOS error during /publix/[here comes the study code]. Check logs to get more information.

I receive this message for every study that is listed. The only solution seems to be to set up a new Jatos environment, until it crashes again. When I use the "Tests" options under "Administration" everything checks out as "OK".

The log gives me the following output:


2023-04-13 10:59:41,733 [INFO] - gui_access - GET /jatos/34 (admin)

2023-04-13 10:59:41,815 [INFO] - gui_access - GET /jatos/sidebarStudyList (admin)

2023-04-13 10:59:41,867 [INFO] - gui_access - GET /jatos/34/componentsTableData?_=1681376381774 (admin)

2023-04-13 10:59:43,106 [INFO] - gui_access - GET /jatos/34/run (admin)

2023-04-13 10:59:43,116 [INFO] - publix_access - GET /publix/6zZ6g93Wdb5

2023-04-13 10:59:43,116 [INFO] - c.p.PublixInterceptor - .run: studyCode 6zZ6g93Wdb5

2023-04-13 10:59:43,119 [ERROR] - g.ErrorHandler - Internal JATOS error: null

java.lang.NullPointerException: null

at services.publix.idcookie.IdCookieAccessor.getValueAsString(IdCookieAccessor.java:221)

at services.publix.idcookie.IdCookieAccessor.buildIdCookie(IdCookieAccessor.java:122)

at services.publix.idcookie.IdCookieAccessor.extractFromCookies(IdCookieAccessor.java:92)

at services.publix.idcookie.IdCookieAccessor.extract(IdCookieAccessor.java:72)

at services.publix.idcookie.IdCookieService.maxIdCookiesReached(IdCookieService.java:214)

at services.publix.PublixUtils.finishOldestStudyResult(PublixUtils.java:223)

at controllers.publix.workers.JatosPublix.startStudy(JatosPublix.java:107)

at controllers.publix.PublixInterceptor.run(PublixInterceptor.java:109)

at publix.Routes$$anonfun$routes$1.$anonfun$applyOrElse$9(Routes.scala:525)

at play.core.routing.HandlerInvokerFactory$$anon$8.resultCall(HandlerInvoker.scala:147)

at play.core.routing.HandlerInvokerFactory$$anon$8.resultCall(HandlerInvoker.scala:146)

at play.core.routing.HandlerInvokerFactory$JavaActionInvokerFactory$$anon$3$$anon$4$$anon$5.invocation(HandlerInvoker.scala:112)

at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:128)

at play.mvc.Action.lambda$call$0(Action.java:89)

at java.base/java.util.Optional.map(Unknown Source)

at play.mvc.Action.call(Action.java:81)

at play.http.DefaultActionCreator$1.call(DefaultActionCreator.java:33)

at play.mvc.Action.call(Action.java:66)

at controllers.publix.actionannotation.PublixAccessLoggingAction.call(PublixAccessLoggingAction.java:37)

at play.mvc.Action.lambda$call$0(Action.java:89)

at java.base/java.util.Optional.map(Unknown Source)

at play.mvc.Action.call(Action.java:81)

at play.db.jpa.TransactionalAction.lambda$call$0(TransactionalAction.java:36)

at play.db.jpa.DefaultJPAApi.lambda$withTransaction$5(DefaultJPAApi.java:302)

at play.db.jpa.DefaultJPAApi.withTransaction(DefaultJPAApi.java:207)

at play.db.jpa.DefaultJPAApi.withTransaction(DefaultJPAApi.java:298)

at play.db.jpa.TransactionalAction.call(TransactionalAction.java:35)

at play.core.j.JavaAction.$anonfun$apply$8(JavaAction.scala:188)

at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:678)

at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:467)

at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:77)

at play.api.libs.streams.Execution$trampoline$.execute(Execution.scala:70)

at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:69)

at scala.concurrent.impl.Promise$Transformation.submitWithValue(Promise.scala:429)

at scala.concurrent.impl.Promise$DefaultPromise.submitWithValue(Promise.scala:338)

at scala.concurrent.impl.Promise$DefaultPromise.dispatchOrAddCallbacks(Promise.scala:312)

at scala.concurrent.impl.Promise$DefaultPromise.map(Promise.scala:182)

at scala.concurrent.Future$.apply(Future.scala:678)

at play.core.j.JavaAction.apply(JavaAction.scala:189)

at play.api.mvc.Action.$anonfun$apply$2(Action.scala:95)

at play.api.libs.streams.StrictAccumulator.$anonfun$mapFuture$4(Accumulator.scala:181)

at scala.util.Try$.apply(Try.scala:210)

at play.api.libs.streams.StrictAccumulator.$anonfun$mapFuture$3(Accumulator.scala:181)

at scala.Function1.$anonfun$andThen$1(Function1.scala:85)

at scala.Function1.$anonfun$andThen$1(Function1.scala:85)

at scala.Function1.$anonfun$andThen$1(Function1.scala:85)

at play.api.libs.streams.StrictAccumulator.run(Accumulator.scala:216)

at play.core.server.AkkaHttpServer.$anonfun$runAction$4(AkkaHttpServer.scala:436)

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.Promise$Transformation.run(Promise.scala:484)

at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)

at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)

at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)

at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)

at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)

at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)



Help would be very much appreciated!

Cheers

Moritz

Comments

  • Hi Moritz,

    I have seen this before. It's probably a bug somewhere in JATOS' cookie handling. But the problem for me is that I cannot reproduce it on my JATOSes. It seems to happen only with certain browsers. I try to pinpoint it in the source code to be able to fix it but so far I have only a rough idea.

    But fortunately you can help me :). Can you please send me the content of your JATOS cookies in your browser where the error occurs? Please do not delete them (since this would solve the issue for you but I still don't know where the bug is located :/ ). If you don't know how to get the cookie content here is image for how it works in Firefox (and if you know how it works please ignore the picture; I don't want to sound condescending). On the right is the whole content of the cookie. Please copy all cookies that start with a JATOS_IDS.

    Thank you very much for you help,

    Kristian

  • Hi Kristian,

    sorry, I read your comment a little too late.

    I reset my Jatos to the Origin version, I stored on GitHub. After that everything seemed to work well.

    Then I created a new study which was not in the version I restored and copied the html files for this study in the corresponding assets folder.

    After that everything crashed again with the same error message as before.


    Here is the list of cookies stored in Chrome:

    Do you want any specific info?

    It seems as your intuition was correct. Running the same study in "incognito" mode or in another browser works fine.


    Thanks for your help!

  • Thanks so far! Could you please send me the whole content of cookie JATOS_IDS_0?

    Best,

    K.

  • Sorry for the delay. The value for this cookie is:


    batchId=385&componentId=353&componentPos=1&componentResultId=4381&creationTime=1670424344332&studyAssets=primeTargetBase&urlBasePath=/&jatosRun=RUN_STUDY&groupResultId=null&studyId=385&studyResultId=4381&workerId=1&workerType=Jatos

  • This bug is fixed in version v3.8.2 that is about to come out today :)

Sign In or Register to comment.