TeamCity symbol server fails on some PDBs
Hi,
I'm using TeamCity 2017.2.3 (build 51047) and the Symbol Server Plugin 2017.2.2
I've been getting exceptions from the symbol server plugin for some PDBs.
Here's the exception details:
[15:19:58]Indexing sources appeared in file C:\BuildAgent\work\bin\MyPath\MyProject.pdb
[15:19:58]No source information found in pdb file C:\BuildAgent\work\Bin\MyPath\MyProject.pdb
[15:19:58]Running command C:\BuildAgent\plugins\symbol-server\bin\JetBrains.CommandLine.Symbols.exe dumpSymbolSign /o=C:\BuildAgent\temp\buildTmp\symbol-signature-local-1550638742978839428.xml /i=C:\BuildAgent\temp\globalTmp\dumpSymbolSign2969550209551714573.input
[15:19:58]
JetBrains.CommandLine.Symbols.exe ends with non-zero exit code ErrCode=1
StdOut:------------
StdErr:------------
Attempted to read past the end of the stream.
at JetBrains.Metadata.Utils.StreamBinaryReader.FillBufferCore(Int32 bytes)
at JetBrains.Metadata.Utils.StreamBinaryReader.ReadInt32()
at JetBrains.Metadata.Debug.Pdb.Dbi.DbiHeader..ctor(IBinaryReader reader)
at JetBrains.Metadata.Debug.Pdb.Dbi.DbiStreamInfo..ctor(IBinaryReader reader)
at JetBrains.Metadata.Debug.Pdb.WindowsPdbFile.get_Dbi()
at JetBrains.Metadata.Debug.Pdb.PdbUtils.GetSignatureAndAge(WindowsPdbFile pdbFile, Guid& signature, UInt32& ageFromDbi, UInt32& ageFromRoot)
at JetBrains.Metadata.Debug.Pdb.PdbUtils.GetSignatureAndAge(FileSystemPath windowsPdbPath, Guid& signature, UInt32& ageFromDbi)
at JetBrains.Metadata.Debug.Pdb.PdbUtils.TryGetPdbDebugInfo(FileSystemPath pdbPath)
at JetBrains.CommandLine.Symbols.DumpSymbolsFileSignCommand.GetFileSignature(FileSystemPath targetFilePath)
at JetBrains.CommandLine.Symbols.DumpFilesSignCommandBase.Execute()
End----------------
.
[15:19:58]Stdout:
[15:19:58]
Stderr: Attempted to read past the end of the stream.
at JetBrains.Metadata.Utils.StreamBinaryReader.FillBufferCore(Int32 bytes)
at JetBrains.Metadata.Utils.StreamBinaryReader.ReadInt32()
at JetBrains.Metadata.Debug.Pdb.Dbi.DbiHeader..ctor(IBinaryReader reader)
at JetBrains.Metadata.Debug.Pdb.Dbi.DbiStreamInfo..ctor(IBinaryReader reader)
at JetBrains.Metadata.Debug.Pdb.WindowsPdbFile.get_Dbi()
at JetBrains.Metadata.Debug.Pdb.PdbUtils.GetSignatureAndAge(WindowsPdbFile pdbFile, Guid& signature, UInt32& ageFromDbi, UInt32& ageFromRoot)
at JetBrains.Metadata.Debug.Pdb.PdbUtils.GetSignatureAndAge(FileSystemPath windowsPdbPath, Guid& signature, UInt32& ageFromDbi)
at JetBrains.Metadata.Debug.Pdb.PdbUtils.TryGetPdbDebugInfo(FileSystemPath pdbPath)
at JetBrains.CommandLine.Symbols.DumpSymbolsFileSignCommand.GetFileSignature(FileSystemPath targetFilePath)
at JetBrains.CommandLine.Symbols.DumpFilesSignCommandBase.Execute()
[15:19:58]Error occurred while processing symbols file C:\BuildAgent\work\bin\MyPath\MyProject.pdb
[15:20:01]Error message is logged
[15:19:58]
java.lang.Exception: Failed to get signature of C:\BuildAgent\work\bin\MyPath\MyProject.pdb
at jetbrains.buildServer.symbols.SymbolsIndexer.getPdbSignature(SymbolsIndexer.java:242)
at jetbrains.buildServer.symbols.SymbolsIndexer.processPdbArtifacts(SymbolsIndexer.java:204)
at jetbrains.buildServer.symbols.SymbolsIndexer.afterCollectingFiles(SymbolsIndexer.java:184)
at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at jetbrains.buildServer.util.EventDispatcher$3.run(EventDispatcher.java:126)
at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:71)
at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:120)
at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:70)
at com.sun.proxy.$Proxy34.afterCollectingFiles(Unknown Source)
at jetbrains.buildServer.agent.impl.artifacts.ArtifactsBuilder.processArtifacts(ArtifactsBuilder.java:67)
at jetbrains.buildServer.agent.impl.artifacts.ArtifactsBuilder.build(ArtifactsBuilder.java:54)
at jetbrains.buildServer.agent.impl.artifacts.ArtifactProcessor.processArtifacts(ArtifactProcessor.java:136)
at jetbrains.buildServer.agent.impl.artifacts.ArtifactProcessor.addNewArtifactsPath(ArtifactProcessor.java:100)
at jetbrains.buildServer.agent.impl.buildStages.finishStages.PublishArtifactsFStage.doFinishStage(PublishArtifactsFStage.java:54)
at jetbrains.buildServer.agent.impl.buildStages.BuildFinishStagesExecutor.runFinishStage(BuildFinishStagesExecutor.java:28)
at jetbrains.buildServer.agent.impl.buildStages.BuildFinishStagesExecutor.doBuildFinishStages(BuildFinishStagesExecutor.java:20)
at jetbrains.buildServer.agent.impl.BuildRunActionImpl.runBuild(BuildRunActionImpl.java:63)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.doActualBuild(BuildAgentImpl.java:295)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.access$100(BuildAgentImpl.java:53)
at jetbrains.buildServer.agent.impl.BuildAgentImpl$1.run(BuildAgentImpl.java:259)
at java.lang.Thread.run(Thread.java:745)
Please sign in to leave a comment.
Hi Adi,
thanks for your report. It looks similar to this issue in our tracker: https://youtrack.jetbrains.com/issue/TW-54542, would it be possible for you to attach privately your pdb there?
Hi Denis,
I don't think I'm having the same issue as the one you have linked.
I did have a similar issue (and also reported it here: https://teamcity-support.jetbrains.com/hc/en-us/community/posts/360000180324-TeamCity-symbol-server-fails-on-a-single-PDB-after-TeamCity-symbol-server-upgrade) which was fixed in version 2017.2.2 of the symbol server plugin.
This looks like a new issue.
Hi,
I see, now I remember the other ticket. It does seem to have the exact same stacktrace, so while one of the underlying issues might have been fixed, maybe some other issue leads to the same problem, that's why we are asking you to provide the pdb file, to see what we are missing towards a more complete solution.
Thanks Denis,
I have uploaded the relevant PDB to TW-54542 as requested.