psychopy.org | Reference | Downloads | Github

Memory Error--v1.83.04

Hello,

I have been scouring the google forums and this forum for an answer to my issue and so far have not had any luck. I apologize in advance if my issue has already been solved and if so, please point me in the right direction.

I am currently running v1.83.04. I have an experiment setup that, at its core, plays videos(.avi,with sound) and then waits for the participant to answer either num_1 or num_2 based on our instructions. There are 32 videos (~500KB each) that are repeated 5 times per trial. The experiment has 4 trials separated by user defined breaks and at the end of the experiment, the data is saved as a csv.

We had a fully working experiment on version 1.80.06 but we recently updated our paradigm and created new videos. During this process we updated to version 1.83.04 and now the experiment fails due to a memory error.

Error Message

 Running: C:\Users\gibbsintern\Desktop\TBW research Psychopy - New Experiment with lip movement\TBW stimuli presentationTestingVersionFinal_lastrun.py 
Traceback (most recent call last):
  File "C:\Users\gibbsintern\Desktop\TBW research Psychopy - New Experiment with lip movement\TBW stimuli presentationTestingVersionFinal_lastrun.py", line 2348, in <module>
    depth=-2.0,
  File "C:\Program Files (x86)\PsychoPy2\lib\site-packages\psychopy-1.83.04-py2.7.egg\psychopy\visual\movie3.py", line 121, in __init__
    self.loadMovie(self.filename)
  File "C:\Program Files (x86)\PsychoPy2\lib\site-packages\psychopy-1.83.04-py2.7.egg\psychopy\visual\movie3.py", line 169, in loadMovie
    sampleRate = self._mov.audio.fps)
  File "C:\Program Files (x86)\PsychoPy2\lib\site-packages\psychopy-1.83.04-py2.7.egg\psychopy\sound.py", line 222, in __init__
    self.setSound(value=value, secs=secs, octave=octave)
  File "C:\Program Files (x86)\PsychoPy2\lib\site-packages\psychopy-1.83.04-py2.7.egg\psychopy\sound.py", line 151, in setSound
    self._setSndFromArray(numpy.array(value))
  File "C:\Program Files (x86)\PsychoPy2\lib\site-packages\psychopy-1.83.04-py2.7.egg\psychopy\sound.py", line 308, in _setSndFromArray
    thisArray= (thisArray*2**15).astype(numpy.int16)
MemoryError

I have tried the experiment on two different machines.
-Dell Inspirion(x64) Intel i7, 1280Mb graphics, 8Gb Ram, windows 8
-Dell Inspirion(x64) Intel i5, 256Mb Graphics, 8Gb Ram, windows 10

As suspected, the machine with the 1280Mb of graphical memory gets almost through the entire experiment (almost 4 trials) before having the memory error compared to the other machine barely making it through two of the four trials.

I have tried all three backends and the OpenCv will allow the experiment to complete, but drops frames and sometimes crashes due to frame loss. The current backend being used is moviepy.

Disabling sound also allows the experiment to complete without issue.

Any help would be greatly appreciated as I am at a loss on what else to try.

Thanks,

Blake

I wonder whether changing the audio back-end will make any difference? If you’re using pyo for audio you may be struggling with a memory error there. The point is that I don’t know whether moviepy is failing to read the audio stream properly or whether the sound backend (e.g. pyo) is failing to play it properly

Hey Jon,

Thanks for the response. I have tried using both ‘pyo’ and ‘pygame’ backends and I still have a failure. I have ordered a 4GB graphics card just to see if this will at least allow for the experiment to finish while I work on finding where the memory error is coming from. However, would it be possible to either install the backend that v1.80.06 used or find a standalone for v1.83.06 to revert back to our old paradigm? In the process of updating our experimental videos, I updated the psychopy version that used to work. I am not too familiar with python and do not know how to install the older version via the source.

I’m afraid I’d be very surprised if a new graphics card makes the difference I’m afraid. The error message is definitely about the audio stream from the movie not the graphics stream.

Alright, thanks. Are there any other backends that you recommend could be integrated or is there a place to find a stand alone version of the 1.80.06?

You can download PsychopPy version 1.82 and older here: https://sourceforge.net/projects/psychpy/files/Releases%20up%20to%20v1.82/

Alternatively, when PsychoPy 1.84 is released, the builder will contain a version control feature, so you can choose to run an experiment on the “engine” of previous versions, e.g. 1.80.x. That release is imminent (weeks or days from now).

Do let us (and future users) know if this solves your problem.

1.84.0 is now formally released and I’d be interested to know if it solves the memory problem you had above (please let us know if you get a chance). We have added a fix for files where the sound and video streams had slightly different lengths.

Actually hold fire. There’s another fix I need to make but 1.84 should be released today

OK, yes, if you could try again with the new release I’d like to know if that fixes the problem. Thanks

@b204, any updates? If upgrading/downgrading worked, please tick solved. If not, let us know.

Hey,

I have been out of the lab and just had a chance to test. Unfortunately, the newest release, 1.84.0 did not work. As with the previous version it crashed. I will be posting the error message once I run it again. I really appreciate all of the help I have received on this thread.

On a side note, an individual from the lab had an older version of PsychoPy (pre 1.80.06), that was able to run the experiment without issue. I will find out exactly what version it is and update the post.

Blake

DId you try the useVersion function in 1.84.00 as I suggested? Rolling it back e.g. to 1.80.06.

And yes, please post the 1.84.00 error.