Does pavlovia ask to repeat the experiment if it crashes?

URL of experiment: Pavlovia

Description of the problem: I recruit participants on prolific. Lately, I’ve been getting in my opinion too many messages saying that they completed almost the entire experiment but then the site (pavlovia) crashed and asked them to start the experiment all over again. Of course the idea here is that they should be compensated. Does pavlovia ask to start the experiment again? Or is this a trick? Thank you!

What do you have in the way of memory heavy resources? Large videos/sounds or animated screens?

I think that if PsychoPy crashes by losing “context” or if you have any reason to refresh the page you see the expInfo dialogue box again.

Are you saving partial data?

I don’t use anything that’s memory heavy. I only show numbers and geometric figures drawn on the screen to which participants have to react by pressing a button. I also don’t save partial data.

Some participants report that the page crashed showing ‘initializing experiment’, which I can more readily believe because I’ve seen this message myself when I start the experiment online after pushing some changes to pavlovia (gitlab). Apparently addblock can cause a problem, at least in the initializing experiment case. But there is probably also other reasons.

Also what I noticed in the past 2 days is that changes that I push to pavlovia don’t show up until I delete cache in my browser. I assume they’re being pushed fine, it’s just how it interacts with the browser. This seemed to already happen at some point in the past. Maybe this has something to do with the task crashing, idk.

I still think you have a memory issue.

What version are you using?

Do you have any components set to update every Frame?

What Each Frame code do you have?

I’m using PsychoPy3 v2020.1.2.
The only thing I use on each frame is stopping the trial if no response was given within an allocated time.

# stop trial if no response within allocated time
if t > timing_response:
    no_resp = True
    continueRoutine = False

I think this actually was written by PsychoPy.

Initializing experiment error/crash might have something to do with refreshing between the server and the browser, right?

I would recommend that you upgrade to 2020.1.3, 2020.2.10 or 2021.1.4

2020.2.10 fixed some of the memory leak issues of 2020.1 but broke a few other things, most notably trials.thisN. I’m not sure about adblockers, but here are a few links:

This last one is interesting – since it suggests that an adblocker might be triggered by a resource called advertisement. Do you have anything like that?

No, I don’t have anything like that and I don’t use an ad blocker on my computer. I’ll look into upgrading, thank you! But right now I’m in the middle of data collection, so I don’t want to change halfway through.

The ad blocker would be on the participant’s computer. My question was about the names of your resources.

No, I don’t have any resources with names that have anything to do with ads.

I collect my data in batches and after every batch there are some credits on pavlovia that remain reserved long after all participants have finished the task. I still have enough credits left for all participants, but maybe this is some sign that something is going wrong in the communication between the server and their computers.

I have a new error from a participant to report: TypeError: Cannot read property ‘loseContext’ of null.

That pretty much confirms my suspicion of a memory leak.

I suggest that you recheck every component just in case any are needlessly updating every frame.