You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The "Nerdbank.GitVersioning.Tasks.GetBuildVersion" task failed unexpectedly. [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
System.InvalidOperationException: Unable to get version from commit: bfc6aaadccbbdf5facd2a539af89dbc1e9c975f9 [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
---> System.IO.EndOfStreamException: Attempted to read past the end of the stream. [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
at Nerdbank.GitVersioning.ManagedGit.StreamExtensions.ReadAll(Stream stream, Span`1 buffer) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
at Nerdbank.GitVersioning.ManagedGit.GitTreeStreamingReader.FindNode(Stream stream, ReadOnlySpan`1 name) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
at Nerdbank.GitVersioning.ManagedGit.GitRepository.GetTreeEntry(GitObjectId treeId, ReadOnlySpan`1 nodeName) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
at Nerdbank.GitVersioning.Managed.ManagedVersionFile.GetVersion(GitCommit commit, String repoRelativeProjectDirectory, Dictionary`2 blobVersionCache, String& actualDirectory) [C:\Users\marcink\.nuget\packages\nerd
at Nerdbank.GitVersioning.Managed.GitExtensions.GitWalkTracker.GetVersion(GitCommit commit) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
--- End of inner exception stack trace --- [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
at Nerdbank.GitVersioning.Managed.GitExtensions.GitWalkTracker.GetVersion(GitCommit commit) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
at Nerdbank.GitVersioning.Managed.GitExtensions.CommitMatchesVersion(GitCommit commit, SemanticVersion expectedVersion, Position comparisonPrecision, GitWalkTracker tracker) [C:\Users\marcink\.nuget\packages\nerdb
at Nerdbank.GitVersioning.Managed.GitExtensions.<>c__DisplayClass1_0.<GetVersionHeight>b__0(GitCommit c) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
at Nerdbank.GitVersioning.Managed.GitExtensions.<GetCommitHeight>g__TryCalculateHeight|4_0(GitCommit commit, <>c__DisplayClass4_0&) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2P
at Nerdbank.GitVersioning.Managed.GitExtensions.GetCommitHeight(GitRepository repository, GitCommit startingCommit, GitWalkTracker tracker, Func`2 continueStepping) [C:\Users\marcink\.nuget\packages\nerdbank.gitve
at Nerdbank.GitVersioning.Managed.GitExtensions.GetHeight(ManagedGitContext context, Func`2 continueStepping) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
at Nerdbank.GitVersioning.Managed.GitExtensions.GetVersionHeight(ManagedGitContext context, Version baseVersion) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
at Nerdbank.GitVersioning.Managed.ManagedGitContext.CalculateVersionHeight(VersionOptions committedVersion, VersionOptions workingVersion) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\Pri
at Nerdbank.GitVersioning.VersionOracle..ctor(GitContext context, ICloudBuild cloudBuild, Nullable`1 overrideVersionHeightOffset) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCa
at Nerdbank.GitVersioning.Tasks.GetBuildVersion.ExecuteInner() [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr) [C:\Users\marcink\.nuget\packages\nerdbank.gitversioning\3.5.109\build\PrivateP2PCaching.proj]
0 Warning(s)
1 Error(s)
This issue reproduces using the latest release 3.5.109 and the latest pre-release 3.6.42-alpha-g47b0d281e4
My analysis shows, that the problem is caused by the DeltaStreamReader, sometimes it returns a Copy instruction with length equal to 0. It seems that the implementation of DeltaStreamReader missed one special case that is mentioned in git's documentation:
In its most compact form, this instruction only takes up one byte (0x80) with both offset and size omitted, which will have default values zero. There is another exception: size zero is automatically converted to 0x10000.
The text was updated successfully, but these errors were encountered:
I've encountered an issue with managed git engine, which is related o packed streams but it is different from the #797.
3.5.109
and the latest pre-release3.6.42-alpha-g47b0d281e4
My analysis shows, that the problem is caused by the
DeltaStreamReader
, sometimes it returns a Copy instruction withlength
equal to 0. It seems that the implementation ofDeltaStreamReader
missed one special case that is mentioned in git's documentation:The text was updated successfully, but these errors were encountered: