Howdy, Stranger!

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

Supported by

Results for one component not stored - and dataHash question

edited August 17 in JATOS


After several runs of my study, I found that one participant did not have data for a single component within their study. From the application logs, I am certain they accessed that component and spent time on it. After further investigation into the study logs, I found the following for this participant:

The component that did not have data should have appeared on line 4 in the image above. Rather, the UUID on that line corresponds to the component that follows the missing component (for which we do have full data). Moreover, line 5 also corresponds to this following component (so it appears twice here despite only being completed once), and the 'dataHash' is now present. I am not sure how the dataHash should typically appear, but here is what a participant with complete data looks like in my study logs:

My questions:

  • From this, is there any indication as to why we may have not collected data for that component?
  • Why does 'dataHash' typically show 'no data', and in what context is the hash present?



  • Hi,

    The 'no data' is written in the Study Log (it's not the application log - the application.log logs admin related stuff while the Study Log logs study run related stuff) when one of the result sending functions is used (e.g. jatos.submitResultData or jatos.appendResultData) but there are no actual data sent. Why there is no data being sent I can't say without seeing the code. But it is strange that in your Study Log is mostly 'no data' - you should have mostly empty result data.

    The 'dataHash' field is a Sha-256 hash of the result data. It can be use to prove that the data were not tempered with afterwards.



  • edited August 19

    Hi Kristian,

    Looking at all my old studies, the dataHash is always 'no data'- but we consistently use 'jatos.submitResultData' and have data fully collected. As an FYI, we use MySQL rather than H2- not sure if that makes a difference.

    Do you know why this might be the case? And why in this case, with this glitch, there would be a dataHash? This is the only case of a dataHash in all of our studies going back to April, for all of which we have complete data and use ''jatos.submitResultData'.

  • MySQL or H2 - there should be no difference in the 'dataHash'. Strange. Which version of JATOS are you using?

  • We're using 3.7.3.

  • Is it possible that you call the 'jatos.submitResultData' more than once in each component (the second time with empty data)? Can you please post the code here where you use the function?

  • I don't believe so- we use jsPsych, and the way we submit data is the same for every single component- one line within the jsPsych 'on_finish' function, which only executes at the very end of the component. Here is the code:

  • Agreed, 'jatos.submitResultData' only once. Strange. I checked JATOS source code and this should not happen. Maybe jsPsych does something unexpected. Would it be possible to send me your study? Per email ( would be fine. Or in this forum per direct message.



  • Sent to your email earlier today- many thanks, Kristian.

  • Hi,

    I looked again at the study logger source code and found a bug there. This bug seems to have been introduced in version 3.7.2. This bug causes the 'no data' entry in the dataHash field although result data were present. Actually it is a little bit more complicated: The dataHash field is written, but only with the hash of the previously submitted result data. E.g. for the first calling of jatos.submitResultData (or jatos.appendResultData) with data A 'no data' is written in the study log, then on the second calling with data B the hash of A is written, then on the third calling with data C the hash of B is written ... and so on.

    That means for your study you always get 'no data'. Except in this one case were there seem to have been two calls of jatos.submitResultData or jatos.appendResultData roughly 11 seconds apart. From your code I can't see why this have happened. Is it possible that your participant just reloaded the component?

    But more importantly (at least for JATOS) I'll fix the bug in the study logger in the next release. Thank you for pointing this out!



  • edited October 5

    Hi Kristian,

    Many thanks for looking into this a few months ago. I wanted to message that I've noticed the initial issue I pointed out above several more times, in different studies and different components.

    Essentially, despite evidence that someone accessed a component and spent 10+ minutes on it, no data is written to JATOS. Moreover, what I've noticed, as was the case in my initial post above, is that this data writing error always seems to happen after several calls of 'Stored component result data' for a previous component (although not always the immediately preceding component); which, based on your previous comment, is possibly due to a reload of that component. What's also strange, however, is that we don't allow reloading of components, we use General Single Worker, and we should see a reload listed in the JATOS GUI for that subject, which we don't.

    As an added note, I found a few other instances of multiple unexpected calls to store data for a component, without any data writing issues for that subject. However, in the converse direction, every time we have these data writing issues we see these unexpected calls.

    I'm not sure if these two things are connected: the multiple calls to store data for a previous component, and the lack of data being written for a current component. Perhaps once you push the bug fix you mentioned, this may address this problem?

    For additional context, we use MySQL to store data due to issues with large H2 backup logs (see this previous post). We actually weren't having these data writing issues with H2, but our switchover also coincided with a JATOS update on our end, so I'm not sure the ultimate source of the issues.


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 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