Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    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!

    Nuget packages not indexed automatically in symbol server when pushed (only manual reindex works)

    Scheduled Pinned Locked Moved Support
    9 Posts 3 Posters 29 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L Offline
      lockhead
      last edited by lockhead

      Hi,

      when i push a Nuget package that has additionally debug symbols i can consume them just fine and work with them. When i try to use the symbol server, VS cant find the symbols. I checked if they are indexed under the symbol tab (in ProGet) and they are not. After i manually reindex the feed everything works as expected. VS can find the symbols and i can debug. Works like a charm. Anyone else has this behavior? Did i missed something? Is this expected?

      Some additional infos:

      • ProGet Version: 5.3.18
      • ProGet was on 4.x before i upgrade some time ago to 5.x
      • i dont remember when exactly this behavior started (i just recently started again to debug our own nugets)
      • i dont see anything suspicious in the logs
      • a manual reindex solves it
      • i created a new fresh feed and tested it out (uploaded a package (with symbols) manually over ui), same problem
      • i waited to see if some job would index it, waited over the weekend. No luck.

      Regards

      1 Reply Last reply Reply Quote 0
      • atrippA Offline
        atripp inedo-engineer
        last edited by

        Hello; the files should definitely be indexed on upload...

        Could you share the package you created created, so that we could evaluate/test to see if we can reproduce the problem? I'm not sure if you can attach to the forums, but you could also email it to support at inedo dot com ... please add [QA-475] in the subject so we can easily find it.

        1 Reply Last reply Reply Quote 0
        • L Offline
          lockhead
          last edited by

          Mail is out. I had to modify the package so that it can leave our company but i tested it again and the issue still persists.

          1 Reply Last reply Reply Quote 0
          • atrippA Offline
            atripp inedo-engineer
            last edited by

            Thanks; I can confirm that there indeed is an error parsing one of the PDBs in the file you sent, which is why it won't index on upload. It could be just that particular package or file, though. I wonder if you try different packages, it might work.

            Otherwise, not sure why/how it would work from the service though...

            Anyways we'll investigate this further, but it might take several days to schedule the time, since this is quite complex, binary/bit-level parsing logic, and might be complex.

            1 Reply Last reply Reply Quote 0
            • L Offline
              lockhead
              last edited by

              Thanks for the info. At least it gives me a hint that something is maybe wrong on my side.

              We have several own Nuget packages in use and they all have this problem. I will try to find an external package/repo to produce a symbol package that should work.

              I honestly dont know what i am doing wrong. Even the test Nuget that i send you is fairly simple. I have this issue when i build it localy on Windows 10 and from our CI servers (Jenkins/Linux). I am using dotnet build, pack and push commands in dotnet core context (3.1 and 5.0, but the issue was also before 5.0 usage).

              1 Reply Last reply Reply Quote 0
              • L Offline
                lockhead
                last edited by

                So i headed over to myget.org an started pulling some nugets that are not too shaby.

                I tried out Autofac and they had the same issue (but after manual reindex it works). Than i tried OpenCover and they worked on initial push (no manual reindex necessary).

                Than something strange came to my eyes. The "Age" seems a little bit weird.

                Autofac:

                path id age
                lib/net5.0/Autofac.pdb 	50ea1af6-a55c-433e-a601-2d0528cc0f38 	-755459259
                lib/netstandard2.0/Autofac.pdb 	3350fbd8-133a-4695-b62e-fb2b85da4f88 	-2023348432
                lib/netstandard2.1/Autofac.pdb 	620be175-d8d9-4673-a212-b965212a4648 	-801437170
                

                OpenCover:

                path id age
                Samples/x64/OpenCover.Simple.Target.pdb 	7f83029d-16ff-45c0-b3a0-3988d91dc336 	1
                Samples/x86/OpenCover.Simple.Target.pdb 	6b13fb82-c89d-4e39-a581-62adce159717 	1
                tools/OpenCover.Console.pdb 	6b9003c1-5b1e-4faa-8efb-cc4f72037ca3 	1
                tools/OpenCover.Extensions.pdb 	e40ed889-d3d8-4831-af33-a2415b0d0818 	1
                tools/OpenCover.Framework.pdb 	d55908b6-c044-4e4b-b167-23595170dae9 	1
                

                So the age is something like "-755459259" for Autfac and "1" for OpenCover. Our own packges have also a weird age with a minus.

                K 1 Reply Last reply Reply Quote 0
                • L Offline
                  lockhead
                  last edited by lockhead

                  I think i found something out. Our packages are build on "portable" (the default i think for newer dotnet projs). When i set them to full or pdb-only, the initial push started to behave as expected. But debugging would only work on Windows systems? So i guess i have to stick to portable.

                  1 Reply Last reply Reply Quote 0
                  • K Offline
                    kichikawa_2913 @lockhead
                    last edited by kichikawa_2913

                    @atripp I know this is an old topic, but I have not see anyone else ask about the Age field with uploaded symbols and I don't see it addressed here. We had a developer upload a .snupkg to a ProGet feed (hosted on Podman containers on Linux) and the age field does not make sense to me either. We are running Version 2023.15 (Build 4)

                    bfd441d6-a31f-4964-8d03-903a65472c8c-image.png

                    atrippA 1 Reply Last reply Reply Quote 0
                    • atrippA Offline
                      atripp inedo-engineer @kichikawa_2913
                      last edited by

                      Hi @kichikawa_2913,

                      You can ignore the Age field; it's just used internally by Visual Studio, along with the Id. Not sure why, but it's a strange value in PortablePDB files.

                      Here's more on what Age means if you're dying to read PE-COFF specifications 😆

                      https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PE-COFF.md#codeview-debug-directory-entry-type-2

                      Best,
                      Alana

                      1 Reply Last reply Reply Quote 1

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      • 1 / 1
                      • First post
                        Last post
                      Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation