github-desktop/docs/known-issues.md
2020-11-06 15:27:11 -05:00

13 KiB

Table of contents

Known Issues

This document outlines acknowledged issues with GitHub Desktop, including workarounds if known.

What should I do if...

I have encountered an issue listed here?

Some known issues have a workaround that users have reported addresses the issue. Please try the workaround for yourself to confirm it addresses the issue.

I have additional questions about an issue listed here?

Each known issue links off to an existing GitHub issue. If you have additional questions or feedback, please comment on the issue.

My issue is not listed here?

Please check the open and closed bugs in the issue tracker for the details of your bug. If you can't find it, or if you're not sure, open a new issue.

macOS

'The username or passphrase you entered is not correct' error after signing into account

Related issue: #3263

This seems to be caused by the Keychain being in an invalid state, affecting applications that try to use the keychain to store or retrieve credentials. This has been reported from macOS High Sierra 10.13 (17A365) to macOS Mojave 10.14.5 (18F132).

Workaround:

  • Open Keychain Access.app
  • Right-click on the login keychain and try locking it
  • Right-click on the login keychain and try unlocking it
  • Sign into your GitHub account again

Checking for updates triggers a 'Could not create temporary directory: Permission denied' message

Related issue: #4115

This issue seems to be caused by missing permissions for the ~/Library/Caches/com.github.GitHubClient.ShipIt folder. This is a directory that Desktop uses to create and unpack temporary files as part of updating the application.

Workaround:

  • Close Desktop
  • Open Finder and navigate to ~/Library/Caches/
  • Context-click com.github.GitHubClient.ShipIt and select Get Info
  • Expand the Sharing & Permissions section
  • If you do not see the "You can read and write" message, add yourself with the "Read & Write" permissions
  • Start Desktop again and check for updates

Windows

Window is hidden after detaching secondary monitor

Related issue: #2107

This is related to Desktop tracking the window position between launches, but not changes to your display configuration such as removing the secondary monitor where Desktop was positioned.

Workaround:

  • Remove %APPDATA%\GitHub Desktop\window-state.json
  • Restart Desktop

Certificate revocation check fails

Related issue: #3326

If you are using Desktop on a corporate network, you may encounter an error like this:

fatal: unable to access 'https://github.com/owner/name.git/': schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.

GitHub Desktop by default uses the Windows Secure Channel (SChannel) APIs to validate the certificate received from a server. Some networks will block the attempts by Windows to check the revocation status of a certificate, which then causes the whole operation to error.

Workaround:

We do not recommend setting this config value for normal Git usage. This is intended to be an "escape hatch" for situations where the network administrator has restricted the normal usage of SChannel APIs on Windows that Git is trying to use.

Run this command in your Git shell to disable the revocation check:

$ git config --global http.schannelCheckRevoke false

Using a repository configured with Folder Redirection

Related issue: #2972

Folder Redirection is a feature of Windows for administrators to ensure files and folders are managed on a network server, instead.

Not supported as Git is not able to resolve the working directory correctly:

2017-09-21T23:16:05.933Z - error: [ui] `git -c credential.helper= lfs clone --recursive --progress --progress -- https://github.com/owner/name.git \\harvest\Redirected\andrewd\My Documents\GitHub\name` exited with an unexpected code: 2.
Cloning into '\\harvest\Redirected\andrewd\My Documents\GitHub\name'...
remote: Counting objects: 4, done.
remote: Compressing objects:  33% (1/3)
remote: Compressing objects:  66% (2/3)
remote: Compressing objects: 100% (3/3)
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 1), reused 4 (delta 1), pack-reused 0
fatal: unable to get current working directory: No such file or directory
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

Error(s) during clone:
git clone failed: exit status 128

Enable Mandatory ASLR triggers cygheap errors

Related issue: #3096

Windows 10 Fall Creators Edition (version 1709 or later) added enhancements to the Enhanced Mitigation Experience Toolkit, one being to enable Mandatory ASLR. This setting affects the embedded Git shipped in Desktop, and produces errors that look like this:

      1 [main] sh (2072) C:\Users\bdorrans\AppData\Local\GitHubDesktop\app-1.0.4\resources\app\git\usr\bin\sh.exe: *** fatal error - cygheap base mismatch detected - 0x2E07408/0x2EC7408.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.

