Steps to Reproduce
- Create a STRUCT with this particulare shape:
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct RECORD
{
public byte reset;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
public float[] refO2;
public float ratio;
}
- Try to marshal the STRUCT
RECORD rec = new RECORD();
int size = Marshal.SizeOf<RECORD>();
byte[] raw = new byte[size];
IntPtr ptr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr<RECORD>(rec, ptr, true);
//In RELEASE mode this point is never reached
MarshalStruct2ptrFreeze.zip
Expected Behavior
Marshal.StructureToPtr(rec, ptr, true); sould not freeze
Actual Behavior
Marshal.StructureToPtr(rec, ptr, true); never exit
Version Information
Microsoft Visual Studio Community 2019
Versione 16.0.4
VisualStudio.16.Release/16.0.4+28803.452
Microsoft .NET Framework
Versione 4.8.03752
Edizione installata: Community
ASP.NET and Web Tools 2019 16.0.12313.64372
ASP.NET and Web Tools 2019
Estensione ResourcePackage 1.0
Informazioni dettagliate sull'estensione ResourcePackage di Visual Studio
Estensione ResourcePackage 1.0
Informazioni dettagliate sull'estensione ResourcePackage di Visual Studio
Extensibility Message Bus 1.1.77 (master@24013d5)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.
Gestione pacchetti NuGet 5.0.2
Gestione pacchetti NuGet in Visual Studio. Per altre informazioni su NuGet, visitare il sito Web http://docs.nuget.org/.
Microsoft JVM Debugger 1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Microsoft MI-Based Debugger 1.0
Provides support for connecting Visual Studio to MI compatible debuggers
Microsoft Visual Studio Tools per contenitori 1.1
Consente di sviluppare, eseguire e convalidare applicazioni ASP.NET Core nell'ambiente di destinazione. Premere F5 per modificare l'applicazione direttamente in un contenitore senza debug oppure CTRL+F5 per modificare e aggiornare l'app senza ricompilare il contenitore.
Mono Debugging for Visual Studio 16.0.300 (573eda3)
Support for debugging Mono processes with Visual Studio.
Pacchetto host dell'adattatore di debug di Visual Studio Code 1.0
Livello di interoperabilità per l'hosting degli adattatori di debug di Visual Studio Code in Visual Studio
ProjectServicesPackage Extension 1.0
ProjectServicesPackage Visual Studio Extension Detailed Info
SQL Server Data Tools 16.0.61903.25110
Microsoft SQL Server Data Tools
Strumenti C# 3.0.0-beta4-19218-01+18b0cfb66884840b40491fa0896a8854d68b3959
Componenti di C# usati nell'IDE. A seconda del tipo e delle impostazioni del processo, è possibile che venga usata una versione diversa del compilatore.
Strumenti comuni di Azure 1.10
Fornisce servizi comuni da usare con Servizi mobili di Azure e gli strumenti di Microsoft Azure.
Strumenti del Servizio app di Azure versione 3.0.0 16.0.12313.64372
Strumenti del Servizio app di Azure versione 3.0.0
Strumenti di recapito continuo Microsoft per Visual Studio 0.4
Consente di semplificare la configurazione delle pipeline Azure DevOps direttamente dall'IDE di Visual Studio.
Strumenti di Visual Basic 3.0.0-beta4-19218-01+18b0cfb66884840b40491fa0896a8854d68b3959
Componenti di Visual Basic usati nell'IDE. A seconda del tipo e delle impostazioni del processo, è possibile che venga usata una versione diversa del compilatore.
Strumenti TypeScript 16.0.10306.2001
Strumenti TypeScript per Microsoft Visual Studio
Visual F# Tools 10.4 per F# 4.6 16.0.0.0. Commit Hash: 809f41207b74a1356208f11b8fa3a15233734050.
Microsoft Visual F# Tools 10.4 per F# 4.6
Visual Studio Tools per contenitori 1.0
Visual Studio Tools per contenitori
VisualStudio.Mac 1.0
Mac Extension for Visual Studio
VisualSVN 7.0.0
Integration with Subversion version control. For more information about VisualSVN, see the VisualSVN website at https://www.visualsvn.com
Copyright © 2019 VisualSVN Software Ltd. All rights reserved.
VSColorOutput 2.6.5
Color output for build and debug windows - http://mike-ward.net/vscoloroutput
Xamarin 16.0.0.521 (d16-0@7b060b3b9)
Estensione di Visual Studio per consentire lo sviluppo per Xamarin.iOS e Xamarin.Android.
Xamarin Designer 4.17.4.419 (remotes/origin/d16-0@c5f131be7)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.
Xamarin Templates 16.1.47 (31f664d)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.
Xamarin.Android SDK 9.2.3.0 (HEAD/9f6426ab2)
Xamarin.Android Reference Assemblies and MSBuild support.
Mono: mono/mono@5ac37ccd385
Java.Interop: xamarin/java.interop/d16-0@c987483
LibZipSharp: grendello/LibZipSharp/d16-1@44de300
LibZip: nih-at/libzip@b95cf3f
MXE: xamarin/mxe@b9cbb535
ProGuard: xamarin/proguard@905836d
SQLite: xamarin/sqlite@325e91a
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-0@0a7edd6
Xamarin.iOS and Xamarin.Mac SDK 12.8.0.2 (f2248ae)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.
Log File
Steps to Reproduce
MarshalStruct2ptrFreeze.zip
Expected Behavior
Marshal.StructureToPtr(rec, ptr, true); sould not freeze
Actual Behavior
Marshal.StructureToPtr(rec, ptr, true); never exit
Version Information
Microsoft Visual Studio Community 2019
Versione 16.0.4
VisualStudio.16.Release/16.0.4+28803.452
Microsoft .NET Framework
Versione 4.8.03752
Edizione installata: Community
ASP.NET and Web Tools 2019 16.0.12313.64372
ASP.NET and Web Tools 2019
Estensione ResourcePackage 1.0
Informazioni dettagliate sull'estensione ResourcePackage di Visual Studio
Estensione ResourcePackage 1.0
Informazioni dettagliate sull'estensione ResourcePackage di Visual Studio
Extensibility Message Bus 1.1.77 (master@24013d5)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.
Gestione pacchetti NuGet 5.0.2
Gestione pacchetti NuGet in Visual Studio. Per altre informazioni su NuGet, visitare il sito Web http://docs.nuget.org/.
Microsoft JVM Debugger 1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Microsoft MI-Based Debugger 1.0
Provides support for connecting Visual Studio to MI compatible debuggers
Microsoft Visual Studio Tools per contenitori 1.1
Consente di sviluppare, eseguire e convalidare applicazioni ASP.NET Core nell'ambiente di destinazione. Premere F5 per modificare l'applicazione direttamente in un contenitore senza debug oppure CTRL+F5 per modificare e aggiornare l'app senza ricompilare il contenitore.
Mono Debugging for Visual Studio 16.0.300 (573eda3)
Support for debugging Mono processes with Visual Studio.
Pacchetto host dell'adattatore di debug di Visual Studio Code 1.0
Livello di interoperabilità per l'hosting degli adattatori di debug di Visual Studio Code in Visual Studio
ProjectServicesPackage Extension 1.0
ProjectServicesPackage Visual Studio Extension Detailed Info
SQL Server Data Tools 16.0.61903.25110
Microsoft SQL Server Data Tools
Strumenti C# 3.0.0-beta4-19218-01+18b0cfb66884840b40491fa0896a8854d68b3959
Componenti di C# usati nell'IDE. A seconda del tipo e delle impostazioni del processo, è possibile che venga usata una versione diversa del compilatore.
Strumenti comuni di Azure 1.10
Fornisce servizi comuni da usare con Servizi mobili di Azure e gli strumenti di Microsoft Azure.
Strumenti del Servizio app di Azure versione 3.0.0 16.0.12313.64372
Strumenti del Servizio app di Azure versione 3.0.0
Strumenti di recapito continuo Microsoft per Visual Studio 0.4
Consente di semplificare la configurazione delle pipeline Azure DevOps direttamente dall'IDE di Visual Studio.
Strumenti di Visual Basic 3.0.0-beta4-19218-01+18b0cfb66884840b40491fa0896a8854d68b3959
Componenti di Visual Basic usati nell'IDE. A seconda del tipo e delle impostazioni del processo, è possibile che venga usata una versione diversa del compilatore.
Strumenti TypeScript 16.0.10306.2001
Strumenti TypeScript per Microsoft Visual Studio
Visual F# Tools 10.4 per F# 4.6 16.0.0.0. Commit Hash: 809f41207b74a1356208f11b8fa3a15233734050.
Microsoft Visual F# Tools 10.4 per F# 4.6
Visual Studio Tools per contenitori 1.0
Visual Studio Tools per contenitori
VisualStudio.Mac 1.0
Mac Extension for Visual Studio
VisualSVN 7.0.0
Integration with Subversion version control. For more information about VisualSVN, see the VisualSVN website at https://www.visualsvn.com
Copyright © 2019 VisualSVN Software Ltd. All rights reserved.
VSColorOutput 2.6.5
Color output for build and debug windows - http://mike-ward.net/vscoloroutput
Xamarin 16.0.0.521 (d16-0@7b060b3b9)
Estensione di Visual Studio per consentire lo sviluppo per Xamarin.iOS e Xamarin.Android.
Xamarin Designer 4.17.4.419 (remotes/origin/d16-0@c5f131be7)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.
Xamarin Templates 16.1.47 (31f664d)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.
Xamarin.Android SDK 9.2.3.0 (HEAD/9f6426ab2)
Xamarin.Android Reference Assemblies and MSBuild support.
Mono: mono/mono@5ac37ccd385
Java.Interop: xamarin/java.interop/d16-0@c987483
LibZipSharp: grendello/LibZipSharp/d16-1@44de300
LibZip: nih-at/libzip@b95cf3f
MXE: xamarin/mxe@b9cbb535
ProGuard: xamarin/proguard@905836d
SQLite: xamarin/sqlite@325e91a
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-0@0a7edd6
Xamarin.iOS and Xamarin.Mac SDK 12.8.0.2 (f2248ae)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.
Log File