Grasshopper has become unstable over the past couple weeks

This may just be a me issue, most likely is, but as of the last couple weeks I’m having great difficulty opening and operating any files with over a thousand components. Grasshopper/Rhino just closes with no errors. Smaller scripts seem to run fine.

Ironically it’s not during any sort of intense computation, but during navigating the canvas or connecting components, even if they connect to nothing downstream.

I’ve begun the usual troubleshooting, stripping Rhino back to vanilla but still no improvement. No new hardware or driver changes I can spot.

Any ideas? I was about to uninstall Rhino, try to find an older R8 version.

Hi Weston -

That part is easily checked. Just post or upload the .gh file.
-wim

Thank you. Still TBD on the issue.

I don’t believe it’s the files, I ran them on this laptop in the past and tested on other work computers. Trying to rule out a hardware issue, like ram, since it only affects large definitions.

I did get an ATTEMPTED_EXECUTE_NONEXECUTE_MEMORY full computer crash a couple times as well, when Grasshopper doesn’t crash fast enough, which maybe does lean toward a hardware issue but I’m only seeing Rhino behave irregularly. Have to run a long diagnostic tonight. I’ll report back in case helpful for anyone in the future.

Not hardware related it seems. I’ve been collecting the Event Viewer logs and feeding them to AI, have about a hundred logged now. It’s consensus is..

“Rhino 8 is crashing with a System.AccessViolationException while Grasshopper redraws the canvas, specifically when drawing connection wires (System.Drawing.GdipDrawPath → GH_Painter.DrawConnection) during mouse move or mouse wheel events.

Faulting module: coreclr.dll”

Again, this is only on dense definitions often containing a lot of python scripts, though I don’t know if that is related. The definitions run fine on other computers.

If anyone has any advice great, otherwise I’ll keep updating for posterity until I find the issue. I did a plugin wipe, Rhino reinstall, and turned down any settings affecting canvas drawing. The situation has improved but is still present. I just save like once a minute while working.

Sorry for the AI dump. I’ve been trying a lot so it’s been helpful to keep the updates in a single chat and ask for a summary. I’ve exhausted just about all I (or it) can come up with.

This is hitting all of my moderate to large definitions. I’m aware of the canvas issues with spreading out from the origin, I’ve dealt with that in the past but suffered performance issues and occasional crashes not crashes within 30 seconds of opening and navigating a file.

Just to recap, I can’t navigate the canvas, scroll, zoom, or click on any components without tempting a crash. It’s not just one dentition but any I open with a lot of components/wires.

  • The issue still occurs after:

    • running Rhino in Safe Mode

    • resetting Rhino with /reset

    • renaming the Grasshopper roaming folder

    • rolling Rhino between 8.27 and 8.28

  • The same file works on another computer.

  • The crash is still happening during Grasshopper canvas interaction/redraw, not during a solve.

Recurring call path in the crash reports:

  • System.Drawing.GdipDrawPath

  • Grasshopper.GUI.Canvas.GH_Painter.DrawConnection

  • RenderIncomingWires

The named Grasshopper object in the stack varies by crash:

  • GH_RelayAttributes.Render

  • RhinoCodePluginGH.Components.BaseScriptComponent...Render

  • IOComponents.ZuiComponent+ZuiAttributes.Render

  • GH_FloatingParamAttributes.Render

  • generic GH_ComponentAttributes.Render

The interaction type also varies:

  • mouse move

  • mouse wheel

  • mouse up

  • drag

  • window select

  • Find Object search redraw

Additional facts:

  • GDI object count for Rhino.exe was around 4100 at the time of testing, with no obvious spike before crashing.

  • System RAM was not exhausted.

  • At one point the faulting module was coreclr.dll under .NET 8.0.14.

  • After later testing, crashes also occurred under .NET 8.0.25.

  • The latest crash report faults directly in gdiplus.dll instead of coreclr.dll.

Latest crash details:

  • Rhino version: 8.28.26041.11001

  • Faulting module: gdiplus.dll

  • Module version: 10.0.26100.8036

  • Exception code: 0xc000041d

A representative recent .NET Runtime stack still shows:

  • System.Drawing.GdipDrawPath

  • GH_Painter.DrawConnection

  • RenderIncomingWires

  • during GH_DragInteraction.RespondToMouseMove

Those load errors are separate from the recurring Grasshopper canvas crash logs above.

Hi Weston,

Couple things to try here.

In large grasshopper definitions, turning off the autosave can alleviate slow canvas actions.

The net might be due to a 3rd party plugin. To troubleshoot either temporarily remove your grasshopper plug-ins or use the grasshopperLoadOneByOneCommand and say no to 3rd party gh plugins.

Thank you,

I have had that disabled for a long time, and I have cleared out all third party plugins.

