Howdy, Stranger!

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

Supported by

Data loss ("bad request") in JATOS

Hi all,

I am currently running a lab.js study on JATOS and 25% of my participants are reporting that they clicked on submit at the end of the study, but got the error message: "bad request". Data is also missing for these participants. This has happenend to maybe 1-3 participants in earlier studies, but never to this extent.

I have tested the study many times on different browsers (firefox, chrome, edge), but could not replicate the error. In additoin, I have run other studies on the same server without problems before. I would be thankful for any pointers on what is going on and how I could reduce data loss for my study.

More info: JATOS version 3.4.1 on DigitalOcean with Traefik, individual data size 5.0MB

Thank you,

yvonne

Comments

  • Hi Yvonne,

    Someone asked a similar question on Github (https://github.com/JATOS/JATOS/issues/204). I think there we couldn't find the reason for the error due to time constrains.

    But one possible cause was that somehow the 'srid' parameter in the URL is overwritten. This experiment had a feedback form in the end and the text that was entered in there was then put into the URL query string to be passed on. Problem here is that there is already the 'srid' parameter and if JATOS gets an request without 'srid' it returns a 'bad request' ('srid' means study result ID and is the identifier of a study run).

    So, is it possible that you overwrite this 'srid' parameter?

    Best,

    Kristian

    Buy Me A Coffee

  • edited September 30

    Hi Kristian,

    thank you for your reply! I checked the GitHub exchange and I can at least say that I was hosting very few participants in parallel (max 20) and I think I have large enough server size (2vCPUs, 2GB memory, 3TB transfer, 25GB SSD). The content is also less than in the issue on GitHub (5.0MB).

    I do not access or write the URL parameters at all and there is just plain vanilla keyboard input, text input and buttons. So I don't think it is likely that the srid is overwritten in any way. I did use mousetracking though (with the mousetrap plugin).

    I got some feedback from my participants too. Apparently, the error occurs on all common browsers (firefox, chrome, safari, edge), which are also up to date, and on all operating systems (mac, windows). Almost all participants took exactly the estimated time of 45 minutes too (so no super long outliers).

    I'll try to check the logs as soon as possible and will comment if I find any errors.

    Best,

    Yvonne


    Edit: I attached what seemed to be the relevant part from the logs.


  • Hi Yvonne,

    Sorry for taking so long to answer. Apart from the 'bad request' error you also have an 'EntityStreamException' which can or can not have something to do with the first error. This 'EntityStreamException' just states that the request wasn't completely received: parts are missing. To say what happened here is difficult: often it means that some network problems occurred. This might just be temporary and can happen in the Internet. Another reason I can think of is the request size: some of your requests might be too large to handle for JATOS or other Internet-handling-thingies between your participant's browser and your JATOS server. You said already that 'individual data size 5.0MB' - can you elaborate on this? Is it always the same? Are there some bigger requests (and those get the 'bad request' error)?

    Now that I'm writing about this: I remember that proxies usually have a config field to set up the max allowed request size. I know Apache and Nginx have. But you use Traefik: I found https://doc.traefik.io/traefik/v2.3/middlewares/buffering/. You can try to increase the field maxRequestBodyBytes to e.g. 100000000 (100 MB) in your traefik.toml.

    Best,

    Kristian

    Buy Me A Coffee

  • Dear Kristian,

    thank you for your reply! The individual data size can vary, depending on the mouse-clicking behavior of the participants. It usually is around 3-5MB. However, there are also participants with only 2.6MB or as much as 9.0MB. Unfortunately, I don't know which participants did get the "bad request" error, as I only have the "survivors" on my server. The only thing I know is that the participants with the error message did not take longer than the other participants (all around 45min).

    Thank you for the hint with the request size. Do you know if I need to adjust the threshold from which the request will be buffered on disk instead of in memory (memRequestBodyBytes) too?

    Best,

    Yvonne

  • I'm not an expert in Traefik, just using it every now and then. But from there documentation (https://doc.traefik.io/traefik/middlewares/buffering/) I'd say it's enough to set maxRequestBodyBytes.

    Buy Me A Coffee

  • Thank you Kristian! I adjusted the maximum request size. I will let you know if the problem persists or not.

    Best,

    Yvonne

Sign In or Register to comment.

agen judi bola , sportbook, casino, togel, number game, singapore, tangkas, basket, slot, poker, dominoqq, agen bola. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 50.000 ,- bonus cashback hingga 10% , diskon togel hingga 66% bisa bermain di android dan IOS kapanpun dan dimana pun. poker , bandarq , aduq, domino qq , dominobet. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 10.000 ,- bonus turnover 0.5% dan bonus referral 20%. Bonus - bonus yang dihadirkan bisa terbilang cukup tinggi dan memuaskan, anda hanya perlu memasang pada situs yang memberikan bursa pasaran terbaik yaitu http://45.77.173.118/ Bola168. Situs penyedia segala jenis permainan poker online kini semakin banyak ditemukan di Internet, salah satunya TahunQQ merupakan situs Agen Judi Domino66 Dan BandarQ Terpercaya yang mampu memberikan banyak provit bagi bettornya. Permainan Yang Di Sediakan Dewi365 Juga sangat banyak Dan menarik dan Peluang untuk memenangkan Taruhan Judi online ini juga sangat mudah . Mainkan Segera Taruhan Sportbook anda bersama Agen Judi Bola Bersama Dewi365 Kemenangan Anda Berapa pun akan Terbayarkan. Tersedia 9 macam permainan seru yang bisa kamu mainkan hanya di dalam 1 ID saja. Permainan seru yang tersedia seperti Poker, Domino QQ Dan juga BandarQ Online. Semuanya tersedia lengkap hanya di ABGQQ. Situs ABGQQ sangat mudah dimenangkan, kamu juga akan mendapatkan mega bonus dan setiap pemain berhak mendapatkan cashback mingguan. ABGQQ juga telah diakui sebagai Bandar Domino Online yang menjamin sistem FAIR PLAY disetiap permainan yang bisa dimainkan dengan deposit minimal hanya Rp.25.000. DEWI365 adalah Bandar Judi Bola Terpercaya & resmi dan terpercaya di indonesia. Situs judi bola ini menyediakan fasilitas bagi anda untuk dapat bermain memainkan permainan judi bola. Didalam situs ini memiliki berbagai permainan taruhan bola terlengkap seperti Sbobet, yang membuat DEWI365 menjadi situs judi bola terbaik dan terpercaya di Indonesia. Tentunya sebagai situs yang bertugas sebagai Bandar Poker Online pastinya akan berusaha untuk menjaga semua informasi dan keamanan yang terdapat di POKERQQ13. Kotakqq adalah situs Judi Poker Online Terpercayayang menyediakan 9 jenis permainan sakong online, dominoqq, domino99, bandarq, bandar ceme, aduq, poker online, bandar poker, balak66, perang baccarat, dan capsa susun. Dengan minimal deposit withdraw 15.000 Anda sudah bisa memainkan semua permaina pkv games di situs kami. Jackpot besar,Win rate tinggi, Fair play, PKV Games