For the last few days, I have been having this issue where Rhino grows constantly in memory usage until it starts freezing and becomes unusable. As soon as I close the model, the problem apparently disappears, but then gradually grows again.
I tested a bunch of plugins and assume one of them must be the cause. What is troubling is the problem persists after I cleaned everything. I checked the package manager, cleared user appdata, programdata reinstalled Rhino and updated the Graphics driver. I canât seem to solve this one.
Other users with identical specs donât have this issue.
The issue happens with any template even an empty file and even if I start Rhino in safe mode.
Open for suggestions.
Well, you need to isolate which plugin is the cause, there is nothing anyone can do until then, there is magical generic fix to an apparent memory leak.
it seems that Rhino.BisplayBitmap has disposing issues.
ok, sure⌠I guess Iâm hoping to get advice, ideas, methods, tools on how to detect the cause of this issue. What if it isnât a plug in? Would certain plugins affect rhino in safe mode?
The only thing I can come up with at this stage is reimaging the damn PC, and Iâm really hoping to avoid that.
Post the results of the Rhino command _SystemInfo
, then we donât have to guess as to say what Rhino version you are using, or what plug-ins still may be loaded if any.
Rhino 7 SR28 2023-2-27 (Rhino 7, 7.28.23058.03001, Git hash:master @ 4ffc5d7156fbccf2a5d9fcc80e522b3851bc7f6c)
License type: Commercial, build 2023-02-27
License details: Cloud Zoo
Windows 10 (10.0.19044 SR0.0) or greater (Physical RAM: 32Gb)
Computer platform: LAPTOP - Plugged in [100% battery remaining]
Standard graphics configuration.
Primary display: DisplayLink USB Device (DisplayLink) Memory: 0MB, Driver date: 9-8-2020 (M-D-Y).
> External USB display device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0
Primary OpenGL: NVIDIA RTX A2000 Laptop GPU (NVidia) Memory: 4GB, Driver date: 3-16-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 531.41
> Integrated accelerated graphics device with 4 adapter port(s)
- Video pass-through to primary display device
Secondary graphics devices.
DisplayLink USB Device (DisplayLink) Memory: 0MB, Driver date: 9-8-2020 (M-D-Y).
> External USB display device with 0 adapter port(s)
- There are no monitors attached to this device. Laptop lid is probably closed
Citrix Indirect Display Adapter (Citrix Systems Inc.) Memory: 0MB, Driver date: 1-23-2019 (M-D-Y).
> External USB display device with 8 adapter port(s)
- There are no monitors attached to this device. Laptop lid is probably closed
DisplayLink USB Device (DisplayLink) Memory: 0MB, Driver date: 9-8-2020 (M-D-Y).
> External USB display device with 0 adapter port(s)
- There are no monitors attached to this device. Laptop lid is probably closed
Intel(R) UHD Graphics (Intel) Memory: 1GB, Driver date: 6-24-2021 (M-D-Y).
> Integrated graphics device with 4 adapter port(s)
- Secondary monitor is laptopâs integrated screen or built-in port
DisplayLink USB Device (DisplayLink) Memory: 0MB, Driver date: 9-8-2020 (M-D-Y).
> External USB display device with 0 adapter port(s)
- There are no monitors attached to this device. Laptop lid is probably closed
OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPUâs maximum)
Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High
Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 3-16-2023
Driver Version: 31.0.15.3141
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 4 GB
Rhino plugins that do not ship with Rhino
C:\Program Files\AVAIL\AVAIL Browser for Rhino\AVAIL.RhinoPlugin.Rhino7.rhp âAVAIL.RhinoPluginâ 4.6.0.0
Rhino plugins that ship with Rhino
C:\Program Files\Rhino 7\Plug-ins\Commands.rhp âCommandsâ 7.28.23058.3001
C:\Program Files\Rhino 7\Plug-ins\rdk.rhp âRenderer Development Kitâ
C:\Program Files\Rhino 7\Plug-ins\RhinoRenderCycles.rhp âRhino Renderâ 7.28.23058.3001
C:\Program Files\Rhino 7\Plug-ins\rdk_etoui.rhp âRDK_EtoUIâ 7.28.23058.3001
C:\Program Files\Rhino 7\Plug-ins\rdk_ui.rhp âRenderer Development Kit UIâ
C:\Program Files\Rhino 7\Plug-ins\NamedSnapshots.rhp âSnapshotsâ
C:\Program Files\Rhino 7\Plug-ins\RhinoCycles.rhp âRhinoCyclesâ 7.28.23058.3001
C:\Program Files\Rhino 7\Plug-ins\Toolbars\Toolbars.rhp âToolbarsâ 7.28.23058.3001
C:\Program Files\Rhino 7\Plug-ins\3dxrhino.rhp â3Dconnexion 3D Mouseâ
C:\Program Files\Rhino 7\Plug-ins\Displacement.rhp âDisplacementâ
Uninstalled Avail now, but issue persists
This is a caching issue, not a disposing issue. And we are looking into it.
â Dale
still no solutions
Hi Guido -
I donât think Iâve ever seen a system report like this.
Whatâs up with all the display links, and Citrix?
Are you using any peripherals? If so, how and where are they connected? What happens when you disconnect everything?
-wim
At this point we canât even tell if it actually is a âmemory leak.â How long does this take? Have you tried disabling the Avail plugin?
Thatâs au USB hub connecting to keyboard & 2nd screen. Sorry if itâs confusing.
Rhino 7 SR28 2023-2-27 (Rhino 7, 7.28.23058.03001, Git hash:master @ 4ffc5d7156fbccf2a5d9fcc80e522b3851bc7f6c)
License type: Commercial, build 2023-02-27
License details: Cloud ZooWindows 10 (10.0.19044 SR0.0) or greater (Physical RAM: 32Gb)
Computer platform: LAPTOP - Plugged in [100% battery remaining]
Hybrid graphics configuration.
Primary display: Intel(R) UHD Graphics (Intel) Memory: 1GB, Driver date: 10-26-2022 (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 A2000 Laptop GPU (NVidia) Memory: 4GB, Driver date: 3-16-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 531.41
> Integrated accelerated graphics device with 4 adapter port(s)
- Video pass-through to primary display deviceOpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPUâs maximum)Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: HighVendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 3-16-2023
Driver Version: 31.0.15.3141
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 4 GBRhino plugins that do not ship with Rhino
Rhino plugins that ship with Rhino
C:\Program Files\Rhino 7\Plug-ins\Commands.rhp âCommandsâ 7.28.23058.3001
C:\Program Files\Rhino 7\Plug-ins\rdk.rhp âRenderer Development Kitâ
C:\Program Files\Rhino 7\Plug-ins\RhinoRenderCycles.rhp âRhino Renderâ 7.28.23058.3001
C:\Program Files\Rhino 7\Plug-ins\rdk_etoui.rhp âRDK_EtoUIâ 7.28.23058.3001
C:\Program Files\Rhino 7\Plug-ins\rdk_ui.rhp âRenderer Development Kit UIâ
C:\Program Files\Rhino 7\Plug-ins\NamedSnapshots.rhp âSnapshotsâ
C:\Program Files\Rhino 7\Plug-ins\RhinoCycles.rhp âRhinoCyclesâ 7.28.23058.3001
C:\Program Files\Rhino 7\Plug-ins\Toolbars\Toolbars.rhp âToolbarsâ 7.28.23058.3001
C:\Program Files\Rhino 7\Plug-ins\3dxrhino.rhp â3Dconnexion 3D Mouseâ
C:\Program Files\Rhino 7\Plug-ins\Displacement.rhp âDisplacementâ
Actually, this morning the issue appears to have mysteriously vanished. Rhinoâs empty file Memory is happily stable at 450MB.
I spent a few hours with IT on Friday evening running Lenovoâs âsystem updateâ app that hadnât been installed; updating the BIOS amongst various drivers. It appeared at the time not to have fixed the problem after restarting. Maybe the weekend long power-cycle did it . Anyways, Thanks to all, and hopefully it is not coming back .
Yes, I had tried that.
Memory was increasing roughly @5MB*sec on an empty file until reaching critical size.
with multiple instances of Rhino open, RAM usage would increase more rapidly and often would cause crashes with no report requests.
Ok, I probably spoke too early.
The problem is back and I didnât really do anything except reopen an old file.
Apart from the possibility of a potential Rhino bug,
you could check what dlls are loaded during runtime. Process Explorer or other tools can do this. There is a possibility that you still load some 3rd party tool, either because some files where not removed or potentially there is a service running, injecting something into any active Rhino process it can detect.
You can further use tools like x64dbg to activily debug Rhino on its C++ part and DNSpy to debug Rhino on its .Net part.
Could you also exactly tell us, what you did before this occured? Which plugins did you try? If you are coding tools, are you using any sort of caching and event based mechanism?
In any case, within a companies network, it is extremly risky to download Rhino and GH plugin of untrusted origin. Its an big entry door for any malicious activity. I wouldnât trust all plugins, and you shouldnât do that either. Even if McNeel is scanning them on Food4Rhino, I doubt this is a sufficient security layer! But even if there is no problem with malware, some (hobby) developers might introduce bugs very hard to debug, preventing you from doing your actual work.
Thanks for your comprehensive response.
It wold have been very interesting to test, unfortunately It arrived a few hours after I formatted the laptop. All is working fine now.
I would hate to be wrong, but I believe the problem started after installing the âurbanoâ plug-in.
After removing, I did have a look if I could spot any running services connected, but nothing in the name or description caught my eye.
I might try using a VM if I test plugins in the future.
Hello, I also encounter this problem periodically. I have never used the âurbanoâ plugin, so I assume that maybe more than one plugin causes such issues. I also solve this problem by formatting my laptop.
Ok, formatting is probally the best and most secure solution here.
At least Urbano comes with an msi installer. So if you are not deinstalling it by using the msi installer, it could be part of the problem. Hard to tell. In any case, when using a debugger you can at least see which function is called again and again. This gives a good hint about whats causing this. What I usually do if Iâm interessted in some external libraries of uncertain origin, I do have a look at the sources, by either using the OpenSource repository (if something like this exist), or I do check the sources using a decompiler. Then Iâm explicitly looking for some webrequests, urls and other odd things. It also makes sense to explicity search for known security problems using a simple google search. Investing 30-60 minutes, might save you a lot of trouble later on. Setting up a VM for this is kind of an overkill, and basically you can also detect if you are on a VM or not, so it might give you a false sense of security. However anything helps.
Anyway⌠problem solved I guess.
I could be wrong about Urbano. Itâs a good tool and seems well-built. I would hate to smear over the hard work someone put into developing it.
What plugins have you installed? there may be some other one that we both installed.