GitHub issues - Internal Server Error and Web Interface Not Updating

October 15, 2016  12:00pm – October 17, 2016  9:00pm
GitHub

The issue with the GitHub web interface was resolved late yesterday evening. The website is now reflecting changes made to git repositories as normal. Please let us know at rcac-help@purdue.edu if you see any continuing issues.

The sporadic "Internal Server Error" messages when using HTTPS-based authentication are still being worked on. A fix for the issue is provided below by switching to SSH-based authentications, so no further updates on this issue will be provided via this mailing. Switching to SSH-based authentication is highly recommended even if you are not experiencing errors, however, if you would like further updates on the issue please contact rcac-help@purdue.edu.

Original Message

Web Interface not updating

The Github web interface is not being updated to reflect new commits and changes to git repositories. This issue began over the weekend. The underlying git repositories are still functioning, however, any changes are not updating on the website.

System engineers are in contact with the GitHub vendor and are working to diagnose the problem. In the meantime, git repositories are still functioning as usual with command line and other external graphical git tools (e.g., GitKraken or Atlassan SourceTree). The web site is not updating. You will also not be able to create or modify repositories, teams, or organizations.

We will provide further updates as they become available on the web interface.

Command Line Interface - "Internal Server Error"

Users of the git command line interface (or other external tools) that are using HTTPS authentication may see occasional Error 500 or "Internal Server Error" messages when trying to interact with the remote git server. You may have seen an uptick in occurrences of this error starting last week.

System engineers are in contact with the vendor to address this issue. In the meantime, there is an simple workaround: switch to SSH-based authentication. It takes a one-time SSH key setup, but solves the problem (some steps may be slightly different for your particular Git client):

  • Set up your SSH keys the github instance. If you do not know if you already have an SSH key, run the following command from the machine you are attempting to interact with github.rcac.purdue.edu on:

     ls -lah ~/.ssh

If that lists any 'id_rsa.pub' or 'id_dsa.pub' files, then you have an SSH key already and only need to install it into our github enterprise instance. If a file like that is not listed, please run the following command:

     ssh-keygen -t rsa -b 4096 -C "myusername@purdue.edu"

and follow the prompts.

  • Copy the contents of the .pub file (id_rsa.pub) if you needed to create a key, otherwise whatever .pub file you found earlier
  • Go to https://github.rcac.purdue.edu and log in.
  • Click your profile photo on the top right corner of the page
  • Click "Settings".
  • In the sidebar on the left click "SSH and GPG keys".
  • Click "Add SSH Key" or "New SSH Key"
  • Add a title of some sort in the "Title" field that shows up.
  • Paste your key in the "Key" field,
  • Click "Add SSH Key".

This will enable you to communicate with Github over SSH. The next step would be to convert all your already cloned repositories to use SSH. Run the following command in the checked out repository directory:

     git remote set-url origin git@github.rcac.purdue.edu:myorganization/myreponame

(substituting your organization name and repo name)

Once you have done that, you will be able to git pull and git push successfully. If you need to clone a new repository, clone it using SSH instead of HTTPS - so you'll avoid future HTTPS 500 errors.

Originally posted: October 17, 2016  4:11pm