The bug doesn’t have anything to with computation or saving, I can replicate it just but zooming in and out of a single random spot on the canvas repeatedly. Instant crash, no message. I have to go into the Event Viewer to find the log.

Please run the systeminfo command in Rhino and post the result.

Can you post or send us the file and any further steps to repeat? Thanks

Here is an example, I opened a Grasshopper file, zoomed in and out of the canvas four times and crashed. The file I opened was just a generic tutorial script I opened to test with. This happens with just about any file I open that is sufficiently dense.

I don’t remember installing anything new, it’s hard to say when this started, some time in the past week or two. I was working on a new project (small file) and didn’t notice until I started opening past projects to grab portions from. My latest, smaller definition has no navigation issues.

Log Name: Application
Source: .NET Runtime
Date: 3/13/2026 7:17:40 PM
Event ID: 1026
Task Category: None
Level: Error
Keywords: Classic
Description:
Application: Rhino.exe
CoreCLR Version: 8.0.2526.11203
.NET Version: 8.0.25
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Stack:
at System.Drawing.SafeNativeMethods+Gdip.g____PInvoke|431_0(IntPtr, IntPtr, IntPtr)
at System.Drawing.SafeNativeMethods+Gdip.g____PInvoke|431_0(IntPtr, IntPtr, IntPtr)
at System.Drawing.SafeNativeMethods+Gdip.GdipDrawPath(System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef)
at System.Drawing.Graphics.DrawPath(System.Drawing.Pen, System.Drawing.Drawing2D.GraphicsPath)
at Grasshopper.GUI.Canvas.GH_Painter.DrawConnection(System.Drawing.PointF, System.Drawing.PointF, Grasshopper.GUI.Canvas.GH_WireDirection, Grasshopper.GUI.Canvas.GH_WireDirection, Boolean, Boolean, Grasshopper.GUI.Canvas.GH_WireType)
at Grasshopper.Kernel.GH_Attributes1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].RenderIncomingWires(Grasshopper.GUI.Canvas.GH_Painter, System.Collections.Generic.IEnumerable1<Grasshopper.Kernel.IGH_Param>, Grasshopper.Kernel.GH_ParamWireDisplay)
at Grasshopper.Kernel.Attributes.GH_ComponentAttributes.Render(Grasshopper.GUI.Canvas.GH_Canvas, System.Drawing.Graphics, Grasshopper.GUI.Canvas.GH_CanvasChannel)
at Grasshopper.GUI.Canvas.GH_Painter.DrawMiddleGround(Grasshopper.Kernel.GH_Document, Grasshopper.GUI.Canvas.GH_CanvasChannel)
at Grasshopper.GUI.Canvas.GH_Canvas.Regen_DrawMiddleGround()
at Grasshopper.GUI.Canvas.GH_Canvas.OnPaint(System.Windows.Forms.PaintEventArgs)
at System.Windows.Forms.Control.PaintWithErrorHandling(System.Windows.Forms.PaintEventArgs, Int16)
at System.Windows.Forms.Control.WmPaint(System.Windows.Forms.Message ByRef)
at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
at System.Windows.Forms.NativeWindow.Callback(Windows.Win32.Foundation.HWND, Windows.Win32.MessageId, Windows.Win32.Foundation.WPARAM, Windows.Win32.Foundation.LPARAM)
at Windows.Win32.PInvoke.UpdateWindow(Windows.Win32.Foundation.HWND)
at Grasshopper.GUI.Canvas.GH_Canvas.Canvas_MouseWheel(System.Object, System.Windows.Forms.MouseEventArgs)
at System.Windows.Forms.Control.WmMouseWheel(System.Windows.Forms.Message ByRef)
at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
at System.Windows.Forms.NativeWindow.Callback(Windows.Win32.Foundation.HWND, Windows.Win32.MessageId, Windows.Win32.Foundation.WPARAM, Windows.Win32.Foundation.LPARAM)

Event Xml:

1026
0
2
0
0
0x80000000000000

144822

Application

