From Pavlovia to qualtrics runs in loops

URL of experiment: Pavlovia

Description of the problem: Following the many excellent resources online we are attemping to carry participants from Pavlovia to qualtrics at the end of the experiment with their ids in the following way

$"https://hujipsych.au1.qualtrics.com/jfe/form/SV_da1EsAzG9JHmeq2?id="+expInfo['participant']

The weird thing is that- for a few iterations, the end of the experiment just re-directs back to starting the experiment over. But eventually it does get to qualtrics (after a variable number of redoing the experiment)- though without the IDs.

Any idea what we are doing wrong?

Thanks so much
Levi

Does that Qualtrics have anything that might send the participant to Pavlovia?

It sounds to me as if you might be hitting a memory overload, causing the experiment page to reload (and therefore restart the experiment without the participant info).

Nothing in qualtrics links back to pavlovia.

We even have a loop that skips the whole experiment (so there is no data collected for example) but the same pattern is present.
Could that still cause a memory overload?

Thanks so much for your help,
Levi

I just tried it and got the following error message:

I see you’ve posted about this error message before.

but you aren’t the only one

In the past I’ve wondered whether this was due to multiple people starting in the same second, but I now this it must be due to some form of corruption in your Gitlab repository. Is there any connection between the experiments giving this error?

Please could you add me (Wake) as a developer, so I can try to work out if there’s anything in your code that might be causing this.

Hi There,

As a temporary workaround please could you also try a) remove this string from the Complete URL field b) instead try adding a code component to your last routine, setting code type to JS and using this in the end routine tab:

psychoJS.setRedirectUrls("https://hujipsych.au1.qualtrics.com/jfe/form/SV_da1EsAzG9JHmeq2?id="+expInfo['participant']);

Thanks!
Becca

Hi becca, thanks so much for the suggestion- I did as you suggested and seems to work!

happy to - just added you as a developer- i should note that this only occurs occasionally and generally the data has still been saved.

One other thing that may or may not be related is that this experiment itself is linked to a prior pavlovia experiment which transfers the ids/session etc to this one.

Thanks for all your help!

What I can see.

  1. Your commit from 3 hours ago (I wanted to skip any commits since you followed Becca’s advice) says version 2022.1.1. That version had several bugs and I would recommend updating to 2022.1.4 or 2022.2.4.

  2. Why does your experiment end on psychoJS.quit({message: 'Taking you to the completion code'});? You seem to be crashing out of the experiment at the last moment instead of exiting safely. Is you quit before you finish then you get sent to the incomplete URL, but it might be that this behaviour is temperamental since you are quitting and ending at the same time.

Hey wake thanks so much for the suggestion

Indeed when following Beccas advice the only way it worked was by removing psychoJS.quit({message: ‘Taking you to the completion code’});.
hopefully that resolves the issue.

And will update psychpoy to the newest version.

Thanks for all your help!

is the correct way to install the updated version
pip install psychopy?

or does that not remove the previous version of psychopy?
suprisingily i did not find a clear answer when searching the forum

Thanks so much,
Levi