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)



  • 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


  • inedo-engineer

    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.



  • 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.


  • inedo-engineer

    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.



  • 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).



  • 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.



  • 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.



  • @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


  • inedo-engineer

    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


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation