Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

Cargo "CC" package - (500) Server Error Version 2025.15 (Build 9)



  • My company is going to switch from jfrog artifactory to proget, but can't because cc crate won't download.

    64eb9227-d84d-4efd-88e0-3bbcce7af909-image.png
    Clicking on "cc" will display the image below:
    3a43ef4a-fd8e-446a-a252-c3556f8c49c0-image.png

    An error occurred in the web application: Sequence contains no elements
    
    URL: http://mydomain.com:8624/feeds/public-cargo/cc/versions
    Referrer: http://mydomain.com:8624/feeds/public-cargo?Search=cc
    User: Admin
    User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0
    IP Address: ::ffff:10.10.20
    Stack trace:    at System.Linq.ThrowHelper.ThrowNoElementsException()
       at Inedo.ProGet.WebApplication.Pages.Packages.Versions.ListPackageVersionsPageBase.CreateChildControlsAsync()
       at Inedo.ProGet.WebApplication.Pages.ProGetSimplePage.InitializeAsync() in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E614013\Src\src\ProGet\WebApplication\Pages\ProGetSimplePage.cs:line 69
       at Inedo.Web.PageFree.SimplePageBase.ExecutePageLifeCycleAsync()
       at Inedo.Web.PageFree.SimplePageBase.ProcessRequestAsync(AhHttpContext context)
       at Inedo.Web.AhWebMiddleware.InvokeAsync(HttpContext context)
    
    ::Web Error on 12/10/2025 10:02:06::
    

  • inedo-engineer

    Hi @kinedax339_3276 ,

    It looks like this is an error with the sparse index parsing for short names (e.g. a goes to
    https://index.crates.io/1/a, cc goes to
    https://index.crates.io/2/cc, syn goes to https://index.crates.io/3/s/syn, etc). Easy fix, we'll get it via PG-3177 in the upcoming maintenance release (Dec 19).

    Or you can use the prerelease container image (25.0.17-ci.5) which is being built now.

    Thanks,
    Alana



  • @atripp Oh thank you



  • @atripp After updating ProGet to 25.0.17-ci.5, I do still get the "error: the crate cc could not be found in registry index." on my Linux machine. But opening it via the GUI works so that's great. Do you want me to open a new issue?

    [registries]
    proget = {index = "sparse+https://mydomain.com/cargo/public-cargo/" }

    [registry]
    default = "proget"

    [source]
    [source.proget]
    registry = "sparse+https://mydomain.com/cargo/public-cargo/"
    [source.crates-io]
    replace-with = "proget"


  • inedo-engineer

    @kinedax339_3276 thanks for checking!

    Maybe it's a similar issue.... but honestly I've never used /crate before myself. There's a lot of overhead in figuring all that out for the first time.... so if you can find the URLs being invoked I could probably track it down really easily.

    Is ther ea verbose mode we can see that shows urls ?

    Here are our internal API notes on the implemented endpoints:

    GET /config.json [CargoIndexHandler]
    - generates a config.json file
      - "dl" - download URL for crates
      - "api" - API base url for the Web API
      - "auth-required" - boolean indicating if authentication is required to access the registry.
        - This is determined by if the feed has anonymous access for Feeds_DownloadPackage.
    
    GET  /crates/{packagename}/{version}/download [CargoIndexHandler]
    - Downloads a crate
      
    GET /{prefix}/{packagename} [CargoIndexHandler]
    - Downloads basic package version information
    - Not true JSON, but each line is a JSON object representing a package version
    

    Maybe it's that last one, with the {prefix} , since those were wrong elswhere. Maybe the matching regex is off?

        [GeneratedRegex(@"^(1-2)/(?<1>[^/]+)$|^(3)/./(?<1>[^/]+)$|^(?![1-3]/)../../(?<1>[^/]+)$", RegexOptions.ExplicitCapture)]
    

    Cheers,
    Alana



  • @atripp When I run cargo build it first goes to /cargo/public-cargo/config.json and it seems fine. Then it starts doing GET requests for every package. Anyhow is downloaded from /cargo/public-cargo/an/yh/anyhow

    But when it's going to get cc it goes to /cargo/public-cargo/2/cc and gets a 404 Not Found with the answe:

    Inedo.Web.HttpException: Endpoint not available at this url.
       at Inedo.ProGet.WebApplication.FeedEndpoints.Cargo.CargoFeedHandler.ProcessRequestAsync(AhHttpContext context, WebApiContext apiContext, CargoFeed feed, String relativeUrl)
          i C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E619576\Src\src\ProGet\WebApplication\FeedEndpoints\Cargo\CargoFeedHandler.cs:rad 111
       at Inedo.ProGet.WebApplication.FeedEndpoints.CanonicalFeedHandler`1.Inedo.Web.IHttpAsyncHandler.ProcessRequestAsync(AhHttpContext context)
          i C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E619576\Src\src\ProGet\WebApplication\FeedEndpoints\CanonicalFeedHandler.cs:rad 85
    
    

    It works for packages with a length of 3, for example, ryu it will download from /cargo/public-cargo/3/r/ryu and that works.

    I think the regex should be "([1-2])" in the beginning where it's "(1-2)"


  • inedo-engineer

    Thanks @kinedax339_3276, that was really helpful!

    Easy fix to the regex, and I made sure the following work

    Before, the first two returned the same 404.

    Anyway this change should be in image 25.0.17-ci.7, which is building now! hopefully this will do the trick



  • @atripp Thank you too! It works to downlaod cc so I'm happy


  • inedo-engineer

    @kinedax339_3276 great news!! Appreciate the help


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation