Millisecond Forums

Hanging screen at the end of experiment

https://forums.millisecond.com/Topic29805.aspx

By factitious - 10/5/2020

Hi Dave,

I'm hoping you could help with the following: after my experiment has finished running (locally; inquisit v5.0.14.0, macOS), my screen gets stuck on a grey screen instead of going back to the Inquisit Lab window. The keyboard is generally responsive, and I can exit with CMD + Q, but sometimes I have to Force Quit. Data seems to be saved fine, and everything else seems to be going smoothly. This is happening on two separate experiments 

I haven't been able to find anything on this issue online. Please let me know if you need any more details.

Thank you for your time!

Raul


By Dave - 10/5/2020

factitious - 10/5/2020
Hi Dave,

I'm hoping you could help with the following: after my experiment has finished running (locally; inquisit v5.0.14.0, macOS), my screen gets stuck on a grey screen instead of going back to the Inquisit Lab window. The keyboard is generally responsive, and I can exit with CMD + Q, but sometimes I have to Force Quit. Data seems to be saved fine, and everything else seems to be going smoothly. This is happening on two separate experiments 

I haven't been able to find anything on this issue online. Please let me know if you need any more details.

Thank you for your time!

Raul



And which experiments is this happening with, please?
By factitious - 10/5/2020

Please find the batch file attached, as well as the final script in the batch.

Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least.

Thank you for your help. Please let me know if any of this doesn't make sense.

By Dave - 10/5/2020

factitious - 10/5/2020
Please find the batch file attached, as well as the final script in the batch.

Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least.

Thank you for your help. Please let me know if any of this doesn't make sense.


And under what conditions does the "grey screen" hang occur? That's not clear to me from your description.
By Dave - 10/5/2020

Dave - 10/5/2020
factitious - 10/5/2020
Please find the batch file attached, as well as the final script in the batch.

Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least.

Thank you for your help. Please let me know if any of this doesn't make sense.


And under what conditions does the "grey screen" hang occur? That's not clear to me from your description.

Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well?
By factitious - 10/5/2020

Ah apologies, my bad. Inquisit will always hang on a grey screen after the end of the experiment, regardless of what the answers are during the surveys or what the final screen being presented is. 

But the keyboard is generally responsive, so it's not that inquisit freezes per se, but rather I'm left with a blank screen in the same color as the one used as background for my surveys and task (i.e. grey) and I can't even see anything else, not even my mouse cursor. Not sure if relevant, but I'm working on a Macbook with a dual-screen and this is only happening to the screen that ran inquisit. Also, I still have access to e.g. 'Mission Control' & 'Notification Centre' and can switch between Desktops, etc.
By factitious - 10/5/2020

Dave - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Please find the batch file attached, as well as the final script in the batch.

Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least.

Thank you for your help. Please let me know if any of this doesn't make sense.


And under what conditions does the "grey screen" hang occur? That's not clear to me from your description.

Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well?

Unfortunately, I'm getting the same.

Would it be helpful if I provided all the scripts in the batch? 

By Dave - 10/5/2020

factitious - 10/5/2020
Dave - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Please find the batch file attached, as well as the final script in the batch.

Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least.

Thank you for your help. Please let me know if any of this doesn't make sense.


And under what conditions does the "grey screen" hang occur? That's not clear to me from your description.

Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well?

Unfortunately, I'm getting the same.

Would it be helpful if I provided all the scripts in the batch? 


Maybe. Or at least a realistic, pared down set that reliably produces the issue on your system.
By factitious - 10/5/2020

Dave - 10/5/2020
factitious - 10/5/2020
Dave - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Please find the batch file attached, as well as the final script in the batch.

Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least.

Thank you for your help. Please let me know if any of this doesn't make sense.


And under what conditions does the "grey screen" hang occur? That's not clear to me from your description.

Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well?

Unfortunately, I'm getting the same.

Would it be helpful if I provided all the scripts in the batch? 


Maybe. Or at least a realistic, pared down set that reliably produces the issue on your system.

Please find attached. I can consistently replicate the issue with these files. 
By Dave - 10/5/2020

factitious - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Dave - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Please find the batch file attached, as well as the final script in the batch.

Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least.

Thank you for your help. Please let me know if any of this doesn't make sense.


And under what conditions does the "grey screen" hang occur? That's not clear to me from your description.

Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well?

Unfortunately, I'm getting the same.

Would it be helpful if I provided all the scripts in the batch? 


Maybe. Or at least a realistic, pared down set that reliably produces the issue on your system.

Please find attached. I can consistently replicate the issue with these files. 

Thanks -- I'll see if I can reproduce and figure out what the issue is. Might take a while to get around to it.
By factitious - 10/5/2020

Dave - 10/5/2020
factitious - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Dave - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Please find the batch file attached, as well as the final script in the batch.

Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least.

Thank you for your help. Please let me know if any of this doesn't make sense.


And under what conditions does the "grey screen" hang occur? That's not clear to me from your description.

Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well?

Unfortunately, I'm getting the same.

Would it be helpful if I provided all the scripts in the batch? 


Maybe. Or at least a realistic, pared down set that reliably produces the issue on your system.

Please find attached. I can consistently replicate the issue with these files. 

Thanks -- I'll see if I can reproduce and figure out what the issue is. Might take a while to get around to it.