Application: Rhino.exe
CoreCLR Version: 8.0.2526.11203
.NET Version: 8.0.25
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Stack:
at System.Drawing.SafeNativeMethods+Gdip.g____PInvoke|431_0(IntPtr, IntPtr, IntPtr)
at System.Drawing.SafeNativeMethods+Gdip.g____PInvoke|431_0(IntPtr, IntPtr, IntPtr)
at System.Drawing.SafeNativeMethods+Gdip.GdipDrawPath(System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef)
at System.Drawing.Graphics.DrawPath(System.Drawing.Pen, System.Drawing.Drawing2D.GraphicsPath)
at Grasshopper.GUI.Canvas.GH_Painter.DrawConnection(System.Drawing.PointF, System.Drawing.PointF, Grasshopper.GUI.Canvas.GH_WireDirection, Grasshopper.GUI.Canvas.GH_WireDirection, Boolean, Boolean, Grasshopper.GUI.Canvas.GH_WireType)
at Grasshopper.Kernel.GH_Attributes1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].RenderIncomingWires(Grasshopper.GUI.Canvas.GH_Painter, System.Collections.Generic.IEnumerable1<Grasshopper.Kernel.IGH_Param>, Grasshopper.Kernel.GH_ParamWireDisplay)
at Grasshopper.Kernel.Attributes.GH_ComponentAttributes.Render(Grasshopper.GUI.Canvas.GH_Canvas, System.Drawing.Graphics, Grasshopper.GUI.Canvas.GH_CanvasChannel)
at Grasshopper.GUI.Canvas.GH_Painter.DrawMiddleGround(Grasshopper.Kernel.GH_Document, Grasshopper.GUI.Canvas.GH_CanvasChannel)
at Grasshopper.GUI.Canvas.GH_Canvas.Regen_DrawMiddleGround()
at Grasshopper.GUI.Canvas.GH_Canvas.OnPaint(System.Windows.Forms.PaintEventArgs)
at System.Windows.Forms.Control.PaintWithErrorHandling(System.Windows.Forms.PaintEventArgs, Int16)
at System.Windows.Forms.Control.WmPaint(System.Windows.Forms.Message ByRef)
at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
at System.Windows.Forms.NativeWindow.Callback(Windows.Win32.Foundation.HWND, Windows.Win32.MessageId, Windows.Win32.Foundation.WPARAM, Windows.Win32.Foundation.LPARAM)
at Windows.Win32.PInvoke.UpdateWindow(Windows.Win32.Foundation.HWND)
at Grasshopper.GUI.Canvas.GH_Canvas.Canvas_MouseWheel(System.Object, System.Windows.Forms.MouseEventArgs)
at System.Windows.Forms.Control.WmMouseWheel(System.Windows.Forms.Message ByRef)
at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
at System.Windows.Forms.NativeWindow.Callback(Windows.Win32.Foundation.HWND, Windows.Win32.MessageId, Windows.Win32.Foundation.WPARAM, Windows.Win32.Foundation.LPARAM)

We haven’t seen anything similar, which is why i’m thinking some sort of corruption of the runtime (window updates?) or a plug-in interference .

Rhino 8 SR28 2026-2-10 (Rhino 8, 8.28.26041.11001, Git hash:master @ b7874a05a6982d0419fcc4f6009b510b48a09cb3)
License type: Commercial, build 2026-02-10
License details: Cloud Zoo

Windows 11 (10.0.26200 SR0.0) or greater (Physical RAM: 128GB)
.NET 8.0.25

Computer platform: LAPTOP - Plugged in [96% battery remaining]

Hybrid graphics configuration.
Primary display: Intel(R) UHD Graphics (Intel) Memory: 2GB, Driver date: 12-1-2025 (M-D-Y).

Integrated graphics device with 4 adapter port(s)

  • Windows Main Display is laptop’s integrated screen or built-in port
    Primary OpenGL: NVIDIA RTX 4000 Ada Generation Laptop GPU (NVidia) Memory: 12GB, Driver date: 2-27-2026 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 595.71

Integrated accelerated graphics device with 4 adapter port(s)

  • Video pass-through to primary display device

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 3.3

Anti-alias mode: None
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 2-27-2026
Driver Version: 32.0.15.9571
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 12282 MB

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\Commands.rhp “Commands” 8.28.26041.11001
C:\Program Files\Rhino 8\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.28.26041.11001
C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.28.26041.11001
C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp “MeshCommands” 8.28.26041.11001
C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.28.26041.11001
C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.28.26041.11001
C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp “SectionTools”

Is this the only graphics card you have? can you turn it up to the max OpenGL?

Adjusted OpenGL back, was flipping switches like a monkey out of frustration for a while.

As to the graphics card, ChatGPT flagged that as well, that my laptop is some kind of hybrid graphics situation, news to me. It asked me to confirm Rhino is already forced to use the RTX 4000, which it is, not the UHD.

I misread that, you do have a 2nd card. Did raising the openGL help?

No change, and not really.

Just one card, the RTX Ada 4000 but the Intel UHD drives the laptop screen and Windows UI. I’ve been using this setup for over two years without that being a issue until now, so I’m unsure if it’s related or not. I have Rhino.exe set to use the Ada

As a general update, I found some respite by switching SetDotNetRuntime to NETFramework instead of NETCore. That way Rhino doesn’t canvas crash as often, and doesn’t just vanish, it triggers the Report window. This way at least I can use Grasshopper for work but it’s not quite ideal as that affects some script compatibilities.

I’m just hiding from the problem temporarily. I still need to solve it.

