There have been two instances in running our study when OpenSesame will exit out of the experiment and display the "finished" screen before the code should be finished running. We are using OpenSesame 3.1.2 with Python 2.7.12. This older version of OpenSesame is being used because we are also running PupilCapture (from PupilLabs) 1.18 at the same time.
The task we are using is a modified version of the SART, a number task with 324 trials and a break near the halfway point. The first time this error occurred, OpenSesame quit and displayed the "finished" screen after the 168th trial, which is the trial before the break. The data for the 168 trials was logged correctly, but the port to the eye tracker was not closed. This would mean that it executed some of the closing code, but not all of it?
The second time this error occurred was 2 months later using all of the same equipment. This time, it quit and displayed the "finished" screen after the 149 trial, which is well before the break. Again, the pupil recording was still going, so that code was not executed. I recognized the error this time and was able to check for errors. There was no errors of any kind in the debug window of OpenSesame or in the similar window in PupilCapture. In both cases, the participants claimed to have only pressed the target keys.
I'm afraid I don't have much more information about the problem, as it has been impossible to recreate so far. There is seemingly nothing in the code that is causing it. We've used this exact task successfully many more times than unsuccessfully. Is this something that has been observed before? Is there any way to fix it?
Comments
Hi,
Older versions of OpenSesame did not make a distinction between Python crashing and the experiment ending successfully. So, given that you're running 3.1.2, I suspect that Python crashes at random moments during the experiment, and that this is falsely interpreted as the experiment being finished.
I don't think you will be able to solve this properly. A more pragmatic solution would be to upgrade to either 3.2.8 (the most recent stable version) or even 3.3.0, which will be released soon and is based on Python 3.
This older version of OpenSesame is being used because we are also running PupilCapture (from PupilLabs) 1.18 at the same time.
Why does PupilCapture require this particular outdated version of OpenSesame?
Cheers!
Sebastiaan
Check out SigmundAI.eu for our OpenSesame AI assistant!
Hello Sebastiaan,
Thank you for your reply! That explains it. It's unfortunate that we won't be able to fix it for this study, but it isn't too frequent a problem, so it's not too worrying.
We will want to fix it for future studies, however. PupilLabs uses Python 2, so we would not be able to use the new version of OpenSeasme once it comes out. The reason we chose 3.1.2 in the first place was that we identified the use of OpenSesame 3.2.8 as the reason for a time lag between trials. We do not know why this is the case.
We will want to fix it for future studies, however. PupilLabs uses Python 2, so we would not be able to use the new version of OpenSeasme once it comes out.
That doesn't matter! PupilLabs en OpenSesame each come with their own Python environment, and these can be different versions.
Check out SigmundAI.eu for our OpenSesame AI assistant!
Thanks for your help! We will look at upgrading our setup to the new version for our future studies.