Video Script Failing on Specific Computer

Hey all,

I have a task with a few moving parts, but the majority of it involves watching videos and using keys to make continuous ratings throughout viewing the videos. The task works fine on most computers within my lab (All Dell Desktops running Windows 10). On my home computer, though (also Dell Desktop running Windows 10), the task will initialize, collect a PID, and move to a gray background, but then freeze and become totally unresponsive, even when attempted to force end. The runner fails to note any changes.

This is the entire traceback:

Traceback (most recent call last):
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\runner\runner.py”, line 294, in onClose
self.onQuit()
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\runner\runner.py”, line 302, in onQuit
self.panel.stopTask()
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\runner\runner.py”, line 675, in stopTask
self.stopFile(event)
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\runner\scriptProcess.py”, line 109, in stopFile
self.onProcessEnded()
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\runner\runner.py”, line 644, in onProcessEnded
ScriptProcess.onProcessEnded(self)
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\runner\scriptProcess.py”, line 140, in onProcessEnded
self.app.runner.stdOut.write(buff)
AttributeError: ‘NoneType’ object has no attribute ‘stdOut’

It looks like something with the Runner, but I can’t make heads or tails of what more specifically. Stack overflow suggests this might be a MoviePy issue. I’m using MovieStim3 and Pyglet in PsychoPy v2021.2.3. This task had worked fine in the past, so I’m not sure what changed. I tried reinstallation with no success. Any ideas of how to workshop this? Any idea what information about my setup might be helpful to know? Appreciate any help!

Does this help?

1 Like

Thanks so much! That just might. I believe Runner does open with the Coder, and at the least, it’s definitely open when I run this script, but I’ll try playing around with the settings there as soon as I can get back to that computer and report back whether that fixed anything.

Checked my preferences and I do have it set to open runner, coder, and builder, so that’s not it, unfortunately. I mean, it clearly has something to do with the runner or something referencing the runner. I’ll just have to dive deeper into the code and try to make more sense of it. Thanks for the help @wakecarter.

Does your computer have two screens, or anything else that makes it different from the others?

It does have two monitors! I’ve only ever run psychopy on two-monitor setups, though, so I hadn’t considered that would be an issue. I do specify which monitor I want it to display on in my code and I have tried shifting that, which did not have an effect. Is there something else I should be checking?

Sorry; quite a bit of delay in my response, but unfortunately reducing the setup to a single monitor didn’t have an effect. I’d tried several things that had no effect, including:

1.) Running scripts that were built in the builder and manually coded
2.) Running the scripts in full window or a smaller window
3.) Running on a dual monitor or single monitor setup
4.) Resetting my PsychoPy Preferences
5.) Using older versions of PsychoPy
6.) Uninstalling and reinstalling PsychoPy

At one point, I shifted attention to something else and found that the script actually loaded after about 8 minutes but ran incredibly slow. This script is certainly computationally demanding, but even simple scripts are giving me an issue here. My setup should also be more than enough to run smoothly (Windows 10 Pro, 16gb RAM, 500gb SSD, i5-3470 CPU). So it seems the issue is really just something about my computer not meeting the computational demands of psychopy, despite it not demonstating issues with other demanding problems. This seems a little more manageable.

EDIT: I found several people with similar issues. I’ve switched to VlcVideoStim after coming across this post which solved my issue with getting it to work. I tried this suggestion to useFBO=False , but also did not have success. I also tried updating MoviePy based on this thread, but also no luck.