Here is an update, when in Framework mode I send off as many crash reports as possible, but I have to switch back to Core often for work. Those crashes are instant and without feedback. I feed back Window Event Log crash data into ChatGPT regardless.

Update:

Still experiencing frequent Rhino 8 / Grasshopper crashes during canvas interaction (pan/zoom/select), not during solves.

Consistent crash signatures:

  • gdiplus.dll
  • System.Drawing.GdipDrawPath / GdipFillPath
  • GH_Painter.DrawConnection / RenderIncomingWires / relay rendering
  • Occasionally surfaces as coreclr.dll, but stack always points to GDI canvas rendering

What I’ve tested so far:

Rhino / Grasshopper:

  • Rhino 8.28 → 8.29 (no change)
  • SetDotNetRuntime NETFramework vs NETCore (NETFramework more stable but not fixed)
  • Disabled Fancy Wires (no change)
  • Disabled GPU Tessellation (no change)
  • Disabled “Redraw scene when viewports are exposed” (no change)
  • DPI override (Application + System) (no change)

Environment:

  • Tested in a brand new Windows user profile (same behavior)
  • Hardware acceleration OFF (more stable)
  • MPO (Multi-Plane Overlay) disabled via registry (no change)
  • Uninstalled latest Windows update (no change)

Notable behavior:

  • Changing Windows laptop display scaling (e.g. 200% → 250% → back to 200%) temporarily improves stability…. maybe? Could be my imagination.
  • Suggests issue is tied to Windows display/compositor state rather than GH definition or plugins

Current ChatGPT hypothesis:

  • Windows GDI / DPI / compositor instability interacting with Grasshopper canvas redraw on hybrid GPU laptop (Intel display + NVIDIA OpenGL)

Without resorting to begging (yet) I could really use a hand here, I work in Grasshopper 8-12 hours a day and this amounts to 50+ crashes a day across every definition I need to access. This was a top of the line laptop and I’m still paying it off.

Additional crash stack observed today — GdipFillPath → GH_GroupAttributes.RenderGroupShape → GH_Painter.DrawMiddleGround, triggered by mouse move during pan. Same coreclr.dll fault offset (0x00000000001d4536) as previous crashes.

Crash paths logged to date:

  • GdipDrawPath → DrawConnection → RenderIncomingWires (wires/relays)
  • GdipFillPath → GH_GroupAttributes.RenderGroupShape (groups)
  • ntdll.dll 0xc0000409 stack buffer overrun

All triggered by mouse move, pan, or scroll during canvas repaint.

Preceding crashes, Rhino displays a canvas drawing error sometimes, like this:

  • Message: “Object is currently in use elsewhere.”
  • Source: System.Drawing.Common
  • The named object varies by crash (observed on Tree Branch, Explode Tree, and others)

Completed since last update:

  • DISM + SFC: no integrity violations found
  • All third party GH plugins removed, again.
  • Tested at 100% DPI
  • Tested in discrete GPU only mode (BIOS) which removes the Intel hybrid situation.
  • Tested in new Windows user profile

Additional steps completed, no change to crash behavior:

  • Windows repair install
  • DISM + SFC (no violations found)
  • Lenovo hardware diagnostics (memory passed)
  • All third party plugins removed and re-tested multiple times
  • Tested at 100% DPI, discrete GPU only, new Windows user profile

Crash paths now observed:

  • GdipDrawPath → DrawConnection → RenderIncomingWires
  • GdipDrawPath → GH_Capsule.Render → RenderComponentCapsule
  • GdipFillPath → GH_GroupAttributes.RenderGroupShape
  • ntdll.dll 0xc0000409
  • IronPython runtime init (Dictionary.Resize → PythonBinder.SlotCache.CacheSlot)

All coreclr.dll crashes share fault offset: 0x00000000001d4536

Precursor error seen consistently before hard crashes:

Error during canvas drawing (10)
Message → Object is currently in use elsewhere.
Source → System.Drawing.Common
Object name varies (Tree Branch, Explode Tree, Amplitude, Project)

Is this related?

All crashes triggered by mouse move, pan, scroll, or repaint. Not solve-related.

Happy to provide full event logs.

@Japhy @wim Sorry to tag but I’m out of things to try on my end besides a reformat or new computer. I’m just farming crash logs. Is no one else still not experiencing an issue like this?

Hey Weston,

This is very unusual and atypical, especially if you are running vanilla Rhino in a supported environment.

Searching open and closed youtracks aren’t showing anything similar unfortunately.

I do see your crash reports (March 4th was the last)

Thanks for the reply Japhy, the report windows stopped when I switched back to NETCore. I’ll switch back in case anything changed in the report.

I haven’t been able to recreate it on another computer unfortunately. For a while AI thought it was definitely the Lenovo P16 hybrid GPU situation, maybe still is but I’ve disabled the Intel graphics wherever I can.