Rhino 7 for Mac apparent memory leak (multiple machines, intel & M1)

This might be redundant, but the last report appears to be 2021.

I consistently see Rhino 7 (7.31.23166.15002 currently running) continue to accumulate memory approximately linearly increasing even with no documents or windows open. This occurs regardless of command, display setting, foreground, or backgrounding of the application.

Steps to reproduce: launch Rhino 7. Open a new file. Close file, saving or not saving doesn’t appear to matter. Leave application running. Come back in a few hours, and the memory usage (as reported in Activity Monitor) is climbing into the GB. Leave for a day or so and it’s in the 10-50 GB range. Usually I notice this because when I go to open and work on a file, the spinning beachball appears. This is my cue to check activity monitor for a hilariously high number, quit and restart Rhino, and I’m back to normal.

What I would expect and wish to happen is the memory would be cleared, garbage collected, or otherwise purged when I close my last open file. Also I would wish that the spinning beachball never appears.

I will attache a blank document if that seems useful, but it is not model dependent for me.

Screenshot of activity monitor attached.

About Rhino > More Info result below.

Any suggestions appreciated! And thanks for all of your dedicated behind-the-scenes work! I’m very grateful.

Rhino 7 SR31 2023-6-15 (Rhino 7, 7.31.23166.15002, Git hash:master @ 850d276b2d59d7e51843939e4cf674b356bcd354)
License type: Commercial, build 2023-06-15
License details: Cloud Zoo

Apple macOS Version 13.4 (Build 22F66) (Physical RAM: 16Gb)
Rhino is running in Rosetta2 on Apple Silicon
Mac Model Identifier: MacBookPro18,1
Language: en-US (MacOS default)

Apple M1 Pro (OpenGL ver:4.1 Metal - 83.1)

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On

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

Vendor Name: Apple
Render version: 4.1
Shading Language: 4.10
Maximum Texture size: 16384 x 16384
Z-Buffer depth: n/a
Maximum Viewport size: 16384 x 16384
Total Video Memory: 10922 MB
Graphics: Apple M1 Pro
Displays: Unknown (255dpi 2x)

Graphics processors
Apple M1 Pro
Color LCD (1728 x 1117 @ 120.00Hz)

USB devices
Apple Inc.: iPhone

Bluetooth devices
None

Third party kernel extensions
None

