Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
G
GLib
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 936
    • Issues 936
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 59
    • Merge Requests 59
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GNOME
  • GLib
  • Issues
  • #2025

Closed
Open
Opened Feb 06, 2020 by Nirbheek Chauhan@nirbheek👉Developer

W32 exception handling misbehaves when C# exceptions are thrown when running inside the Visual Studio debugger

This is a regression from !582 (merged) (bisected down to it), and only happens when running under Visual Studio with the debugger attached.

If a C++ exception inside a C++ application is thrown, everything works fine. However, if a C# exception is thrown inside a C# application, some sort of infinite loop/recursive call happens causing high CPU usage and the application becomes unresponsive. This happens even if the exception is thrown inside a try .. catch block and discarded:

using GLib;

static void Main()
{
    GLib.GType.Init();

    try
    {
        object o = null;
        o.ToString();
    }
    catch (Exception)
    {
        // Ignore exception
        //throw;
    }
}

Happens in both managed code debugging mode and native code debugging mode.

CC: @lrn

Edited Feb 07, 2020 by Nirbheek Chauhan
Assignee
Assign to
2.62.6
Milestone
2.62.6 (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: GNOME/glib#2025