Skip to content

Hang in System.Buffer Memmove #266

Description

@clairernovotny

When trying to convert a particular Windows PDB to portable, the method hangs. Stack trace and repro files attached.
AWSSDK.2.3.55.2.nupkg.zip [rename to remove the .zip, it's a nupkg file].

It's using lib\net35\AWSSDK.dll as the PE stream and lib\net35\AWSSDK.pdb as the PDB.

It's using
.NET Core SDK (reflecting any global.json):
Version: 5.0.100-preview.3.20216.6
Commit: 9f62a32109

 	[Managed to Native Transition]	
 	System.Private.CoreLib.dll!System.Buffer._Memmove(ref byte dest, ref byte src, ulong len)	Unknown
 	System.Private.CoreLib.dll!System.Buffer.Memmove(ref byte dest, ref byte src, ulong len)	Unknown
 	System.Private.CoreLib.dll!System.Runtime.InteropServices.Marshal.CopyToNative<byte>(byte[] source, int startIndex, System.IntPtr destination, int length)	Unknown
 	System.Reflection.Metadata.dll!System.Reflection.Internal.StreamExtensions.CopyTo(System.IO.Stream source, byte* destination, int size)	Unknown
 	System.Reflection.Metadata.dll!System.Reflection.Internal.StreamMemoryBlockProvider.ReadMemoryBlockNoLock(System.IO.Stream stream, bool isFileStream, long start, int size)	Unknown
 	System.Reflection.Metadata.dll!System.Reflection.Internal.StreamMemoryBlockProvider.GetMemoryBlockImpl(int start, int size)	Unknown
 	System.Reflection.Metadata.dll!System.Reflection.PortableExecutable.PEReader.GetPESectionBlock(int index)	Unknown
 	System.Reflection.Metadata.dll!System.Reflection.PortableExecutable.PEReader.GetSectionData(int relativeVirtualAddress)	Unknown
 	System.Reflection.Metadata.dll!System.Reflection.Metadata.PEReaderExtensions.GetMethodBody(System.Reflection.PortableExecutable.PEReader peReader, int relativeVirtualAddress)	Unknown
 	Microsoft.DiaSymReader.Converter.dll!Microsoft.DiaSymReader.Tools.PdbConverterWindowsToPortable.Convert(Microsoft.DiaSymReader.ISymUnmanagedReader5 symReader, System.Reflection.PortableExecutable.PEReader peReader, System.IO.Stream targetPdbStream, System.Reflection.Metadata.BlobContentId pdbId)	Unknown
 	Microsoft.DiaSymReader.Converter.dll!Microsoft.DiaSymReader.Tools.PdbConverterWindowsToPortable.Convert(System.Reflection.PortableExecutable.PEReader peReader, System.IO.Stream sourcePdbStream, System.IO.Stream targetPdbStream)	Unknown
 	Microsoft.DiaSymReader.Converter.dll!Microsoft.DiaSymReader.Tools.PdbConverter.ConvertWindowsToPortable(System.Reflection.PortableExecutable.PEReader peReader, System.IO.Stream sourcePdbStream, System.IO.Stream targetPdbStream)	Unknown
 	Microsoft.DiaSymReader.Converter.dll!Microsoft.DiaSymReader.Tools.PdbConverter.ConvertWindowsToPortable(System.IO.Stream peStream, System.IO.Stream sourcePdbStream, System.IO.Stream targetPdbStream)	Unknown
>	Core.dll!NuGetPe.AssemblyMetadata.AssemblyDebugParser.AssemblyDebugParser(System.IO.Stream peStream, System.IO.Stream pdbStream) Line 36	C#


Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions