dotnet / docker-tools

This is a repo to house some common tools for our various docker repos.
MIT License
122 stars 46 forks source link

OverflowException from check-base-image-updates pipeline #1207

Closed mthalman closed 7 months ago

mthalman commented 7 months ago

Runs of the check-base-image-updates pipeline are failing when attempting to create a notification issue in GitHub:

Unhandled exception: System.OverflowException: Value was either too large or too small for an Int32.
   at System.Convert.ThrowInt32OverflowException()
   at System.Convert.ToInt32(Int64 value)
   at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
   at Octokit.PocoJsonSerializerStrategy.DeserializeObject(Object value, Type type) in /_/Octokit/SimpleJson.cs:line 1437
   at Octokit.Internal.SimpleJsonSerializer.GitHubSerializerStrategy.DeserializeObject(Object value, Type type) in /_/Octokit/Http/SimpleJsonSerializer.cs:line 205
   at Octokit.PocoJsonSerializerStrategy.DeserializeObject(Object value, Type type) in /_/Octokit/SimpleJson.cs:line 1492
   at Octokit.Internal.SimpleJsonSerializer.GitHubSerializerStrategy.DeserializeObject(Object value, Type type) in /_/Octokit/Http/SimpleJsonSerializer.cs:line 205
   at Octokit.SimpleJson.DeserializeObject(String json, Type type, IJsonSerializerStrategy jsonSerializerStrategy) in /_/Octokit/SimpleJson.cs:line 584
   at Octokit.SimpleJson.DeserializeObject[T](String json, IJsonSerializerStrategy jsonSerializerStrategy) in /_/Octokit/SimpleJson.cs:line 596
   at Octokit.Internal.SimpleJsonSerializer.Deserialize[T](String json) in /_/Octokit/Http/SimpleJsonSerializer.cs:line 22
   at Octokit.Internal.JsonHttpPipeline.DeserializeResponse[T](IResponse response) in /_/Octokit/Http/JsonHttpPipeline.cs:line 44
   at Octokit.Connection.Run[T](IRequest request, CancellationToken cancellationToken, Func`2 preprocessResponseBody) in /_/Octokit/Http/Connection.cs:line 696
   at Octokit.ApiConnection.Post[T](Uri uri, Object data, String accepts, String contentType, CancellationToken cancellationToken)
   at Microsoft.DotNet.Git.IssueManager.Clients.GitHubClient.CreateNewIssueAsync(String repositoryUrl, String issueTitle, String issueDescription, String personalAccessToken, Nullable`1 milestone, IEnumerable`1 labels, IEnumerable`1 assignees) in /_/src/Microsoft.DotNet.Git.IssueManager/src/Clients/GitHubClient.cs:line 70
   at Microsoft.DotNet.Git.IssueManager.Helpers.RepositoryHelper.CreateNewIssueAsync(String repositoryUrl, String issueTitle, String issueDescription, String gitHubPersonalAccessToken, Nullable`1 milestone, IEnumerable`1 labels, IEnumerable`1 assignees) in /_/src/Microsoft.DotNet.Git.IssueManager/src/Helpers/RepositoryHelper.cs:line 60
   at Microsoft.DotNet.Git.IssueManager.IssueManager.CreateNewIssueAsync(String repositoryUrl, String issueTitle, String issueDescription, Nullable`1 milestone, IEnumerable`1 labels, IEnumerable`1 assignees) in /_/src/Microsoft.DotNet.Git.IssueManager/src/IssueManager.cs:line 62
   at Microsoft.DotNet.ImageBuilder.NotificationService.PostAsync(String title, String description, IEnumerable`1 labels, String repoUrl, String gitHubAccessToken, Boolean isDryRun, IEnumerable`1 comments) in /image-builder/src/NotificationService.cs:line 39
   at Microsoft.DotNet.ImageBuilder.Commands.QueueBuildCommand.LogAndNotifyResultsAsync(Subscription subscription, IEnumerable`1 pathsToRebuild, Build queuedBuild, Exception exception, IEnumerable`1 inProgressBuilds, IEnumerable`1 recentFailedBuilds) in /image-builder/src/Commands/QueueBuildCommand.cs:line 261
   at Microsoft.DotNet.ImageBuilder.Commands.QueueBuildCommand.QueueBuildForStaleImages(Subscription subscription, IEnumerable`1 pathsToRebuild) in /image-builder/src/Commands/QueueBuildCommand.cs:line 156
   at Microsoft.DotNet.ImageBuilder.Commands.QueueBuildCommand.ExecuteAsync() in /image-builder/src/Commands/QueueBuildCommand.cs:line 55

This is caused by https://github.com/octokit/octokit.net/issues/2889.

mthalman commented 7 months ago

This should be fixed now with https://github.com/dotnet/arcade/pull/14505. Just need to upgrade to a newer version of Microsoft.DotNet.Git.IssueManager.

lbussell commented 7 months ago

This is still blocked because there is not a new version of M.DN.Git.IssueManager published yet. The internal builds are being slowed down by other failures in engineering systems today from what I have heard from dnceng.

mthalman commented 7 months ago

Another option is to add an explicit reference on octokit to get the latest version.