Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updater stuck for hours #11390

Open
1 task done
SeanFeldman opened this issue Jan 23, 2025 · 4 comments
Open
1 task done

Updater stuck for hours #11390

SeanFeldman opened this issue Jan 23, 2025 · 4 comments
Labels
L: dotnet:nuget NuGet packages via nuget or dotnet L: github:actions GitHub Actions L: go:modules Golang modules T: bug 🐞 Something isn't working

Comments

@SeanFeldman
Copy link

SeanFeldman commented Jan 23, 2025

Is there an existing issue for this?

  • I have searched the existing issues

Package ecosystem

NuGet

Package manager version

No response

Language version

C# 12

Manifest location and content before the Dependabot update

Build.Packages.props

<Project>
    <PropertyGroup>
        <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
    </PropertyGroup>

    <ItemGroup>
        <PackageVersion Include="Microsoft.NET.Sdk.Functions" Version="4.6.0"/>
        <PackageVersion Include="Microsoft.Azure.AppConfiguration.AspNetCore" Version="6.1.1"/>
        <PackageVersion Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0"/>
        <PackageVersion Include="Microsoft.Azure.WebJobs.Extensions.ServiceBus" Version="5.16.4"/>
        <PackageVersion Include="Microsoft.Azure.WebJobs.Core" Version="3.0.23"/>
        <PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.18.2"/>
        <PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0"/>
        <PackageVersion Include="Microsoft.Extensions.Configuration.AzureAppConfiguration" Version="8.0.0"/>
        <PackageVersion Include="Microsoft.Extensions.Logging" Version="6.0.0"/>
        <PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="6.0.0"/>
        <PackageVersion Include="Microsoft.Extensions.Http" Version="6.0.0" />
        <PackageVersion Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5"/>
        <PackageVersion Include="Microsoft.Graph" Version="4.45.0"/>
        <PackageVersion Include="Microsoft.Graph.Auth" Version="1.0.0-preview.7"/>
        <PackageVersion Include="Microsoft.IdentityModel.Tokens" Version="6.24.0"/>
        <PackageVersion Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.3.1" />

        <PackageVersion Include="MongoDB.Driver" Version="2.22.0"/>
        <PackageVersion Include="MongoDB.Bson" Version="2.18.0" />
        <PackageVersion Include="Npgsql" Version="6.0.7"/>
        <PackageVersion Include="Dapper" Version="2.0.123" />
        <PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
        <PackageVersion Include="Stripe.net" Version="40.14.0" />
        <PackageVersion Include="Polly" Version="8.3.1"/>
        <PackageVersion Include="itext7.pdfhtml" Version="4.0.4"/>
        <PackageVersion Include="HtmlAgilityPack" Version="1.11.46" />
        <PackageVersion Include="IdentityModel.OidcClient" Version="5.1.0"/>
        <PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="6.24.0" />
        <PackageVersion Include="System.Text.Json" Version="5.0.0"/>

        <PackageVersion Include="Internal.Azure.Functions.Common" Version="8.0.0" />
        <PackageVersion Include="Internal.Cache.Redis" Version="6.2.7" />
        <PackageVersion Include="Internal.Logging" Version="2.1.0" />
        <PackageVersion Include="Internal.CourseProduct.Instance.Functions.Common" Version="9.0.0" />
        <PackageVersion Include="Internal.ProductTemplate.Functions.Common" Version="9.0.0" />
        <PackageVersion Include="Internal.SignalR.Simulation.Models" Version="8.0.0" />
        <PackageVersion Include="Internal.ProductTemplate.Common" Version="9.0.0" />
        <PackageVersion Include="Internal.Document.Blob" Version="6.3.0" />
        <PackageVersion Include="Internal.Platform.Configuration.Legacy" Version="6.2.0" />
        <PackageVersion Include="Internal.ProductTemplates.Middleware" Version="9.0.0" />
        <PackageVersion Include="Internal.Scoring.Managers" Version="8.0.0" />
        <PackageVersion Include="Internal.QuestionBank.Common" Version="8.0.0" />
        <PackageVersion Include="Internal.Questions.Blob" Version="9.0.0" />
        <PackageVersion Include="Internal.Questions.Mongo" Version="8.0.0" />
        <PackageVersion Include="Internal.Questions.QuestionBank" Version="7.1.5" />
        <PackageVersion Include="Internal.Questions.Functions.Common" Version="8.0.0" />
        <PackageVersion Include="Internal.Scoring.Functions.Common" Version="9.0.0" />
        
        <!-- Testing dependencies -->
        <PackageVersion Include="Moq" Version="4.18.4"/>
        <PackageVersion Include="FakeItEasy" Version="7.4.0"/>
        <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.5.0"/>
        <PackageVersion Include="xunit" Version="2.4.2"/>
        <PackageVersion Include="xunit.runner.visualstudio" Version="2.4.5" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive"/>
        <PackageVersion Include="coverlet.collector" Version="3.2.0" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive"/>
        <PackageVersion Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.9.1"/>
        <PackageVersion Include="Microsoft.AspNet.WebApi.Client" Version="5.2.9"/>
        
    </ItemGroup>
    
