Git Push to Pavlovia Failing with HTTP 500 Error

I am experiencing persistent issues with syncing my PsychoPy project to Pavlovia. Although I successfully synced my study to Pavlovia last night, I encountered problems with the generated library (lib) and JavaScript (js) files, leading to 404 and 403 errors when attempting to run the study online. Today, after troubleshooting further, I am now unable to push my study to Pavlovia at all, as I keep encountering an HTTP 500 error during git push.

Below, I have detailed the situation and actions I have taken:

Problem Timeline

  1. Last Night:
  • Successfully synced my project to Pavlovia.
  • However, critical files like lib and js were not created, resulting in 404 and 403 errors when I attempted to run the study.
  1. Today:
  • I updated macOS and reinstalled PsychoPy (version 2022.2.4).
  • After this, I could no longer sync my study to Pavlovia. The sync attempt fails with the following error:
error: RPC failed; HTTP 500 curl 22 The requested URL returned error: 500  
send-pack: unexpected disconnect while reading sideband packet  
fatal: the remote end hung up unexpectedly  

Steps Taken to Troubleshoot

  1. File Size and LFS Setup:
  • I set up Git LFS to handle .mp4 files in my project:
git lfs install  
git lfs track "*.mp4"  

Verified that .gitattributes was created and committed.

  1. Smaller File Batches:
  • I attempted pushing smaller subsets of files (e.g., 2-4 files at a time), but the error persists.
  1. Network and Remote Configuration:
  • I switched from HTTPS to SSH using:
git remote set-url origin git@gitlab.pavlovia.org:Neshatda/pl1.git  
  • Verified the remote configuration with git remote -v.
  1. Upstream Branch Setup:
  • Set the upstream branch for my local master branch using:
git push --set-upstream origin master  
  1. Reinstalling PsychoPy:
  • After updating macOS, I reinstalled PsychoPy version 2022.2.4 to ensure a clean setup.
  1. Pavlovia Server Status:
  • Checked the Pavlovia status page, which did not indicate any ongoing issues at the time of testing.

I ran the same project 9 months ago and it ran successfully online. But this time as I changed my videos and added on more question I have been facing these issues for a couple of days.

Could you please help me resolve this issue? I suspect that either a server-side limitation or something related to my recent system update and PsychoPy reinstallation might be causing the problem.

Specifically, I would like guidance on:

  1. Ensuring the missing lib and js files are generated correctly during the sync.
  2. Resolving the HTTP 500 error preventing me from pushing my study to Pavlovia.

Thank you for your time and assistance. Please let me know if you need additional information or logs.

I just tried one of the solutions below that says:
git config http.postBuffer 524288000
followed by:

git push -u origin master

Now my project is synced on Pavlovia, but I get the 403 Forbidden error. The platform is “UNKNOWN” and version is “0”!

The original “sideband packet” error is indeed due to the postbuffer issue. The default upload buffer is very low for some reason, but this fixes it.

How exactly did you build this study? Is it a Builder study? In this case it would be easier to upload it from the app rather than manually doing it in the terminal.

You can also try manually uploading everything in your experiment folder into the GitLab repository through a web browser, though this is not ideal in the long run.

Hello

Does your JavaScript-file compile without error message? Does your experiment run in a local browers? Error 404 means that you try to access a file which does not exist while error 403 means that you do not have access. Error 500 means is a general server error which can have many causes one of which is right to access a file or directory.

This indicates that your script did not compile, i.e. it is not error-free.

How large are the videos you try to upload?

Best wishes Jens

I remembered the other thing that can throw a 404/403 error: Do you have an “index.html” file? Pavlovia will throw a 403 if the main file that displays the study in your repository is not named index.html (it can just refer to your script files, but the address Pavlovia uses to identify what to show participants is yourexpeirment/index.html).