microsoft / DockerTools

Tools For Docker, including Visual Studio Provisioning and Publishing
Other
175 stars 26 forks source link

dotnet process silently crashes when debugger is attached #444

Open jwilliamsonveeam opened 2 months ago

jwilliamsonveeam commented 2 months ago

We have a certain part of our code where the dotnet console process always crashes when the debugger is attached in a docker-compose project. The code executes correctly when started without a debugger, on native linux, and native windows.

System Info image

Dotnet info C:\repos> dotnet --info

.NET SDK:
 Version:           8.0.401
 Commit:            811edcc344
 Workload version:  8.0.400-manifests.e85ccad0
 MSBuild version:   17.11.4+37eb419ad

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.22631
 OS Platform: Windows
 RID:         win-x64
 Base Path:   C:\Program Files\dotnet\sdk\8.0.401\

.NET workloads installed:
Configured to use loose manifests when installing new manifests.
 [aspire]
   Installation Source: VS 17.10.35201.131, VS 17.11.35125.118
   Manifest Version:    8.1.0/8.0.100
   Manifest Path:       C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.aspire\8.1.0\WorkloadManifest.json
   Install Type:        FileBased

Host:
  Version:      8.0.8
  Architecture: x64
  Commit:       08338fcaa5

.NET SDKs installed:
  6.0.425 [C:\Program Files\dotnet\sdk]
  8.0.304 [C:\Program Files\dotnet\sdk]
  8.0.400-preview.0.24324.5 [C:\Program Files\dotnet\sdk]
  8.0.401 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.33 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.33 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.33 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 8.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  x86   [C:\Program Files (x86)\dotnet]
    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
  Not set

global.json file:
  Not found

Using Rancher Desktop, but also saw the same issue on other machines running Docker Desktop: Docker version 24.0.7, build afdd53b

Image: mcr.microsoft.com/dotnet/aspnet:8.0

Output from when service starts until dotnet exits:

Microsoft.Hosting.Lifetime: Information: Content root path: /app
Service started
Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.8/Microsoft.CSharp.dll'. Symbols loaded.
Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.8/System.Xml.XmlSerializer.dll'. Symbols loaded.
Loaded '/src/x64/Debug/net8.0/Microsoft.IO.RecyclableMemoryStream.dll'. 
Loaded 'Microsoft.GeneratedCode'. 
Loaded 'Microsoft.GeneratedCode'. 
The thread '[Thread Destroyed]' (40064) has exited with code 0 (0x0).
The thread '[Thread Destroyed]' (40728) has exited with code 0 (0x0).
Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.8/System.Xml.XmlSerializer.dll'. Symbols loaded.
The program 'dotnet' has exited with code 0 (0x0).
The thread '.NET TP Worker' (325) has exited with code 0 (0x0).
The thread '.NET TP Worker' (339) has exited with code 0 (0x0).
The thread '.NET TP Worker' (345) has exited with code 0 (0x0).
The thread '.NET TP Wait' (338) has exited with code 0 (0x0).
The thread '.NET TP Wait' (350) has exited with code 0 (0x0).

There is nothing in my application's logs indicating any exception. The code always crashes in the same place unless I start removing objects. There is plenty of other code that runs before it crashes and it's always in one spot. Unfortunately it's proprietary code so I can't paste it here. I'm looking for other ways to dig into what might be going wrong.

I have the app set to generate crash dumps on sig term and this is what I get:

clrstack

