Error message when syncing experiments from PsychoPy Builder to Pavlovia

Hi Jon,

I tried to create a new project today (logged into the system) and got a different error:

Traceback (most recent call last):
** File “C:\Program Files\PsychoPy3\lib\site-packages\psychopy\app\pavlovia_ui\project.py”, line 161, in submitChanges**
** self.parent.project = self.project**
AttributeError: ‘NoneType’ object has no attribute 'project’

I then had the option to “Recreat” which I tried and got this error:

Pushing files to Pavlovia
Pushing to Pavlovia for the first time…Traceback (most recent call last):
** File “C:\Program Files\PsychoPy3\lib\site-packages\psychopy\app\pavlovia_ui\project.py”, line 517, in syncProject**
** project.firstPush(infoStream=syncFrame)**
** File “C:\Program Files\PsychoPy3\lib\site-packages\psychopy\projects\pavlovia.py”, line 822, in firstPush**
** info = self.repo.git.push(’-u’, self.remoteWithToken, ‘master’)**
** File “C:\Program Files\PsychoPy3\lib\site-packages\git\cmd.py”, line 548, in **
** return lambda args, kwargs: self._call_process(name, args, kwargs)
** File “C:\Program Files\PsychoPy3\lib\site-packages\git\cmd.py”, line 1014, in _call_process

** return self.execute(call, exec_kwargs)
** File “C:\Program Files\PsychoPy3\lib\site-packages\git\cmd.py”, line 825, in execute

** raise GitCommandError(command, status, stderr_value, stdout_value)**
git.exc.GitCommandError: Cmd(‘C:\Program Files\PsychoPy3\MinGit\cmd\git.exe’) failed due to: exit code(128)
** cmdline: C:\Program Files\PsychoPy3\MinGit\cmd\git.exe push -u master**
** stderr: 'fatal: ‘master’ does not appear to be a git repository**
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.'

The project exists in the Dashboard, but is “UNKNOWN” for platform

I recommend deleting the project and try syncing again. On gitlab, delete via Settings → Genetal → Advanced. On your hard drive in the folder that contains your experiment, delete the .git folder.

There was no .git file in my experiment folder…

I did delete via gitlab and tried to sync again, but same error as the first.

Did you check for hidden files and folders?

No…can you explain what I should check for precisely? I have folders in two different directories at the moment, could that be creating the problem?

This query could help: show hidden files at DuckDuckGo

Hello,

Have you found any solution? I have the same problem. When I try to upload a new project I get this message. I’ve been trying this for a few weeks now.

1 Like

Maybe the thread below could help out? Often, just flipping some switch or setting can help, but it can be hard to find the right switch. Alternatively, just taking a drastic approach can fix it.

1 Like

Thanky @thomas_pronk . Cleaning up the preferences worked for me.

1 Like

Since updating to 2022.1.1 (to try fixing a different issue), I’m now getting this error too when trying to create a new project on pavlovia via Builder:

Traceback (most recent call last):
  File "C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\pavlovia_ui\menu.py", line 127, in onNew
    if pavlovia.getCurrentSession().user.username:
AttributeError: 'User' object has no attribute 'username'

I’ve tried cleaning/removing appData and preferences, as well as fully uninstalling/reinstalling. Still getting the same issue… I’ve also tried with two different pavlovia accounts (the Runner states that the accounts, separately, were logged in successfully). Lastly, trying to just sync raises the dialog about there being no associated project, then allowing to create a new one, but then that gets an error that the username is not found on pavlovia/github!

Please help.

1 Like

Yes I’m having the exact same issue.

1 Like

And me too.

1 Like

Hey there. After updating to 2022.1.1 I am encountering the same issue. Anybody has a solution? Already reinstalled, cleaned out preferences and so on.
Thanks in advance.

1 Like