Enabling Mandatory ASLR affects the MSYS2 core library, which is relied upon by Git for Windows to emulate process forking.

Not supported: this is an upstream limitation of MSYS2, and it is recommend that you either disable Mandatory ASLR or explicitly allow all executables under <Git>\usr\bin which depend on MSYS2.

I get a black screen when launching Desktop

Related issue: #3921

Electron enables hardware accelerated graphics by default, but some graphics cards have issues with hardware acceleration which means the application will launch successfully but it will be a black screen.

Workaround: if you set the GITHUB_DESKTOP_DISABLE_HARDWARE_ACCELERATION environment variable to any value and launch Desktop again it will disable hardware acceleration on launch, so the application is usable. Here are the steps to set the environment variable in PowerShell:

  1. Open PowerShell
  2. Run the command $env:GITHUB_DESKTOP_DISABLE_HARDWARE_ACCELERATION=1
  3. Launch GitHub Desktop

Failed to open CA file after an update

Related issue: #4832

A recent upgrade to Git for Windows changed how it uses http.sslCAInfo.

An example of this error:

fatal: unable to access 'https://github.com/<owner>/<repo>.git/': schannel: failed to open CA file 'C:/Users/<account>/AppData/Local/GitHubDesktop/app-1.2.2/resources/app/git/mingw64/bin/curl-ca-bundle.crt': No such file or directory

This is occurring because some users have an existing Git for Windows installation that created a special config at C:\ProgramData\Git\config, and this config may contain an http.sslCAInfo entry, which is inherited by Desktop.

There's two problems with this current state:

  • Desktop doesn't need custom certificates for its Git operations - it uses SChannel by default, which uses the Windows Certificate Store to verify server certificates
  • this http.sslCAInfo config value may resolve to a location or file that doesn't exist in Desktop's Git installation

Workaround:

  1. Verify that you have the problem configuration by checking the output of this command:
> git config -l --show-origin

You should have an entry that looks like this:

file:"C:\ProgramData/Git/config" http.sslcainfo=[some value here]
  1. Open C:\ProgramData\Git\config (requires elevated privileges) and remove the corresponding lines that look like this:
[http]
sslCAInfo = [some value here]

ask-pass-trampoline.bat errors

Related issues: - #2623, #4124, #6882, #6789

An example of the error message:

The system cannot find the path specified.
error: unable to read askpass response from 'C:\Users\User\AppData\Local\GitHubDesktop\app-1.6.2\resources\app\static\ask-pass-trampoline.bat'
fatal: could not read Username for 'https://github.com': terminal prompts disabled"

Known causes and workarounds:

  • Modifying the AutoRun registry entry. To check if this entry has been modified open Regedit.exe and navigate to HKEY_CURRENT_USER\Software\Microsoft\Command Processor\autorun and HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\autorun to see if there is anything set (sometimes applications will also modify this). See #6789 and #2623 for examples of this.

  • Special characters in your Windows username like a & or - can cause this error to be thrown. See #7064 for an example of this. Try installing GitHub Desktop in a new user account to verify if this is the case.

  • Antivirus software can sometimes prevent GitHub Desktop from installing correctly. If you are running antivirus software that could be causing this try temporarily disabling it and reinstalling GitHub Desktop.

  • Restrictive permissions on your Windows user account. If you are running GitHub Desktop as a non-admin user try launching the application as an administrator (right-click -> Run as administrator). See #5082.

  • If none of these potential causes are present on your machine, try performing a fresh installation of GitHub Desktop to see if that gets things working again. Here are the steps you can take to do that:

    1. Close GitHub Desktop
    2. Delete the %AppData%\GitHub Desktop\ directory
    3. Delete the %LocalAppData%\GitHubDesktop\ directory
    4. Reinstall GitHub Desktop from desktop.github.com

Authentication errors due to modified registry entries

Related issue: #2623

If either the user or an application has modified the Command Processor registry entries it can cause GitHub Desktop to throw an Authentication failed error. To check if these registry entries have been modified open the Registry Editor (regedit.exe) and navigate to the following locations:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\

Check to see if there is an Autorun value in either of those location. If there is, deleting that value should resolve the Authentication failed error.