Stash Stuck at Empty Repository Screen after Push When Running Windows Server on XenServer
症状
When running Stash on a Windows Server instance that's sitting on top of XenServer after pushing changes to a new repository, Stash does not update the "Empty Repository" landing page for the repository. A restart of Stash may temporarily fix this.
This is related to Push Causes Pre-Receive Hook Declined When Running Windows Server on XenServer.
診断
Rackspace Windows servers run on top of Xen and are affected by this.
In the Application Logs under Event Viewer you will see errors similar to the following where bash.exe
is not able to execute:
Faulting application name: bash.exe, version: 0.0.0.0, time stamp: 0x5429d9fa
Faulting module name: ntdll.dll, version: 6.3.9600.17278, time stamp: 0x53eeb4a3
Exception code: 0x40010006
Fault offset: 0x0009a792
Faulting process id: 0xd90
Faulting application start time: 0x01cff937d7c022e0
Faulting application path: d:\Git\bin\bash.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 156e1ced-652b-11e4-80c9-bc764e10bbfd
Faulting package full name:
Faulting package-relative application ID:
原因
This is caused by a bug between msysgit and XenServer. A discussion of this can be found at https://lists.xenserver.org/sympa/arc/xs-devel/2014-07/msg00060.html
回避策
Uninstalling XenServer Tools may allow msysgit to function properly. Please use caution as uninstalling XenServer Tools could leave your instance inaccessible or have serious performance impacts.
If you're using a server hosted by Rackspace, do not uninstall XenServer Tools.
ソリューション
This bug is being tracked on the msysgit issue tracker at https://github.com/msysgit/git/issues/248
Unfortunately, until this bug is fixed the resolution is to switch to using Linux as it is not affected by this bug.