Hi there, I am also having the same issue with 2022.1.1.
[Psychopy installed with pip on Linux bll4 5.10.0-8-amd64 #1 SMP Debian 5.10.46-5 (2021-09-23) x86_64 GNU/Linux]

  1. If I create a new experiment from scratch and hit the Sync button, everything runs smoothly, until I am prompted by “The file doesn’t belong to any existing project” and I hit “Create a new project”, after which Psychopy crashes returning
    [4]+ Segmentation fault python3 /usr/local/lib/python3.9/dist-packages/psych
    An html folder is created locally, but no .git folder and nothing is created on Pavlovia either.

  2. In turn, if I take an earlier experiment (that I previously uploaded to Pavlovia and it is still up and running), make a copy, delete the .git * and html folders, and hit the Sync button, I get the following error (similar to those previously reported):

Traceback (most recent call last):
File “/usr/local/lib/python3.9/dist-packages/psychopy/app/builder/builder.py”, line 1370, in onPavloviaSync
htmlPath = self._getHtmlPath(self.filename)
File “/usr/local/lib/python3.9/dist-packages/psychopy/app/builder/builder.py”, line 1352, in _getHtmlPath
return self._getHtmlPath(self.filename)
File “/usr/local/lib/python3.9/dist-packages/psychopy/app/builder/builder.py”, line 1352, in _getHtmlPath
return self._getHtmlPath(self.filename)
File “/usr/local/lib/python3.9/dist-packages/psychopy/app/builder/builder.py”, line 1352, in _getHtmlPath
return self._getHtmlPath(self.filename)
[Previous line repeated 2975 more times]
File “/usr/local/lib/python3.9/dist-packages/psychopy/app/builder/builder.py”, line 1350, in _getHtmlPath
retVal = self.fileSave()
File “/usr/local/lib/python3.9/dist-packages/psychopy/app/builder/builder.py”, line 747, in fileSave
filename = self.exp.saveToXML(filename)
File “/usr/local/lib/python3.9/dist-packages/psychopy/experiment/_experiment.py”, line 380, in saveToXML
simpleString = xml.tostring(self.xmlRoot, ‘utf-8’)
File “/usr/lib/python3.9/xml/etree/ElementTree.py”, line 1109, in tostring
ElementTree(element).write(stream, encoding,
File “/usr/lib/python3.9/xml/etree/ElementTree.py”, line 732, in write
with _get_writer(file_or_filename, enc_lower) as write:
File “/usr/lib/python3.9/contextlib.py”, line 117, in enter
return next(self.gen)
File “/usr/lib/python3.9/xml/etree/ElementTree.py”, line 781, in _get_writer
if isinstance(file_or_filename, io.BufferedIOBase):
File “/usr/lib/python3.9/abc.py”, line 98, in instancecheck
return _abc_instancecheck(cls, instance)
File “/usr/lib/python3.9/abc.py”, line 102, in subclasscheck
return _abc_subclasscheck(cls, subclass)
RecursionError: maximum recursion depth exceeded in comparison

Best,
Marco

Hi,

Just to add my name on this issue for version 2022.1.1. userPrefs.cfg and appData.cfg were deleted. I also deleted the users.json file but the issue remains.

Thanks

This thread now seems to contain multiple different issues.

For RecursionError: maximum recursion depth exceeded in comparison the issue might be related to one of these threads

Sadly the same issue with PsychoPy 2022.2.4

This seems to be a problem writing the psyexp file on save - the .psyexp is essentially a .xml file, so on saving we construct an XML ElementTree object and then convert it to a string and save. The error is happening during this conversion to string, it looks like it’s hitting some infinite loop somewhere in the ElementTree.

One possibility (though unlikely) is that your system recursion limit is simply lower than the amount of recursion necessary to write the file, so you can check by typing this into the Python shell in Coder:

import sys
print(sys.getrecursionlimit())

It should be 1000 by default, which is far more than I would expect your experiment would require, but it’s worth checking just in case.

Could you share the last version of the psyexp file which you were able to save, and what changes you’d made since? If I can recreate this error then it will be much easier to figure out how to fix it.

Hi there. I confirm that the Pavlovia-Sync segmentation fault error persists also in PsychoPy 2022.2.4 (installed on Linux bll4 5.18.0-4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 5.18.16-1 (2022-08-10) x86
_64 GNU/Linux).

I have some slides explaining a simple workaround (trivial, maybe, but I wasn’t aware this was possible):
PavloviaSync_workaround

As for one .psyexp file that won’t sync in PsychoPy, here is a link:
exp01.psyexp

Best,
Marco