So just now I managed to make my actual task work and run this on Inquisit Web and the issue disappeared!
However, when I answer "No" to the survey on my first scripts to get straight to the last script in the batch, it takes a really long time.
Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped?

    / onblockbegin = [
        if (#my_eligibility_criteria# != 1) script.abort(false);
    ]

Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)?

Thank you for your time.,
Raul


By factitious - 10/5/2020

factitious - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Dave - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Please find the batch file attached, as well as the final script in the batch.

Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least.

Thank you for your help. Please let me know if any of this doesn't make sense.


And under what conditions does the "grey screen" hang occur? That's not clear to me from your description.

Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well?

Unfortunately, I'm getting the same.

Would it be helpful if I provided all the scripts in the batch? 


Maybe. Or at least a realistic, pared down set that reliably produces the issue on your system.

Please find attached. I can consistently replicate the issue with these files. 

Thanks -- I'll see if I can reproduce and figure out what the issue is. Might take a while to get around to it.

So just now I managed to make my actual task work and run this on Inquisit Web and the issue disappeared!
However, when I answer "No" to the survey on my first scripts to get straight to the last script in the batch, it takes a really long time.
Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped?

    / onblockbegin = [
        if (#my_eligibility_criteria# != 1) script.abort(false);
    ]

Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)?

Thank you for your time.,
Raul



Forgot to add a link, might be helpful: https://mili2nd.co/iivb
By Dave - 10/5/2020

factitious - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Dave - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Please find the batch file attached, as well as the final script in the batch.

Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least.

Thank you for your help. Please let me know if any of this doesn't make sense.


And under what conditions does the "grey screen" hang occur? That's not clear to me from your description.

Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well?

Unfortunately, I'm getting the same.

Would it be helpful if I provided all the scripts in the batch? 


Maybe. Or at least a realistic, pared down set that reliably produces the issue on your system.

Please find attached. I can consistently replicate the issue with these files. 

Thanks -- I'll see if I can reproduce and figure out what the issue is. Might take a while to get around to it.

So just now I managed to make my actual task work and run this on Inquisit Web and the issue disappeared!
However, when I answer "No" to the survey on my first scripts to get straight to the last script in the batch, it takes a really long time.
Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped?

    / onblockbegin = [
        if (#my_eligibility_criteria# != 1) script.abort(false);
    ]

Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)?

Thank you for your time.,
Raul



> Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped?

Yeah, that's exactly right. Every script has to check whether it is supposed to run or not, i.e. it has to be loaded (and briefly started).

> Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)?

Why don't you incorporate the abort() logic into the 1st script, where eligibility is checked in the first place? I.e. if the eligibility criteria are not met, /branch to a surveypage in that 1st script that displays the "Sorry, not eligible, you're done here." message. Then, in that <surveypage>, do a script.abort(true) /ontrialend, thus terminating the entire ensuing batch -- no further scripts have to be loaded then for any ineligible participants.
By factitious - 10/5/2020

Dave - 10/5/2020
factitious - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Dave - 10/5/2020
Dave - 10/5/2020
factitious - 10/5/2020
Please find the batch file attached, as well as the final script in the batch.

Each script starting with the second is skipped depending on the answer given on the survey in script one. So, if not eligible they are sent to the final script (i.e. "notEligible.iqx"), otherwise, they do surveys and a task and based on their responses are taken to "debrief.iqx", "debriefSLC.iqx". That's the behaviour I was trying to achieve at least.

Thank you for your help. Please let me know if any of this doesn't make sense.


And under what conditions does the "grey screen" hang occur? That's not clear to me from your description.

Operating on a bit of a hunch here; can you try with the attached revisions of the two scripts and let me know if those produce the grey screen at the end as well?

Unfortunately, I'm getting the same.

Would it be helpful if I provided all the scripts in the batch? 


Maybe. Or at least a realistic, pared down set that reliably produces the issue on your system.

Please find attached. I can consistently replicate the issue with these files. 

Thanks -- I'll see if I can reproduce and figure out what the issue is. Might take a while to get around to it.

So just now I managed to make my actual task work and run this on Inquisit Web and the issue disappeared!
However, when I answer "No" to the survey on my first scripts to get straight to the last script in the batch, it takes a really long time.
Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped?

    / onblockbegin = [
        if (#my_eligibility_criteria# != 1) script.abort(false);
    ]

Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)?

Thank you for your time.,
Raul



> Is this because I have all my surveys/task in separate scripts and skipping them with the code below, which means that each has to be loaded before its skipped?

Yeah, that's exactly right. Every script has to check whether it is supposed to run or not, i.e. it has to be loaded (and briefly started).

> Is there a more efficient way of doing this? - ideally while also keeping the structure as is (i.e. separate scripts controlled through a 'batch' file)?

Why don't you incorporate the abort() logic into the 1st script, where eligibility is checked in the first place? I.e. if the eligibility criteria are not met, /branch to a surveypage in that 1st script that displays the "Sorry, not eligible, you're done here." message. Then, in that <surveypage>, do a script.abort(true) /ontrialend, thus terminating the entire ensuing batch -- no further scripts have to be loaded then for any ineligible participants.

Ah cool! Yea, that makes sense! I've only started working with Inquisit last week so still not quite clear how the /branching syntax is meant works, but I the documentation seems quite thorough so I'm sure it'll be easy to figure out.

Thank you so much for your help.
Raul