Projects that are failing to upload

A few people are having problems getting their experiment to push to Pavlovia from inside PsychoPy. The symptoms are that the window comes up saying

“synchronising…”

and then nothing more happens. I’m really keen to work out what’s going on here but don’t have access to a machine that shows the symptoms (most computers are uploading the experiments just fine).

If you’re being affected by this (especially if you’re moderately computer-savvy and willing to work with me on finding a solution) then could you get in touch here and we’ll try and work out what’s going on?

cheers,
Jon

1 Like

The only time I receive this is if I try to run the study online before the sync gui has finished. I get the following error:

Traceback (most recent call last):
  File "C:\PATH\psychopy\psychopy\app\builder\builder.py", line 2385, in onPavloviaRun
    closeFrameWhenDone=False)
  File "C:\PATH\psychopy\psychopy\app\pavlovia_ui\project.py", line 444, in syncProject
    syncFrame = sync.SyncFrame(parent=parent, id=wx.ID_ANY, project=project)
  File "C:\PATH\psychopy\psychopy\app\pavlovia_ui\sync.py", line 25, in __init__
    wx.Yield()
wx._core.wxAssertionError: C++ assertion "Assert failure" failed at ..\..\src\common\evtloopcmn.cpp(110) in wxEventLoopBase::Yield(): wxYield called recursively

Hi Jon,

I am having this exact problem! Please let me know what you need me to do.

EDIT

this is the main error I get in the output shell

git.exc.GitCommandNotFound: Cmd('git') not found due to: FileNotFoundError('[WinError 206] The filename or extension is too long')

Following this error, was an exhaustive list of every file that is also in the same parent folder as this experiment. Next I removed these files and put the online experiment in a folder by itself, this has solved the synchronizing stage problem.

I’ve had this issue before when I didn’t add a commit message under the ‘Summary of changes’ dialogue box. I get the same “synchronising…” message that is described here.

If you have the coder view open, you will get an error message, the last two lines of which read:

cmdline: C:\Program Files (x86)\PsychoPy3\MinGit\cmd\git.exe commit -m
stderr: 'Aborting commit due to empty commit message.'

The next time you go to sync the experiment, the changes that you attempted to commit, won’t be synced with the online repository. However, if you go to command prompt and check the git status, you will see several modifications that haven’t been pushed yet. I would solve this error by creating a adding and committing those changes manually in the command prompt:

git add -A
git commit -m “committing unsynced changes”
git push

This has always worked for me.

Thanks. The empty commit message (unagi_pie) is going to be an easy one to guard against. We should be checking that they did enter at least one character in the box (or if they didn’t maybe we just insert an underscore as a fake “message”)

The “filename is too long” is puzzling and I’ll have to look into that one. I’ve got an idea about it but I’ll need to check. Maybe you’ve just got more files than I’ve tried in my own testing. I’ll try and sync a project with loads of files and see if I can make it fail!

Thanks again both for finding useful ways to break it! :wink:

Syncing failed showing only “Synchronising…” when I had one of the experiment conditions files open . The error message was:

error: open("html/resources/~$filename.xlsx"): Permission denied
error: unable to index file html/resources/~$day1.xlsx
fatal: adding files failed'

OK, that last one (david) should be helped by the fact that files starting ~$ should now be ignored. So this is good. We’re making progress!

Actually though, David, I wonder if we can find a way that errors such as those ones can be captured and brought back into the dialog after the “syncing…” message. If we were providing some sort of error then people would be more aware there had been a problem and at least send us the messages.

Yes good idea, I will have a look at making the errors more visible in the dialog box.

I have exactly the same problem. When I clicked “create a new project” in the builder window, the computer hangs with “synchronizing…” window. The responsitory is still empty after this.

1 Like

@Misspsychopy, which version of PsychoPy are you using, and were any errors visible e.g., in the Coder output console (if it was open)? Some of these issues in 3.0.4, and the next imminent release (3.0.5), will have been either fixed, or made more visible with error messages appearing in the dialog box that prints your synchronisation message. If you can try more recent versions, and see if any errors appear, we can figure out what is happening.