OS Thread Id: 0x1 (0)
Child SP               IP Call Site
00007FFEA2616A30 00007f17f3e36b57 [HelperMethodFrame_1OBJ: 00007ffea2616a30] System.Threading.Monitor.ObjWait(Int32, System.Object)
00007FFEA2616B60 00007F177485728E System.Threading.Monitor.Wait(System.Object, Int32) [/_/src/coreclr/System.Private.CoreLib/src/System/Threading/Monitor.CoreCLR.cs @ 156]
00007FFEA2616B70 00007F1774861F62 System.Threading.ManualResetEventSlim.Wait(Int32, System.Threading.CancellationToken) [/_/src/libraries/System.Private.CoreLib/src/System/Threading/ManualResetEventSlim.cs @ 561]
00007FFEA2616C00 00007F1774877CA1 System.Threading.Tasks.Task.SpinThenBlockingWait(Int32, System.Threading.CancellationToken) [/_/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs @ 3072]
00007FFEA2616C70 00007F1774877A68 System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken) [/_/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs @ 3007]
00007FFEA2616CC0 00007F17748C5A78 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task, System.Threading.Tasks.ConfigureAwaitOptions) [/_/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/TaskAwaiter.cs @ 104]
00007FFEA2616CE0 00007F17749CD018 System.Runtime.CompilerServices.TaskAwaiter`1[[System.Int32, System.Private.CoreLib]].GetResult() [/_/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/TaskAwaiter.cs @ 335]
00007FFEA2616CF0 00007F1775411957 DistrolessHelper.Program.<Main>(System.String[])

I turned on MS_VS_DOCKER_TOOLS_LOGGING_ENABLED=1 but the logs only contain messages about hot reload writing and reading to the pipe.

NCarlsonMSFT commented 2 months ago

Does this code fail when running outside of a container (Debugging or otherwise)? Does this code fail running in the single container experience or the WSL debugging experience Can you get logs from the debugger using the steps here? When running on Linux, what distro are you using?

jwilliamsonveeam commented 2 months ago

Hi @NCarlsonMSFT ! This is the info for the container I'm using with VS docker-compose integration: PRETTY_NAME="Debian GNU/Linux 12 (bookworm)" NAME="Debian GNU/Linux" VERSION_ID="12" VERSION="12 (bookworm)" VERSION_CODENAME=bookworm ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"

If I run the same code in a Linux container started outside of visual studio and then attach a debugger the process still crashes just with my process' actual name instead of dotnet. I also used the command: DebugAdapterHost.Logging /On /OutputWindow /Verbosity:debug, which is what I assume is what you meant by getting the debugger logs, and saw a lot of handled exceptions before the process exits: Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.BadImageFormatException' in System.Reflection.Metadata.dll Exception thrown: 'System.IO.EndOfStreamException' in MyProgram.Communication.dll Exception thrown: 'System.IO.EndOfStreamException' in System.Private.CoreLib.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Loaded '/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.8/System.Net.Quic.dll'. Symbols loaded. Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'NATS.Client.JetStream.NATSJetStreamException' in NATS.Client.dll Exception thrown: 'NATS.Client.JetStream.NATSJetStreamException' in NATS.Client.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in Npgsql.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'Npgsql.PostgresException' in System.Private.CoreLib.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll The thread 963 has exited with code 0 (0x0). Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.IO.IOException' in System.Net.Sockets.dll Exception thrown: 'System.IO.IOException' in System.Private.CoreLib.dll Exception thrown: 'System.IO.IOException' in System.Net.Security.dll Exception thrown: 'System.IO.IOException' in System.Private.CoreLib.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'NATS.Client.JetStream.NATSJetStreamException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.NotSupportedException' in System.Net.Http.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'System.Net.Sockets.SocketException' in System.Net.Sockets.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll The program '[731] MyProgram.SubComponent' has exited with code 0 (0x0).

But when I run the same code in the same standalone container without the debugger attached everything works as expected. I wonder if all these exceptions, could be causing some problem with the debugger? Do you still want me to try it with WSL debugging?

jwilliamsonveeam commented 2 months ago

Microsoft Visual Studio Professional 2022 Version 17.10.6 VisualStudio.17.Release/17.10.6+35201.131 Microsoft .NET Framework Version 4.8.09032

Installed Version: Professional

Visual C++ 2022 00476-80000-00000-AA511 Microsoft Visual C++ 2022

ADL Tools Service Provider 1.0 This package contains services used by Data Lake tools

ASA Service Provider 1.0

ASP.NET and Web Tools 17.10.344.38934 ASP.NET and Web Tools

Azure App Service Tools v3.0.0 17.10.344.38934 Azure App Service Tools v3.0.0

Azure Data Lake Tools for Visual Studio 2.6.5000.0 Microsoft Azure Data Lake Tools for Visual Studio

Azure Functions and Web Jobs Tools 17.10.344.38934 Azure Functions and Web Jobs Tools

Azure Stream Analytics Tools for Visual Studio 2.6.5000.0 Microsoft Azure Stream Analytics Tools for Visual Studio

C# Tools 4.10.0-3.24372.12+1c559959e2b25fea517c6f89d0c363698421865d C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Common Azure Tools 1.10 Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

GitHub Copilot 0.2.894.62884 GitHub Copilot is an AI pair programmer that helps you write code faster and with less work.

Microsoft Azure Hive Query Language Service 2.6.5000.0 Language service for Hive query

Microsoft Azure Stream Analytics Language Service 2.6.5000.0 Language service for Azure Stream Analytics

Microsoft Azure Tools for Visual Studio 2.9 Support for Azure Cloud Services projects

Microsoft JVM Debugger 1.0 Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Node.js Tools 1.5.60329.1 Commit Hash:15fce86a17f9f33e5bd7ca7ccb9b216aff149252 Adds support for developing and debugging Node.js apps in Visual Studio

NpgsqlVSPackage Extension 1.0 NpgsqlVSPackage Visual Studio Extension Detailed Info

NuGet Package Manager 6.10.2 NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

Razor (ASP.NET Core) 17.10.3.2427201+4f57d1de251e654812adde201c0265a8ca7ca31d Provides languages services for ASP.NET Core Razor.

SQL Server Data Tools 17.10.178.1 Microsoft SQL Server Data Tools

Switch Startup Project 4.2.76 Provides a toolbar dropdown box to switch between startup projects.

Test Adapter for Boost.Test 1.0 Enables Visual Studio's testing tools with unit tests written for Boost.Test. The use terms and Third Party Notices are available in the extension installation directory.

Test Adapter for Google Test 1.0 Enables Visual Studio's testing tools with unit tests written for Google Test. The use terms and Third Party Notices are available in the extension installation directory.

ToolWindowHostedEditor 1.0 Hosting json editor into a tool window

TypeScript Tools 17.0.30327.2001 TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools 4.10.0-3.24372.12+1c559959e2b25fea517c6f89d0c363698421865d Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools 17.10.0-beta.24228.1+dd749058c91585e9b5dae62b0f8df892429ee28f Microsoft Visual F# Tools

Visual Studio IntelliCode 2.2 AI-assisted development for Visual Studio.

WiX Toolset Visual Studio Extension 1.0.0.22 WiX Toolset Visual Studio Extension version 1.0.0.22 Copyright (c) .NET Foundation and contributors. All rights reserved.

WardenGnaw commented 2 months ago

I also used the command: DebugAdapterHost.Logging /On /OutputWindow /Verbosity:debug, which is what I assume is what you meant by getting the debugger logs

The logs should appear in the Debug Adapter Host Logs Pane. You can find the selection by clicking on the dropdown. image

If you can get us those logs, that will help us pinpoint the error you are experiencing.

jwilliamsonveeam commented 2 months ago

Thanks @WardenGnaw

Here are the logs right as it is exiting:

11:14:31:693     1> [DebugAdapter] <--   E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/MetaDataMemoryUsage","data":{"VS.Diagnostics.Debugger.TotalBytes":43174576.0,"VS.Diagnostics.Debugger.AdditionalModuleCount":0,"VS.Diagnostics.Debugger.vsdbg.TargetCLRVersion":"8.0.824.36612","VS.Diagnostics.Debugger.TotalModuleCount":255,"VS.Diagnostics.Debugger.vsdbg.Distribution.Version":"12","VS.Diagnostics.Debugger.vsdbg.Distribution.Name":"debian","VS.Diagnostics.Debugger.vsdbg.OSFamily":"Linux","VS.Diagnostics.Debugger.vsdbg.Version":"17.11.10506.2 commit:bf05b28f55d97d1bcb78f61365a1efbfdf0eb128"}},"seq":1349}
11:14:31:694     1> [DebugAdapter] <--   E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/StackProvider/AsyncCallstacks","data":{"VS.Diagnostics.Debugger.StackProvider.NumBreaksWithWaitingOnAsyncOperationFrames":0,"VS.Diagnostics.Debugger.StackProvider.NumBreaksWithAsyncFrames":2,"VS.Diagnostics.Debugger.StackProvider.NumBreaksWithAsyncUserFrames":2,"VS.Diagnostics.Debugger.vsdbg.TargetCLRVersion":"8.0.824.36612","VS.Diagnostics.Debugger.vsdbg.Distribution.Version":"12","VS.Diagnostics.Debugger.vsdbg.Distribution.Name":"debian","VS.Diagnostics.Debugger.vsdbg.OSFamily":"Linux","VS.Diagnostics.Debugger.vsdbg.Version":"17.11.10506.2 commit:bf05b28f55d97d1bcb78f61365a1efbfdf0eb128"}},"seq":1350}
11:14:31:694     1> [DebugAdapter] <--   E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/vsdbg/ProcessExit","data":{"VS.Diagnostics.Debugger.vsdbg.TargetCLRVersion":"8.0.824.36612","VS.Diagnostics.Debugger.vsdbg.AdapterId":"coreclr","VS.Diagnostics.Debugger.vsdbg.Distribution.Version":"12","VS.Diagnostics.Debugger.vsdbg.Distribution.Name":"debian","VS.Diagnostics.Debugger.vsdbg.OSFamily":"Linux","VS.Diagnostics.Debugger.vsdbg.Version":"17.11.10506.2 commit:bf05b28f55d97d1bcb78f61365a1efbfdf0eb128"}},"seq":1351}
11:14:31:694     1> [DebugAdapter] <--   E (exited): {"type":"event","event":"exited","body":{"exitCode":0},"seq":1352}
11:14:31:695     1> State: Running => Exiting
11:14:31:695     1> [DebugAdapter] <--   E (terminated): {"type":"event","event":"terminated","body":{},"seq":1353}
11:14:31:697     1> [DebugAdapter] --> C (disconnect-40): {"type":"request","command":"disconnect","arguments":{},"seq":40}
11:14:31:699     1> [DebugAdapter] <--   E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/vsdbg/DebugCompleted","data":{"VS.Diagnostics.Debugger.vsdbg.DebugCompleted.BreakCounter":2,"VS.Diagnostics.Debugger.vsdbg.TargetCLRVersion":"8.0.824.36612","VS.Diagnostics.Debugger.vsdbg.AdapterId":"coreclr","VS.Diagnostics.Debugger.vsdbg.Distribution.Version":"12","VS.Diagnostics.Debugger.vsdbg.Distribution.Name":"debian","VS.Diagnostics.Debugger.vsdbg.OSFamily":"Linux","VS.Diagnostics.Debugger.vsdbg.Version":"17.11.10506.2 commit:bf05b28f55d97d1bcb78f61365a1efbfdf0eb128"}},"seq":1354}
11:14:31:699     1> [DebugAdapter] <--   R (disconnect-40) [4 ms]: {"type":"response","request_seq":40,"success":true,"command":"disconnect","seq":1355}
11:14:31:699     1> State: Exiting => Exited
11:14:31:700     1> Sending VS event: IDebugProgramDestroyEvent2 (e147e9e3-6440-4073-a7b7-a65592c714b5)
11:14:31:705     1> [DebugAdapter] --> C (removeBreakpoint-41): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":14},"seq":41}
11:14:31:705     1> [DebugAdapter] --> C (removeBreakpoint-42): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":15},"seq":42}
11:14:31:707     1> [DebugAdapter] --> C (removeBreakpoint-43): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":10},"seq":43}
11:14:31:707     1> [DebugAdapter] --> C (removeBreakpoint-44): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":11},"seq":44}
11:14:31:707     1> [DebugAdapter] --> C (removeBreakpoint-45): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":12},"seq":45}
11:14:31:707     1> [DebugAdapter] --> C (removeBreakpoint-46): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":13},"seq":46}
11:14:31:707     1> [DebugAdapter] --> C (removeBreakpoint-47): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":16},"seq":47}
11:14:31:707     1> [DebugAdapter] --> C (removeBreakpoint-48): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":1},"seq":48}
11:14:31:708     1> [DebugAdapter] --> C (removeBreakpoint-49): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":2},"seq":49}
11:14:31:708     1> [DebugAdapter] --> C (removeBreakpoint-50): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":3},"seq":50}
11:14:31:708     1> [DebugAdapter] --> C (removeBreakpoint-51): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":4},"seq":51}
11:14:31:708     1> [DebugAdapter] --> C (removeBreakpoint-52): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":6},"seq":52}
11:14:31:996     1> [DebugAdapter] --> C (removeBreakpoint-53): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":7},"seq":53}
11:14:31:996     1> [DebugAdapter] --> C (removeBreakpoint-54): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":8},"seq":54}
11:14:31:996     1> [DebugAdapter] --> C (removeBreakpoint-55): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":9},"seq":55}
11:14:31:996     1> [DebugAdapter] --> C (removeBreakpoint-56): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":5},"seq":56}
11:14:31:996     1> Cancelling outstanding request(s) with ID(s): 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56
11:14:31:996     1> Debug adapter process exited.

I can go further back if you think it's hepful.

jwilliamsonveeam commented 2 months ago

It's maybe worth mentioning that this code can be successfully debugged on running on windows without a container.

WardenGnaw commented 2 months ago

Could you provide more lines above the exit event? I'm looking for what command or event (that's not a telemetry one) that is causing the process to exit

jwilliamsonveeam commented 2 months ago

264","source":{"name":"ExecutionContext.cs","path":"/_/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"5098771c4515b115fc5e694d8e79c3523cebd8fda4a73efa7dfa67220105a1c9"}],"vsSourceLinkInfo":{"url":"https://raw.githubusercontent.com/dotnet/runtime/08338fcaa5c9b9a8190abb99222fed12aaba956c/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs","relativeFilePath":"src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs"}},"line":264,"column":17,"endLine":264,"endColumn":40,"instructionPointerReference":"0x00007F0F42FDE553","moduleId":1000},{"id":1030,"name":"System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AsyncStateMachineBox<MyProgram.Subcomponent.Bar.Engine.Controllers.BarRepositoryDatabaseContext.d_4>.MoveNext(System.Threading.Thread threadPoolThread) Line 385","source":{"name":"AsyncTaskMethodBuilderT.cs","path":"//src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"e358d67bcd5815a50083706ec88d0b8489a9872915d46156ba24277cd21bd662"}],"vsSourceLinkInfo":{"url":"https://raw.githubusercontent.com/dotnet/runtime/08338fcaa5c9b9a8190abb99222fed12aaba956c/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs","relativeFilePath":"src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs"}},"line":385,"column":13,"endLine":385,"endColumn":14,"instructionPointerReference":"0x00007F0F42FC1227","moduleId":1000},{"id":1031,"name":"System.Private.CoreLib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch() Line 989","source":{"name":"ThreadPoolWorkQueue.cs","path":"//src/libraries/System.Private.CoreLib/src/System/Threading/ThreadPoolWorkQueue.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"c2320ecffb7fed91e30517804e4bb8bc2f708aec8c6b19e8402c3235be48124e"}],"vsSourceLinkInfo":{"url":"https://raw.githubusercontent.com/dotnet/runtime/08338fcaa5c9b9a8190abb99222fed12aaba956c/src/libraries/System.Private.CoreLib/src/System/Threading/ThreadPoolWorkQueue.cs","relativeFilePath":"src/libraries/System.Private.CoreLib/src/System/Threading/ThreadPoolWorkQueue.cs"}},"line":989,"column":21,"endLine":989,"endColumn":63,"instructionPointerReference":"0x00007F0F42B65DB2","moduleId":1000},{"id":1032,"name":"System.Private.CoreLib.dll!System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() Line 102","source":{"name":"PortableThreadPool.WorkerThread.NonBrowser.cs","path":"//src/libraries/System.Private.CoreLib/src/System/Threading/PortableThreadPool.WorkerThread.NonBrowser.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"703b1990b34da9aa45d508433913144bfa7f548c5581d8bcf93b4cad2f41adbd"}],"vsSourceLinkInfo":{"url":"https://raw.githubusercontent.com/dotnet/runtime/08338fcaa5c9b9a8190abb99222fed12aaba956c/src/libraries/System.Private.CoreLib/src/System/Threading/PortableThreadPool.WorkerThread.NonBrowser.cs","relativeFilePath":"src/libraries/System.Private.CoreLib/src/System/Threading/PortableThreadPool.WorkerThread.NonBrowser.cs"}},"line":102,"column":25,"endLine":102,"endColumn":72,"instructionPointerReference":"0x00007F0F372B20EB","moduleId":1000},{"id":1033,"name":"[Native to Managed Transition]","line":0,"column":0,"presentationHint":"label"},{"id":1034,"name":"[Async Call Stack]","line":0,"column":0,"presentationHint":"label"},{"id":1035,"name":"[Async] MyProgram.Subcomponent.Bar.dll!MyProgram.Subcomponent.Bar.Engine.Controllers.BarRepositoryController.CreateRepositoryAsync(MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RepositoryConfig config, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.CreateBackupRepositoryOptions options, System.Threading.CancellationToken cancellationToken) Line 82","source":{"name":"BarRepositoryController.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Bar\Engine\Controllers\BarRepositoryController.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"77fcf19553c223ba46736b730dc8660e17b4586eeb898e3bcd3bad172cf88886"}]},"line":82,"column":13,"endLine":83,"endColumn":63,"instructionPointerReference":"0x00007F0F4373898B","moduleId":1001}],"totalFrames":36},"seq":1153} 15:51:18:808 4> [DebugAdapter] --> C (stackTrace-35): {"type":"request","command":"stackTrace","arguments":{"threadId":686,"startFrame":0,"levels":1,"format":{"module":false,"includeAll":true}},"seq":35} 15:51:18:808 4> [DebugAdapter] <-- R (stackTrace-35) [1 ms]: {"type":"response","request_seq":35,"success":true,"command":"stackTrace","body":{"stackFrames":[{"id":1000,"name":"MyProgram.Subcomponent.Repository.ObjectStorage.FooepositoryFactory.CreateCore","source":{"name":"FooepositoryFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.ObjectStorage\FooepositoryFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"6893de8a8356a4e0d1c522949bd654527ccdbabf04b04ec027a8e1275655323c"}]},"line":73,"column":13,"endLine":78,"endColumn":51,"instructionPointerReference":"0x00007F0F444BC4AE","moduleId":1067}]},"seq":1154} 15:51:18:808 4> [DebugAdapter] --> C (stackTrace-36): {"type":"request","command":"stackTrace","arguments":{"threadId":686,"startFrame":0,"levels":1,"format":{"module":false,"includeAll":true,"hex":true}},"seq":36} 15:51:18:808 4> [DebugAdapter] <-- R (stackTrace-36) [1 ms]: {"type":"response","request_seq":36,"success":true,"command":"stackTrace","body":{"stackFrames":[{"id":1000,"name":"MyProgram.Subcomponent.Repository.ObjectStorage.FooepositoryFactory.CreateCore","source":{"name":"FooepositoryFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.ObjectStorage\FooepositoryFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"6893de8a8356a4e0d1c522949bd654527ccdbabf04b04ec027a8e1275655323c"}]},"line":73,"column":13,"endLine":78,"endColumn":51,"instructionPointerReference":"0x00007F0F444BC4AE","moduleId":1067}]},"seq":1155} 15:51:18:921 2> [DebugAdapter] --> C (vsCustomMessage-46): {"type":"request","command":"vsCustomMessage","arguments":{"message":{"sourceId":"{cefcfc81-d24b-4965-b409-c9bdb022cd05}","messageCode":3}},"seq":46} 15:51:19:557 4> State: Paused => Resuming 15:51:19:558 4> [DebugAdapter] --> C (continue-37): {"type":"request","command":"continue","arguments":{"threadId":686},"seq":37} 15:51:19:560 4> [DebugAdapter] <-- E (continued): {"type":"event","event":"continued","body":{"threadId":686,"allThreadsContinued":true},"seq":1156} 15:51:19:560 4> [DebugAdapter] <-- R (continue-37) [3 ms]: {"type":"response","request_seq":37,"success":true,"command":"continue","body":{"allThreadsContinued":true},"seq":1157} 15:51:19:560 4> State: Resuming => Running 15:51:19:563 4> [DebugAdapter] <-- E (output): {"type":"event","event":"output","body":{"category":"exception","output":"Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll\n"},"seq":1158} 15:51:19:563 4> Sending VS event: IDebugMessageEvent2 (3bdb28cf-dbd2-4d24-af03-01072b67eb9e) 15:51:19:697 4> [DebugAdapter] <-- E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/MetaDataMemoryUsage","data":{"VS.Diagnostics.Debugger.TotalBytes":43327740.0,"VS.Diagnostics.Debugger.AdditionalModuleCount":0,"VS.Diagnostics.Debugger.vsdbg.TargetCLRVersion":"8.0.824.36612","VS.Diagnostics.Debugger.TotalModuleCount":259,"VS.Diagnostics.Debugger.vsdbg.Distribution.Version":"12","VS.Diagnostics.Debugger.vsdbg.Distribution.Name":"debian","VS.Diagnostics.Debugger.vsdbg.OSFamily":"Linux","VS.Diagnostics.Debugger.vsdbg.Version":"17.11.10506.2 commit:bf05b28f55d97d1bcb78f61365a1efbfdf0eb128"}},"seq":1159} 15:51:19:699 4> [DebugAdapter] <-- E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/StackProvider/AsyncCallstacks","data":{"VS.Diagnostics.Debugger.StackProvider.NumBreaksWithWaitingOnAsyncOperationFrames":0,"VS.Diagnostics.Debugger.StackProvider.NumBreaksWithAsyncFrames":2,"VS.Diagnostics.Debugger.StackProvider.NumBreaksWithAsyncUserFrames":2,"VS.Diagnostics.Debugger.vsdbg.TargetCLRVersion":"8.0.824.36612","VS.Diagnostics.Debugger.vsdbg.Distribution.Version":"12","VS.Diagnostics.Debugger.vsdbg.Distribution.Name":"debian","VS.Diagnostics.Debugger.vsdbg.OSFamily":"Linux","VS.Diagnostics.Debugger.vsdbg.Version":"17.11.10506.2 commit:bf05b28f55d97d1bcb78f61365a1efbfdf0eb128"}},"seq":1160} 15:51:19:699 4> [DebugAdapter] <-- E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/vsdbg/ProcessExit","data":{"VS.Diagnostics.Debugger.vsdbg.TargetCLRVersion":"8.0.824.36612","VS.Diagnostics.Debugger.vsdbg.AdapterId":"coreclr","VS.Diagnostics.Debugger.vsdbg.Distribution.Version":"12","VS.Diagnostics.Debugger.vsdbg.Distribution.Name":"debian","VS.Diagnostics.Debugger.vsdbg.OSFamily":"Linux","VS.Diagnostics.Debugger.vsdbg.Version":"17.11.10506.2 commit:bf05b28f55d97d1bcb78f61365a1efbfdf0eb128"}},"seq":1161} 15:51:19:699 4> [DebugAdapter] <-- E (exited): {"type":"event","event":"exited","body":{"exitCode":0},"seq":1162} 15:51:19:714 4> State: Running => Exiting 15:51:19:715 4> [DebugAdapter] <-- E (terminated): {"type":"event","event":"terminated","body":{},"seq":1163} 15:51:19:715 4> [DebugAdapter] --> C (disconnect-38): {"type":"request","command":"disconnect","arguments":{},"seq":38} 15:51:19:721 4> [DebugAdapter] <-- E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/vsdbg/DebugCompleted","data":{"VS.Diagnostics.Debugger.vsdbg.DebugCompleted.BreakCounter":2,"VS.Diagnostics.Debugger.vsdbg.TargetCLRVersion":"8.0.824.36612","VS.Diagnostics.Debugger.vsdbg.AdapterId":"coreclr","VS.Diagnostics.Debugger.vsdbg.Distribution.Version":"12","VS.Diagnostics.Debugger.vsdbg.Distribution.Name":"debian","VS.Diagnostics.Debugger.vsdbg.OSFamily":"Linux","VS.Diagnostics.Debugger.vsdbg.Version":"17.11.10506.2 commit:bf05b28f55d97d1bcb78f61365a1efbfdf0eb128"}},"seq":1164} 15:51:19:721 4> [DebugAdapter] <-- R (disconnect-38) [4 ms]: {"type":"response","request_seq":38,"success":true,"command":"disconnect","seq":1165} 15:51:19:722 4> State: Exiting => Exited 15:51:19:722 4> Sending VS event: IDebugProgramDestroyEvent2 (e147e9e3-6440-4073-a7b7-a65592c714b5) 15:51:19:722 4> [DebugAdapter] --> C (removeBreakpoint-39): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":14},"seq":39} 15:51:19:722 4> [DebugAdapter] --> C (removeBreakpoint-40): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":15},"seq":40} 15:51:19:722 4> [DebugAdapter] --> C (removeBreakpoint-41): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":10},"seq":41} 15:51:19:722 4> [DebugAdapter] --> C (removeBreakpoint-42): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":11},"seq":42} 15:51:19:722 4> [DebugAdapter] --> C (removeBreakpoint-43): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":12},"seq":43} 15:51:19:722 4> [DebugAdapter] --> C (removeBreakpoint-44): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":13},"seq":44} 15:51:19:722 4> [DebugAdapter] --> C (removeBreakpoint-45): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":16},"seq":45} 15:51:19:722 4> [DebugAdapter] --> C (removeBreakpoint-46): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":1},"seq":46} 15:51:19:722 4> [DebugAdapter] --> C (removeBreakpoint-47): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":2},"seq":47} 15:51:19:723 4> [DebugAdapter] --> C (removeBreakpoint-48): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":3},"seq":48} 15:51:19:723 4> [DebugAdapter] --> C (removeBreakpoint-49): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":4},"seq":49} 15:51:19:723 4> [DebugAdapter] --> C (removeBreakpoint-50): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":6},"seq":50} 15:51:19:723 4> [DebugAdapter] --> C (removeBreakpoint-51): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":7},"seq":51} 15:51:19:723 4> [DebugAdapter] --> C (removeBreakpoint-52): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":8},"seq":52} 15:51:19:723 4> [DebugAdapter] --> C (removeBreakpoint-53): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":9},"seq":53} 15:51:19:723 4> [DebugAdapter] --> C (removeBreakpoint-54): {"type":"request","command":"removeBreakpoint","arguments":{"type":"source","id":5},"seq":54} 15:51:19:823 4> Cancelling outstanding request(s) with ID(s): 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54 15:51:19:824 4> Debug adapter process exited. 15:51:19:923 2> WARNING: Request 'vsCustomMessage-46' has not received a response within 1000 ms!

jwilliamsonveeam commented 2 months ago

I hit the char limit so here is some more before that. @WardenGnaw 15:51:18:717 4> State: Running => Pausing 15:51:18:718 4> [DebugAdapter] --> C (threads-33): {"type":"request","command":"threads","arguments":{},"seq":33} 15:51:18:720 4> [DebugAdapter] <-- R (threads-33) [2 ms]: {"type":"response","request_seq":33,"success":true,"command":"threads","body":{"threads":[{"id":630,"name":""},{"id":668,"name":".NET TP Gate"},{"id":670,"name":".NET Sockets"},{"id":679,"name":"Log archiving"},{"id":681,"name":".NET File Watcher"},{"id":682,"name":"Console logger queue processing thread"},{"id":684,"name":".NET Timer"},{"id":686,"name":".NET TP Worker"},{"id":698,"name":"SchedulingThread"},{"id":683,"name":""},{"id":702,"name":".NET Long Running Task"},{"id":704,"name":"Reader-vbo_proxy_client"},{"id":705,"name":"Flusher-vbo_proxy_client"},{"id":706,"name":"SchedulingThread"},{"id":707,"name":"BarToBarEventQueueThread"},{"id":708,"name":"ObjectStorageLockUpdaterThread"},{"id":709,"name":"SchedulingThread"},{"id":710,"name":"SchedulingThread"},{"id":711,"name":"SchedulingThread"},{"id":712,"name":"FreeSpaceMonitorThread"},{"id":713,"name":"HeartbeatThread"},{"id":714,"name":"StatusThread"},{"id":715,"name":".NET Long Running Task"},{"id":716,"name":"VCFThreadPoolWorker#1"},{"id":717,"name":"VCFThreadPoolWorker#2"},{"id":718,"name":"VCFThreadPoolWorker#3"},{"id":719,"name":"VCFThreadPoolWorker#4"},{"id":720,"name":"VCFThreadPoolWorker#5"},{"id":721,"name":"VCFThreadPoolWorker#6"},{"id":722,"name":"VCFThreadPoolWorker#7"},{"id":723,"name":"VCFThreadPoolWorker#8"},{"id":724,"name":"VCFThreadPoolWorker#9"},{"id":725,"name":"VCFThreadPoolWorker#10"},{"id":726,"name":"VCFThreadPoolWorker#11"},{"id":727,"name":"VCFThreadPoolWorker#12"},{"id":728,"name":"VCFThreadPoolWorker#13"},{"id":729,"name":"VCFThreadPoolWorker#14"},{"id":730,"name":"VCFThreadPoolWorker#15"},{"id":731,"name":"VCFThreadPoolWorker#16"},{"id":732,"name":"VCFThreadPoolWorker#17"},{"id":733,"name":"VCFThreadPoolWorker#18"},{"id":734,"name":"VCFThreadPoolWorker#19"},{"id":735,"name":"VCFThreadPoolWorker#20"},{"id":736,"name":"VCFThreadPoolWorker#21"},{"id":737,"name":"VCFThreadPoolWorker#22"},{"id":738,"name":"VCFThreadPoolWorker#23"},{"id":739,"name":"VCFThreadPoolWorker#24"},{"id":740,"name":"VCFThreadPoolWorker#25"},{"id":741,"name":"VCFThreadPoolWorker#26"},{"id":742,"name":"VCFThreadPoolWorker#27"},{"id":743,"name":"VCFThreadPoolWorker#28"},{"id":744,"name":"VCFThreadPoolWorker#29"},{"id":745,"name":"VCFThreadPoolWorker#30"},{"id":746,"name":"VCFThreadPoolWorker#31"},{"id":747,"name":"VCFThreadPoolWorker#32"},{"id":748,"name":"RepositoryRescannerThread"},{"id":749,"name":".NET Long Running Task"},{"id":750,"name":".NET Long Running Task"},{"id":751,"name":".NET Long Running Task"},{"id":753,"name":".NET Long Running Task"},{"id":754,"name":".NET Long Running Task"},{"id":755,"name":".NET Long Running Task"},{"id":756,"name":".NET Long Running Task"},{"id":757,"name":".NET Long Running Task"},{"id":758,"name":".NET Long Running Task"},{"id":759,"name":".NET Long Running Task"},{"id":760,"name":"SchedulingThread"},{"id":761,"name":".NET Long Running Task"},{"id":763,"name":".NET Long Running Task"},{"id":766,"name":".NET Long Running Task"},{"id":767,"name":".NET Long Running Task"},{"id":768,"name":".NET Long Running Task"},{"id":769,"name":".NET Long Running Task"},{"id":770,"name":".NET Long Running Task"},{"id":771,"name":".NET Long Running Task"},{"id":772,"name":".NET Long Running Task"},{"id":773,"name":".NET Long Running Task"},{"id":775,"name":".NET TP Worker"},{"id":779,"name":".NET TP Worker"},{"id":781,"name":"SchedulingThread"},{"id":782,"name":"SchedulingThread"},{"id":659,"name":""},{"id":784,"name":"SchedulingThread"},{"id":790,"name":".NET TP Worker"},{"id":791,"name":"SchedulingThread"},{"id":792,"name":".NET TP Worker"},{"id":793,"name":".NET TP Worker"},{"id":794,"name":".NET TP Worker"},{"id":795,"name":".NET TP Worker"}]},"seq":1152} 15:51:18:720 4> Sending VS event: IDebugBreakpointEvent2 (501c1e21-c557-48b8-ba30-a1eab0bc4a74) 15:51:18:807 4> State: Pausing => Paused 15:51:18:808 2> [DebugAdapter] --> C (pause-45): {"type":"request","command":"pause","arguments":{"threadId":0},"seq":45} 15:51:18:808 2> [DebugAdapter] <-- E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/vsdbg/Pause","data":{"VS.Diagnostics.Debugger.vsdbg.TargetCLRVersion":"8.0.824.36612","VS.Diagnostics.Debugger.vsdbg.AdapterId":"coreclr","VS.Diagnostics.Debugger.vsdbg.Distribution.Version":"12","VS.Diagnostics.Debugger.vsdbg.Pause.Duration":0,"VS.Diagnostics.Debugger.vsdbg.Distribution.Name":"debian","VS.Diagnostics.Debugger.vsdbg.OSFamily":"Linux","VS.Diagnostics.Debugger.vsdbg.Version":"17.11.10506.2 commit:bf05b28f55d97d1bcb78f61365a1efbfdf0eb128"}},"seq":1689} 15:51:18:808 2> [DebugAdapter] <-- R (pause-45) [1 ms]: {"type":"response","request_seq":45,"success":true,"command":"pause","seq":1690} 15:51:18:808 4> [DebugAdapter] --> C (stackTrace-34): {"type":"request","command":"stackTrace","arguments":{"threadId":686,"startFrame":0,"levels":1000,"format":{"parameters":true,"parameterTypes":true,"parameterNames":true,"line":true,"module":true,"includeAll":true}},"seq":34} 15:51:18:808 4> [DebugAdapter] <-- R (stackTrace-34) [16 ms]: {"type":"response","request_seq":34,"success":true,"command":"stackTrace","body":{"stackFrames":[{"id":1000,"name":"MyProgram.Subcomponent.Repository.ObjectStorage.dll!MyProgram.Subcomponent.Repository.ObjectStorage.FooepositoryFactory.CreateCore(MyProgram.Subcomponent.Repository.ObjectStorage.Explore.IObjectStorageRepositoryLock objectStorageRepositoryLock, double consumptionUpdatePeriod, MyProgram.Subcomponent.Repository.ObjectStorage.Archive.Storage.KeyDataEntityStorage.KeyDataEntityStorageLockPool keyDataEntityStorageLockPool) Line 73","source":{"name":"FooepositoryFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.ObjectStorage\FooepositoryFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"6893de8a8356a4e0d1c522949bd654527ccdbabf04b04ec027a8e1275655323c"}]},"line":73,"column":13,"endLine":78,"endColumn":51,"instructionPointerReference":"0x00007F0F444BC4AE","moduleId":1067},{"id":1001,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.Fooepository.ArchiveDependenciesBuilder.CreateRepositoryCore(MyProgram.Subcomponent.Repository.ObjectStorage.Explore.IObjectStorageRepositoryLock objectStorageRepositoryLock, double consumptionUpdatePeriod) Line 47","source":{"name":"ArchiveDependenciesBuilder.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\Fooepository\ArchiveDependenciesBuilder.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"fdcd3e8c5a4411e3f9b92d80902f23c5845d5e46bb210734a442acf223a2ccb0"}]},"line":47,"column":9,"endLine":50,"endColumn":28,"instructionPointerReference":"0x00007F0F444BB9FB","moduleId":1068},{"id":1002,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.Fooepository.FooepositoryCoreContextFactory.CreateRepositoryCore(MyProgram.Subcomponent.Repository.Repositories.IRepositoryContextScope repositoryContextScope, MyProgram.Subcomponent.Repository.Bar.Lock.IConsistencyRepositoryLock repositoryLock) Line 36","source":{"name":"FooepositoryCoreContextFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\Fooepository\FooepositoryCoreContextFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"f9cfa42064d8276e72157448929c4c8c8b151e4b8e7f4a01e1b9015fd83cc722"}]},"line":36,"column":9,"endLine":36,"endColumn":98,"instructionPointerReference":"0x00007F0F444B7EFF","moduleId":1068},{"id":1003,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.CloudRepositoryCoreContextFactory.CreateCommonInternal(Microsoft.Extensions.DependencyInjection.AsyncServiceScope scope, System.Func<MyProgram.Subcomponent.Repository.Bar.Lock.IObjectStorageLockFactory, MyProgram.Subcomponent.Repository.ObjectStorage.IRepositoryOutdatedVerifier, MyProgram.Subcomponent.Repository.Bar.Lock.IConsistencyRepositoryLock> createLock, System.Action updateConfigAction) Line 72","source":{"name":"CloudRepositoryCoreContextFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\CloudRepositoryCoreContextFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"caebd936a096540548a75d4864060c2ea99554bf79bf58588123c0f55e5aa699"}]},"line":72,"column":9,"endLine":72,"endColumn":108,"instructionPointerReference":"0x00007F0F43748755","moduleId":1068},{"id":1004,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.CloudRepositoryCoreContextFactory.CreateCommon.AnonymousMethod0(Microsoft.Extensions.DependencyInjection.AsyncServiceScope scope) Line 53","source":{"name":"CloudRepositoryCoreContextFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\CloudRepositoryCoreContextFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"caebd936a096540548a75d4864060c2ea99554bf79bf58588123c0f55e5aa699"}]},"line":53,"column":22,"endLine":53,"endColumn":81,"instructionPointerReference":"0x00007F0F43748467","moduleId":1068},{"id":1005,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.RepositoryScopeExecutor.Execute<MyProgram.Subcomponent.Repository.Bar.CreateRepositoryCoreContextResult>(System.IServiceProvider serviceProvider, MyProgram.Subcomponent.Repository.Repositories.IRepositoryConfigProvider repositoryConfigProvider, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RepositoryType repositoryContextType, System.Func<Microsoft.Extensions.DependencyInjection.AsyncServiceScope, MyProgram.Subcomponent.Repository.Bar.CreateRepositoryCoreContextResult> execute) Line 26","source":{"name":"RepositoryScopeExecutor.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\RepositoryScopeExecutor.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"7b2759907cd6655d569b0c28d9ca425902b16e309625f2907b47991484bf5cc3"}]},"line":26,"column":13,"endLine":26,"endColumn":35,"instructionPointerReference":"0x00007F0F4374816C","moduleId":1068},{"id":1006,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.CloudRepositoryCoreContextFactory.CreateCommon(MyProgram.Subcomponent.Repository.Repositories.IRepositoryConfigProvider repositoryConfigProvider, System.Func<MyProgram.Subcomponent.Repository.Bar.Lock.IObjectStorageLockFactory, MyProgram.Subcomponent.Repository.ObjectStorage.IRepositoryOutdatedVerifier, MyProgram.Subcomponent.Repository.Bar.Lock.IConsistencyRepositoryLock> createLock, System.Action updateConfigAction) Line 51","source":{"name":"CloudRepositoryCoreContextFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\CloudRepositoryCoreContextFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"caebd936a096540548a75d4864060c2ea99554bf79bf58588123c0f55e5aa699"}]},"line":51,"column":9,"endLine":53,"endColumn":83,"instructionPointerReference":"0x00007F0F4374801D","moduleId":1068},{"id":1007,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.CloudRepositoryCoreContextFactory.CreateRepositoryCore(MyProgram.Subcomponent.Repository.Repositories.IRepositoryConfigProvider repositoryConfigProvider, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionType? retentionType, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionPeriodType? retentionPeriodType, int? period, bool overrideOwnership) Line 33","source":{"name":"CloudRepositoryCoreContextFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\CloudRepositoryCoreContextFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"caebd936a096540548a75d4864060c2ea99554bf79bf58588123c0f55e5aa699"}]},"line":33,"column":9,"endLine":34,"endColumn":100,"instructionPointerReference":"0x00007F0F43747DA5","moduleId":1068},{"id":1008,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.HybridRepositoryContextFactory.CreateRepositoryContext.AnonymousMethod1() Line 53","source":{"name":"HybridRepositoryContextFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\HybridRepositoryContextFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"82a1eca55d84dce3fafb4b35dc90b48c7a077536d7be051c3859a4886cb115da"}]},"line":53,"column":19,"endLine":58,"endColumn":35,"instructionPointerReference":"0x00007F0F43F58C41","moduleId":1068},{"id":1009,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.HybridRepositoryContextFactory.CreateRepositoryContext(MyProgram.Subcomponent.Repository.Repositories.IRepositoryConfigProvider repositoryConfigProvider, System.Func<MyProgram.Subcomponent.Repository.Bar.CreateRepositoryCoreContextResult> createBackupDependencies, System.Func<MyProgram.Subcomponent.Repository.Bar.CreateRepositoryCoreContextResult> createCopyDependencies) Line 75","source":{"name":"HybridRepositoryContextFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\HybridRepositoryContextFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"82a1eca55d84dce3fafb4b35dc90b48c7a077536d7be051c3859a4886cb115da"}]},"line":75,"column":9,"endLine":75,"endColumn":70,"instructionPointerReference":"0x00007F0F437475D4","moduleId":1068},{"id":1010,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.HybridRepositoryContextFactory.CreateRepositoryContext(MyProgram.Subcomponent.Repository.Repositories.IRepositoryConfigProvider repositoryConfigProvider, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionType? retentionType, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionPeriodType? retentionPeriodType, int? period, bool overrideOwnership) Line 46","source":{"name":"HybridRepositoryContextFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\HybridRepositoryContextFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"82a1eca55d84dce3fafb4b35dc90b48c7a077536d7be051c3859a4886cb115da"}]},"line":46,"column":9,"endLine":58,"endColumn":37,"instructionPointerReference":"0x00007F0F4374743A","moduleId":1068},{"id":1011,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.RepositoryContextFactory.CreateRepositoryContext(MyProgram.Subcomponent.Repository.Repositories.IRepositoryConfigProvider repositoryConfigProvider, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionType? retentionType, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionPeriodType? retentionPeriodType, int? period, bool overrideOwnership) Line 37","source":{"name":"RepositoryContextFactory.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\RepositoryContextFactory.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"bf4b93bfb338c2785c3a769ebda3c13fadf3a35af1d47f34eddd07e624915109"}]},"line":37,"column":9,"endLine":38,"endColumn":127,"instructionPointerReference":"0x00007F0F437470EB","moduleId":1068},{"id":1012,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.RepositoryContextBuilder.CreateRepositoryContext.AnonymousMethod0(MyProgram.Subcomponent.Repository.Bar.IRepositoryContextFactory factory) Line 40","source":{"name":"RepositoryContextBuilder.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\RepositoryContextBuilder.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"c0767a384e5f85678c7e7414eb80155eb513f97f634113c74e2b47e0271d04a4"}]},"line":40,"column":24,"endLine":40,"endColumn":144,"instructionPointerReference":"0x00007F0F43747040","moduleId":1068},{"id":1013,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.RepositoryContextBuilder.CreateAndInitialize.CreateAndInitializeWithExceptionHandling|0(out MyProgram.Subcomponent.Repository.Bar.IRepositoryContextDisposable context) Line 65","source":{"name":"RepositoryContextBuilder.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\RepositoryContextBuilder.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"c0767a384e5f85678c7e7414eb80155eb513f97f634113c74e2b47e0271d04a4"}]},"line":65,"column":17,"endLine":65,"endColumn":61,"instructionPointerReference":"0x00007F0F43746EE3","moduleId":1068},{"id":1014,"name":"MyProgram.Core.v12.2.0.dll!MyProgram.Core.Memory.Disposable.Create(MyProgram.Core.Memory.Disposable.CreateAction createInstance)","line":0,"column":0,"instructionPointerReference":"0x00007F0F43180AA3","moduleId":1019},{"id":1015,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.RepositoryContextBuilder.CreateAndInitialize(System.Func<MyProgram.Subcomponent.Repository.Bar.IRepositoryContextFactory, MyProgram.Subcomponent.Repository.Bar.IRepositoryContextDisposable> create, System.Threading.CancellationToken cancellationToken) Line 59","source":{"name":"RepositoryContextBuilder.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\RepositoryContextBuilder.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"c0767a384e5f85678c7e7414eb80155eb513f97f634113c74e2b47e0271d04a4"}]},"line":59,"column":9,"endLine":59,"endColumn":106,"instructionPointerReference":"0x00007F0F43746DF0","moduleId":1068},{"id":1016,"name":"MyProgram.Subcomponent.Repository.Bar.dll!MyProgram.Subcomponent.Repository.Bar.RepositoryContextBuilder.CreateRepositoryContext(MyProgram.Subcomponent.Repository.Repositories.IRepositoryConfigProvider repositoryConfigProvider, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionType? retentionType, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionPeriodType? retentionPeriodType, int? period, bool overrideOwnership, System.Threading.CancellationToken cancellationToken) Line 39","source":{"name":"RepositoryContextBuilder.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Repository.Bar\RepositoryContextBuilder.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"c0767a384e5f85678c7e7414eb80155eb513f97f634113c74e2b47e0271d04a4"}]},"line":39,"column":9,"endLine":41,"endColumn":32,"instructionPointerReference":"0x00007F0F43746C95","moduleId":1068},{"id":1017,"name":"MyProgram.Subcomponent.Bar.dll!MyProgram.Subcomponent.Bar.Repository.RepositoryHolder.CreateNewRepository.AnonymousMethod_0() Line 137","source":{"name":"RepositoryHolder.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Bar\Repository\RepositoryHolder.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"6713da4c56c427dd9ff6c8a604cc330a91178c937d0e8fba4bb2a73a6cece33d"}]},"line":137,"column":27,"endLine":143,"endColumn":43,"instructionPointerReference":"0x00007F0F43746B8A","moduleId":1001},{"id":1018,"name":"MyProgram.Subcomponent.Bar.dll!MyProgram.Subcomponent.Bar.Repository.RepositoryPoolExtension.Add(MyProgram.Subcomponent.Bar.Repository.IRepositoryPool repositoryPool, System.Guid repositoryId, System.Func createContext) Line 23","source":{"name":"RepositoryPoolExtension.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Bar\Repository\RepositoryPoolExtension.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"8f340e0ef27cf659c95fb17571a4ceb7b686f442d345155ed7a5fcffdf0bd159"}]},"line":23,"column":9,"endLine":23,"endColumn":66,"instructionPointerReference":"0x00007F0F43746A30","moduleId":1001},{"id":1019,"name":"MyProgram.Subcomponent.Bar.dll!MyProgram.Subcomponent.Bar.Repository.RepositoryHolder.CreateNewRepository(MyProgram.Subcomponent.Bar.Repository.RepositoryConfigProvider repositoryConfigProvider, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionType? retentionType, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionPeriodType? retentionPeriodType, int? period, bool overrideOwnership, System.Threading.CancellationToken cancellationToken) Line 136","source":{"name":"RepositoryHolder.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Bar\Repository\RepositoryHolder.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"6713da4c56c427dd9ff6c8a604cc330a91178c937d0e8fba4bb2a73a6cece33d"}]},"line":136,"column":17,"endLine":143,"endColumn":45,"instructionPointerReference":"0x00007F0F437466D6","moduleId":1001},{"id":1020,"name":"MyProgram.Subcomponent.Bar.dll!MyProgram.Subcomponent.Bar.Repository.RepositoryLazyList.CreateNewRepository(MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RepositoryConfig repositoryConfig, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionType? retentionType, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionPeriodType? retentionPeriodType, int? period, bool overrideOwnership, System.Threading.CancellationToken cancellationToken) Line 302","source":{"name":"RepositoryLazyList.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Bar\Repository\RepositoryLazyList.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"1ed2db16c47e0bb50773f2a3f3db7e726931366b7d30ca803a322b919a75bc4b"}]},"line":302,"column":13,"endLine":302,"endColumn":159,"instructionPointerReference":"0x00007F0F4373BEA0","moduleId":1001},{"id":1021,"name":"MyProgram.Subcomponent.Bar.dll!MyProgram.Subcomponent.Bar.Engine.Controllers.RepositoryOperationController.CreateRepositoryAsync(MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RepositoryConfig config, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionType? retentionType, MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RetentionPeriodType? retentionPeriodType, int? period, bool overrideOwnership, System.Threading.CancellationToken cancellationToken) Line 139","source":{"name":"RepositoryOperationController.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Bar\Engine\Controllers\RepositoryOperationController.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"19041c643f270d32f89384c4c9ffe0b0fb74b3b54a5407f162ecc788d4ff0b67"}]},"line":139,"column":13,"endLine":139,"endColumn":139,"instructionPointerReference":"0x00007F0F43739C93","moduleId":1001},{"id":1022,"name":"[Resuming Async Method]","line":0,"column":0,"presentationHint":"label"},{"id":1023,"name":"System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Line 179","source":{"name":"ExecutionContext.cs","path":"//src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"5098771c4515b115fc5e694d8e79c3523cebd8fda4a73efa7dfa67220105a1c9"}],"vsSourceLinkInfo":{"url":"https://raw.githubusercontent.com/dotnet/runtime/08338fcaa5c9b9a8190abb99222fed12aaba956c/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs","relativeFilePath":"src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs"}},"line":179,"column":17,"endLine":179,"endColumn":40,"instructionPointerReference":"0x00007F0F42BCC524","moduleId":1000},{"id":1024,"name":"System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AsyncStateMachineBox<MyProgram.Subcomponent.Bar.Engine.Controllers.RepositoryOperationController.d_19>.MoveNext(System.Threading.Thread threadPoolThread) Line 376","source":{"name":"AsyncTaskMethodBuilderT.cs","path":"//src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"e358d67bcd5815a50083706ec88d0b8489a9872915d46156ba24277cd21bd662"}],"vsSourceLinkInfo":{"url":"https://raw.githubusercontent.com/dotnet/runtime/08338fcaa5c9b9a8190abb99222fed12aaba956c/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs","relativeFilePath":"src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs"}},"line":376,"column":17,"endLine":376,"endColumn":33,"instructionPointerReference":"0x00007F0F42FC110C","moduleId":1000},{"id":1025,"name":"System.Private.CoreLib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Runtime.CompilerServices.IAsyncStateMachineBox box, bool allowInlining) Line 795","source":{"name":"TaskContinuation.cs","path":"//src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/TaskContinuation.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"20f4825c4341fc5ca8bed5d846e4a6668c9b10eba3160705d50d548fa8519db8"}],"vsSourceLinkInfo":{"url":"https://raw.githubusercontent.com/dotnet/runtime/08338fcaa5c9b9a8190abb99222fed12aaba956c/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/TaskContinuation.cs","relativeFilePath":"src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/TaskContinuation.cs"}},"line":795,"column":17,"endLine":795,"endColumn":32,"instructionPointerReference":"0x00007F0F42BD8136","moduleId":1000},{"id":1026,"name":"System.Private.CoreLib.dll!System.Threading.Tasks.Task.RunContinuations(object continuationObject) Line 3456","source":{"name":"Task.cs","path":"//src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"35f3a54f5acb408a3e219b2de039f1a3095507b7e4515f11238c0ba07b60c0ce"}],"vsSourceLinkInfo":{"url":"https://raw.githubusercontent.com/dotnet/runtime/08338fcaa5c9b9a8190abb99222fed12aaba956c/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs","relativeFilePath":"src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs"}},"line":3456,"column":21,"endLine":3456,"endColumn":104,"instructionPointerReference":"0x00007F0F42BCBFAE","moduleId":1000},{"id":1027,"name":"System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult(MyProgram.Subcomponent.Interfaces.DataContracts.Repository.RepositoryConfig result) Line 474","source":{"name":"AsyncTaskMethodBuilderT.cs","path":"/_/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"e358d67bcd5815a50083706ec88d0b8489a9872915d46156ba24277cd21bd662"}],"vsSourceLinkInfo":{"url":"https://raw.githubusercontent.com/dotnet/runtime/08338fcaa5c9b9a8190abb99222fed12aaba956c/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs","relativeFilePath":"src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs"}},"line":474,"column":17,"endLine":474,"endColumn":55,"instructionPointerReference":"0x00007F0F42BDC58A","moduleId":1000},{"id":1028,"name":"[Completed] MyProgram.Subcomponent.Bar.dll!MyProgram.Subcomponent.Bar.Engine.Controllers.BarRepositoryDatabaseContext.FindRepositoryConfigAsync(System.Guid id, System.Threading.CancellationToken cancellationToken, MyProgram.Subcomponent.Bar.Database.Interfaces.RepositoryFilter filter) Line 46","source":{"name":"BarRepositoryDatabaseContext.cs","path":"C:\repos\Explorers\Melon\MyProgram.Subcomponent.Bar\Engine\Controllers\BarRepositoryDatabaseContext.cs","sourceReference":0,"checksums":[{"algorithm":"SHA256","checksum":"736bc852478f9a8fa27bc051c24595337db248269b35308d070c2b646de9aff7"}]},"line":46,"column":5,"endLine":46,"endColumn":6,"instructionPointerReference":"0x00007F0F4373A3B1","moduleId":1001},{"id":1029,"name":"System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread threadPoolThread, System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Line

WardenGnaw commented 2 months ago

From the logs it seems like a "Exception thrown: 'NATS.Client.NATSTimeoutException' in NATS.Client.dll is causing the process to exit.

However, it may be something within the debugger or runtime is causing the process to exit.

To continue further we will need you to capture a dump of the crash to see if something is happening in the runtime. To capture a crashdump, can you add a Environment Variable DOTNET_DbgEnableMiniDump to 1? You add the environment variable:

  1. If you right click on your project and select properties
  2. Go to Debug -> General -> Debug Profile UI image
  3. Add DOTNET_DbgEnableMiniDump: 1 to the environment variables of the profile that is used for the docker scenario. image
  4. Run your program and you should see logs saying:
    Unhandled exception. System.Exception: Exception of type 'System.Exception' was thrown.
    at PROGRAM PATH #
    [createdump] Gathering state for process PID dotnet
    [createdump] Crashing thread 012c signal 6 (0006)
    [createdump] Writing minidump with heap to file /tmp/coredump.PID 
    [createdump] Written 118829056 bytes (29011 pages) to core file
    [createdump] Target process is alive
    [createdump] Dump successfully written in 175ms
  5. Upload /tmp/coredump.PID

To keep your crash dump confidential, can you create an issue at https://developercommunity.visualstudio.com/VisualStudio

Feel free to paste the link to the bug here so I can assign it to myself and we can continue the discussion there.

more information about the environment variable can be found at https://learn.microsoft.com/en-us/dotnet/core/diagnostics/collect-dumps-crash.

jwilliamsonveeam commented 2 months ago

@WardenGnaw Thanks! https://developercommunity.visualstudio.com/t/dotnet-process-silently-crashes-when-deb/10740222?port=1025&fsid=362c5948-c1f7-4738-8b64-7a45b072ffb1

jwilliamsonveeam commented 2 months ago

@WardenGnaw @NCarlsonMSFT Just discovered the debugger also cashes when SSH'ed into a normal redhat VM, but the process I'm debugging continues to run. DockerTools is probably the wrong area for this. I put more info in the visualstudio.com report.

jwilliamsonveeam commented 1 month ago

Demo example. This code write out "SUCCEED!" with no debugger attached and this fails to execute with it attached. If you check the process with the strace utility you can see with the debugger there is a SIGTRAP and there is no SIGTRAP if you don't attach a debugger. You can see the sigtrap is coming from libc.6.so from the timer call back here on line 54 https://codebrowser.dev/glibc/glibc/sysdeps/unix/sysv/linux/timer_routines.c.html

Program.cs

using System.Diagnostics; using System.Resources; using System.Runtime.InteropServices;

namespace TimerCallBackDemo;

public class Program { [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void HandleTimerEvent(IntPtr sigval); public static void Main(string[] args) { Thread.Sleep(30000); HandleTimerEvent callback = HandleTimer; int SIGEV_THREAD = 2; IntPtr _timerId = IntPtr.Zero; var configuration = new NativeMethods.sigevent { sigev_notify = SIGEV_THREAD, sigev_value = new NativeMethods.sigval { sigval_ptr = _timerId }, sigev_notify_function = Marshal.GetFunctionPointerForDelegate(callback),
}; var r1 = NativeMethods.timer_create(NativeMethods.clockid_t.CLOCK_REALTIME, configuration, out _timerId);

    var newValue = new NativeMethods.itimerspec
    {
        it_value = new NativeMethods.timespec
        {
            tv_sec = 1,
            tv_nsec = 1
        }
    };

    var result = NativeMethods.timer_settime(_timerId, (int)NativeMethods.timer_flags.TIMER_ABSTIME, newValue, IntPtr.Zero);  
    Thread.Sleep(3000);
    Console.WriteLine("SUCCESS!");
}

public static void HandleTimer(IntPtr sigval)
{
    Console.WriteLine("In minimal delegate");
    //_handle.Set();
}

}

NativeMethods.cs using System; using System.Runtime.InteropServices;

namespace TimerCallBackDemo;

public static class NativeMethods { [DllImport("librt.so.1", SetLastError = true, CallingConvention = CallingConvention.StdCall)] public static extern int timer_create(clockid_t clockId, sigevent callback, out IntPtr timerId);

[DllImport("librt.so.1",  SetLastError = true, CallingConvention = CallingConvention.StdCall)]
public static extern int timer_settime(IntPtr timerId, int flags, itimerspec newValue, IntPtr oldValue);

[DllImport("librt.so.1",  SetLastError = true, CallingConvention = CallingConvention.StdCall)]
public static extern int timer_delete(Int64 timerId);

// Native structures, disable struct warnings

pragma warning disable CS0649 // Not used fields

pragma warning disable CS8981 // The type name only contains lower-cased ascii characters. Such names may become reserved for the language.

pragma warning disable CA1815 // Override equals and operator equals on value types

[StructLayout(LayoutKind.Sequential)]
public struct timespec
{
    public long tv_sec;
    public long tv_nsec;
}

[StructLayout(LayoutKind.Sequential)]
public class itimerspec
{
    public timespec it_interval;
    public timespec it_value;
}

[StructLayout(LayoutKind.Sequential)]
public class sigevent
{
    public sigval sigev_value;
    public int sigev_signo;
    public int sigev_notify;
    public IntPtr sigev_notify_function;// Pointer to: delegate void sigev_notify_function(sigval arg);
    public IntPtr sigev_notify_attributes;
}

[StructLayout(LayoutKind.Explicit)]
public struct sigval // Union
{
    [FieldOffset(0)]
    public int sival_int;
    [FieldOffset(0)]
    public IntPtr sigval_ptr;
}

[Flags]
public enum timer_flags
{
    TIMER_RELATIVETIME = 0,
    TIMER_ABSTIME  = 1
}

public enum clockid_t : long
{
    CLOCK_REALTIME = 0, // A settable system-wide real-time clock
    CLOCK_BOOTTIME = 7, // Monotonic clock that measure time while system is suspended
    CLOCK_REALTIME_ALARM = 8, // like CLOCK_REALTIME, but will wake the system if it is suspended. Same as `resume` option for Windows timer
    CLOCK_BOOTTIME_ALARM = 9 // like CLOCK_BOOTTIME, but will wake the system if it is suspended. Same as `resume` option for Windows timer
}

pragma warning restore CA1815

pragma warning restore CS8981

pragma warning restore CS0649

[DllImport("libc", SetLastError = true, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
public static extern int getresuid(ref int readUserId, ref int effectiveUserId, ref int setUsedId);

[DllImport("libc", SetLastError = true, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]
public static extern IntPtr getpwuid(int uid);

}