</Project>

dependabot.yml content

version: 2

updates:
  - package-ecosystem: nuget
    target-branch: master
    directory: /
    schedule:
      interval: weekly
      day: sunday      
    open-pull-requests-limit: 1000
    groups:
      Internal:
        patterns:
          - 'Internal.*'
      Microsoft:
        patterns:
          - 'Microsoft.*'
          - 'Azure.*'
      TestLibraries:
        patterns:
          - 'Moq*'
          - 'FluentAssertions*'
          - 'xunit*'
          - 'coverlet*'
          - 'Verify*'
          - 'Microsoft.NET.Test.Sdk*'
      ThirdParty:
        patterns:
          - '.*'
    ignore:
      - dependency-name: 'FakeItEasy*'
        versions: [ '>=8.0.0' ]
        update-types: [ 'version-update:semver-major' ]

Updated dependency

No response

What you expected to see, versus what you actually saw

Expected Dependabot to complete the task. Instead, it's stuck for hours on

updater | running NuGet updater:
updater | /opt/nuget/NuGetUpdater/NuGetUpdater.Cli update --job-id update_0_nuget_all --job-path /home/dependabot/dependabot-updater/job.json --repo-root /home/dependabot/dependabot-updater/repo --solution-or-project /src/Payments/***.Payments.Client/***.Payments.Client.csproj --dependency ***.Cache.Redis --new-version 6.3.1 --previous-version 6.2.7 --result-output-path /tmp/update-result.json

There's no way to see what the issue is.

Native package manager behavior

No response

Images of the diff or a link to the PR, issue, or logs

No response

Smallest manifest that reproduces the issue

No response

@SeanFeldman SeanFeldman added the T: bug 🐞 Something isn't working label Jan 23, 2025
@github-actions github-actions bot added L: dotnet:nuget NuGet packages via nuget or dotnet L: github:actions GitHub Actions L: go:modules Golang modules labels Jan 23, 2025
@brettfo
Copy link
Contributor

brettfo commented Jan 29, 2025

Do you have a full log you can share? If you don't want to share it publicly you can email it directly to me at [email protected]

@brettfo brettfo removed L: go:modules Golang modules L: github:actions GitHub Actions labels Jan 29, 2025
@SeanFeldman
Copy link
Author

@brettfo, I've sent you the complete log. Thank you.

@github-actions github-actions bot added L: github:actions GitHub Actions L: go:modules Golang modules labels Jan 31, 2025
@brettfo
Copy link
Contributor

brettfo commented Feb 5, 2025

I've been examining the log you sent and it appears that the volume of package updates being attempted is the limiting factor. If you search for the string NuGetUpdater.Cli analyze I found 190 instances of that. Every package update attempt needs an analyze call and that process involves checking the NuGet feed to available packages and checking for compatibility. Each package update needs to be considered separately and the updater image doesn't have any packages pre-loaded so there is a lot of downloading that occurs.

You might be able to make the job smaller by only specifying a single group in the dependabot.yml so it's not trying to update so many packages at a time.

@SeanFeldman
Copy link
Author

You might be able to make the job smaller by only specifying a single group in the dependabot.yml so it's not trying to update so many packages at a time.

If I understood correctly, you're saying to break out a single pipeline into several and have a single group per pipeline to ensure the process doesn't hang. Is that correct? My only concern is what happens if a single group is still too much for the analyzer to handle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
L: dotnet:nuget NuGet packages via nuget or dotnet L: github:actions GitHub Actions L: go:modules Golang modules T: bug 🐞 Something isn't working
Projects
Status: No status
Development

No branches or pull requests

2 participants