EDIT: This issue arose becuase I had initiated the folder as a repository, but not finished setting it up. Doing that resolved it.

Hi! I’m using builder in 3.0.7 and I encountered the same problem as haaleemur above with filename or extension too long:

Any suggestions?

  File "C:\Program Files (x86)\PsychoPy3\lib\site-packages\git\cmd.py", line 735, in execute
    **subprocess_kwargs
  File "C:\Program Files (x86)\PsychoPy3\lib\subprocess.py", line 709, in _init_
    restore_signals, start_new_session)
  File "C:\Program Files (x86)\PsychoPy3\lib\subprocess.py", line 997, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 206] The filename or extension is too long

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\PsychoPy3\lib\site-packages\psychopy\app\builder\builder.py", line 2270, in onPavloviaSync
    pavlovia_ui.syncProject(parent=self, project=self.project)
  File "C:\Program Files (x86)\PsychoPy3\lib\site-packages\psychopy\app\pavlovia_ui\project.py", line 488, in syncProject
    infoStream=syncFrame.syncPanel.infoStream)
  File "C:\Program Files (x86)\PsychoPy3\lib\site-packages\psychopy\app\pavlovia_ui\functions.py", line 147, in showCommitDialog
    project.stageFiles(changeList, infoStream=infoStream)  # NB not needed in dulwich
  File "C:\Program Files (x86)\PsychoPy3\lib\site-packages\psychopy\projects\pavlovia.py", line 934, in stageFiles
    self.repo.git.add(files)
  File "C:\Program Files (x86)\PsychoPy3\lib\site-packages\git\cmd.py", line 548, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "C:\Program Files (x86)\PsychoPy3\lib\site-packages\git\cmd.py", line 1014, in _call_process
    return self.execute(call, **exec_kwargs)
  File "C:\Program Files (x86)\PsychoPy3\lib\site-packages\git\cmd.py", line 738, in execute
    raise GitCommandNotFound(command, err)
git.exc.GitCommandNotFound: Cmd('C:\Program Files (x86)\PsychoPy3\MinGit\cmd\git.exe') not found due to: FileNotFoundError('[WinError 206] The filename or extension is too long')

I think the issue with '[WinError 206] The filename or extension is too long' can probably be solved by the following:
in psychopy/projects/pavlovia.py at line 934 change the code from:

self.repo.git.add(files)

to

for thisFile in files:
    self.repo.git.add(thisFile)

The alternative workaround, until this is fixed in the app, is to take away half your files and then add/sync them a group at a time.

Hi Jon,
I’m reviving this topic because I am having the described problem - there is no error message, just the “Synchronising” dialog box appearing in one window, and “Generating PsychoJS script” in the other.
I have previously had success with syncing the same project, and do not understand why the error has suddenly appeared. It will just hang like this forever without progress, from what I can tell.
The changes I made prior to this attempt were with regard to attempting to fix file path names (Pavlovia can’t find the resource), as far as I can recall they were the only changes.
I have tried the ctrl+F5 suggested by another poster (for a different problem?) and clearing the cache.
Running PsychoPy version 3.2.4 on Windows and Pavlovia through a Chrome browser. Not sure what other technical details you may want. My project was built in Builder with a small amount of code to randomly select which stimulus set condition will display. That code was working prior to the hanging issue.
Happy to try and work with you on a solution!
Also this may or may not be relevant info?

Hi @jon and @Pauls12,

I’m having a the same problem as @Pauls12, except for that it occurred at the re-upload of a project after deleting a previous version on Pavlovia, not while syncing. (At least from the error messages it seems to be the same issue.)


Have anyone found a solution for this specific issue?

All the best,
Kriszti

It appears to be a merge conflict that will need fixing before you continue (or move the files to a new project and start again). I’m afraid we haven’t yet added tools to handle merge conflicts in the project but there are advanced (free) tools like gitkraken available to help you

Thank you for the quick answer, I’ll give that a try!