Third party plugins
/usr/lib/swift/libswiftCore.dylib
/usr/lib/swift/libswiftCoreFoundation.dylib
/usr/lib/swift/libswiftDarwin.dylib
/usr/lib/swift/libswiftDispatch.dylib
/usr/lib/swift/libswiftIOKit.dylib
/usr/lib/swift/libswiftObjectiveC.dylib
/usr/lib/swift/libswiftXPC.dylib
/usr/lib/swift/libswift_Concurrency.dylib
/usr/lib/swift/libswift_StringProcessing.dylib
/usr/lib/swift/libswiftos.dylib
/usr/lib/swift/libswift_RegexParser.dylib
/usr/lib/swift/libswiftMetal.dylib
/usr/lib/swift/libswiftsimd.dylib
/usr/lib/swift/libswiftCryptoTokenKit.dylib
/usr/lib/swift/libswiftOSLog.dylib
/usr/lib/swift/libswiftAVFoundation.dylib
/usr/lib/swift/libswiftCoreAudio.dylib
/usr/lib/swift/libswiftCoreLocation.dylib
/usr/lib/swift/libswiftCoreMIDI.dylib
/usr/lib/swift/libswiftCoreMedia.dylib
/usr/lib/swift/libswiftQuartzCore.dylib
/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
/usr/lib/swift/libswiftNetwork.dylib
/usr/lib/swift/libswiftCoreGraphics.dylib
/usr/lib/swift/libswiftCompression.dylib
/usr/lib/swift/libswiftFileProvider.dylib
/usr/lib/swift/libswiftIntents.dylib
/usr/lib/swift/libswiftPrivate_BiomePubSub.dylib
/usr/lib/swift/libswiftPrivate_BiomeStreams.dylib
/usr/lib/usd/libIex.dylib
/usr/lib/usd/libHalf.dylib
/usr/lib/usd/libAlembic.dylib
/usr/lib/usd/libusd_ms.dylib
/usr/lib/usd/libosdCPU.dylib
/usr/lib/usd/libImath.dylib
/usr/lib/usd/libIlmThread.dylib
/usr/lib/usd/libIexMath.dylib
/usr/lib/usd/libtbb.dylib
/usr/lib/usd/libMaterialXCore.dylib
/usr/lib/usd/libMaterialXFormat.dylib
/usr/lib/swift/libswiftAccelerate.dylib
/usr/lib/swift/libswiftAppKit.dylib
/usr/lib/swift/libswiftCoreImage.dylib
/usr/lib/swift/libswiftExtensionFoundation.dylib
/usr/lib/swift/libswiftCoreML.dylib
/usr/lib/swift/libswiftVision.dylib
/usr/lib/swift/libswiftDemangle.dylib
/usr/lib/swift/libswiftSystem.dylib
/usr/lib/swift/libswiftExtensionKit.dylib
/usr/lib/swift/libswiftRegexBuilder.dylib
/usr/lib/swift/libswiftWebKit.dylib
/usr/lib/swift/libswiftGLKit.dylib
/usr/lib/swift/libswiftMapKit.dylib
/usr/lib/swift/libswiftModelIO.dylib
/usr/lib/swift/libswiftSceneKit.dylib
/usr/lib/log/liblog_network.dylib

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCycles.rhp “RhinoCycles” 7.31.23166.15002
/Applications/Rhino 7.app/Contents/PlugIns/export_STL.rhp “STL Export” 7.31.23166.1002
/Applications/Rhino 7.app/Contents/PlugIns/NamedSnapshots.rhp “Snapshots” 7.31.23166.1002
/Applications/Rhino 7.app/Contents/PlugIns/RhinoBonusTools.rhp “Rhino Bonus Tools” 7.31.23166.1002
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/GrasshopperPlugin.rhp “Grasshopper” 7.31.23166.15002
/Applications/Rhino 7.app/Contents/PlugIns/PanelingTools.rhp “PanelingTools” 7.31.23166.1002
/Applications/Rhino 7.app/Contents/PlugIns/AnimationTools.rhp “AnimationTools” 7.31.23166.1002
/Applications/Rhino 7.app/Contents/PlugIns/import_STL.rhp “STL Import” 7.31.23166.1002
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/Commands.rhp “Commands” 7.31.23166.15002
/Applications/Rhino 7.app/Contents/PlugIns/SolidTools.rhp “SolidTools” 7.31.23166.1002
/Applications/Rhino 7.app/Contents/Frameworks/RhMaterialEditor.framework “Renderer Development Kit” 7.31.23166.1002
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RDK_EtoUI.rhp “RDK_EtoUI” 7.31.23166.15002
/Applications/Rhino 7.app/Contents/PlugIns/Displacement.rhp “Displacement” 7.31.23166.1002
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRenderCycles.rhp “Rhino Render” 7.31.23166.15002
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoDLR_Python.rhp “IronPython” 7.31.23166.15002
/Applications/Rhino 7.app/Contents/PlugIns/RhinoRender.rhp “Legacy Rhino Render” 7.31.23166.1002

1 Like

Hi -

I’m afraid I’m not seeing this happen on my end. I’ve left it in the state that you described for over 5 hours now. Overall memory usage started at 6.39 GB and is now at 6.40 GB. Rhino 7’s memory use started at 580.8 MB and is now at 488.7 MB.
-wim

Thank you for trying to reproduce. I am also having trouble repeating what I described, although it’s been extremely consistent in the past. I think I am missing a critical step. Will try to figure out what specifically I am doing to trigger it.

1 Like

Chiming in as I seem to have the same issue. When I have Rhino run for a longer while (several hours) the computer becomes slow and in the system monitor I can see Rhino take a huge amount of memory; order of magnitude 20+GB.

I run an m1 MacBook Pro with 32GB memory.
My rhino version is: Version 7 (7.32.23221.10242, 2023-08-09)

This happens consistently, and can be solved by closing all files and quitting and restarting Rhino. It also happened in previous Rhino builds, so it’s not specific to the current version.

I am running on Rhino 7.37 for Mac and I am having the same issue. Suddenly, while I am using the application, my file becomes 23gb and my computer runs out of memory. Any suggestions?

Same issue here, running on the Apple M1 chip, eats up a huge amount of memory when left idle.