psychopy.org | Reference | Downloads | Github

Experiment listed as inactive

URL of experiment:
code: https://gitlab.pavlovia.org/djangraw/mmi-open-loop
run: https://run.pavlovia.org/djangraw/mmi-open-loop/html/

Description of the problem:
I just uploaded changes to the task. When I tried to run it, I see the following error message.


How can I reactivate my experiment so I can continue testing it?

You can change the status of a study and get info about it (including how many sessions have been run and download the data) by visiting your dashboard:

https://pavlovia.org/djangraw in your case
or go straight to the study, https://pavlovia.org/djangraw/mmi-open-loop in your case.

Thank you @jon. I’ve placed my experiment in “piloting” mode, but when I click “pilot”, I see the error below:
42%20AM
Is there anything I can do about this, or should I put it in “running” mode for the time being?

I’m sure you told me @apitiot but can you remind me the answer to this one? What causes pilot mode not to work?

Hello @djangraw and @jon,

Could it be that you are accessing the experiment via a VPN or behind a strangely-configured firewall?
I temporarily added myself to the list of designers for mmi-open-loop, changed its status to PILOTING, and could pilot your experiment successfully. Would you perhaps give it another try? And share your IP address with me (you can get it by typing the following in google: what is my ip )

Alain

I’m afraid I still get the same error. I’m accessing the experiment from the NIH, so it’s entirely possible that I’m behind a strange government firewall. Is there anything I can do given that fact? Google lists my public IP as 2607:f220:419:4701::201:223 .

Can I check with you whether you are piloting the experiment from the dashboard, indeed?
The idea is that you go to your dashboard, then select your experiment, then press the [Pilot] button. That opens a tab with a specific URL, which gives you the possibility to pilot your experiment for 1h. You can of course press the [Pilot] button however many times you want. Each hour, a new URL will be generated.
Perhaps you have been copy-pasting an URL generated at a previous hour?

Thank you @apitiot. I am piloting from the dashboard and pressing the Pilot button - that’s when I see the error shown above (“Error when preparing to pilot the experiment: Unable to prepare the pilot URL for this experiment. If the error persists, contact Pavlovia’s administrator.”) I have never successfully piloted (rather than run) an experiment, so I don’t have a previous URL to use. I hope we can get it figured out before the run charges kick in on October 1!

@apitiot and @jon , I’m a little out of my depth here, but I’ll venture a guess: In the source code of the Pavlovia experiment page, I found a reference to https://pavlovia.org/main.169e3b0ffde759903153.js , which has some code that contains my error (newlines added for readability):

t.prototype.pilotExperiment=function()
{var t=this;
this.http.get("https://api.ipify.org/?format=json").subscribe(function(e)
{var n=new Date,
r=n.getUTCHours()+Math.round(n.getUTCMinutes()/60),
i=ud.Md5.hashStr(e.ip+"."+r.toString()),
o=t.experiment.pavloviaUrl+"?__pilotToken="+i,
a=t.signinService.getGitLabToken();
null!=a&&(o+="&__oauthToken="+a),
window.open(o,"_blank")},
function(e)
{t.dialog.open(Ic,
{data:{status:"error",
title:"Error when preparing to pilot the experiment:",
body:"<p><i>Unable to prepare the pilot URL for this experiment.</i></p><p>
If the error persists, contact Pavlovia's administrator.</p>",
showOK:!0,showCancel:!1}})})}

This includes a reference to https://api.ipify.org/?format=json , which I think gets someone’s IP address, but (based on ipify’s API description) only if that address is IPv4. If it’s IPv6 (as mine is), I think a different reference should be used: https://api6.ipify.org?format=json . (Navigating my browser to the api version gets me a “this site can’t be reached” error, while navigating to the api6 version displays {“ip”:“2607:f220:419:4701::201:223”} ). Is there anything we can do to get Pavlovia to detect and accommodate IPv6 addresses?

1 Like

Not only are you anticipating on my questions (David and I discussed the ipify.org website just yesterday, as a matter of fact), but you are also doing my work, @djangraw!
You are absolutely right: ipify has a different address for Ipv6 and the bit of code you highlighted is where we are querying the user’s IP, which goes into the formula of the pilot token.
I’ve just updated the site and I believe the issue should be sorted. Could you give it a go on your end and let me know if all is in order?
Thank you very much for your help!

Alain

1 Like

Hooray! Once I cleared my browser’s cache, it started working. Looking forward to piloting away. Thank you!

Excellent news! Thank you again for your help!

Alain