# Segmentation fault using rhino3dm in blender on linux

**URL:** <https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986>\
**Category:** rhino3dm\
**Tags:** windows\
**Created:** [July 10, 2025, 8:27am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986 "2025-07-10T08:27:43Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bernd\_Möller](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bernd_m%C3%B6ller/32/479936_2.png) [@Bernd\_Möller](https://discourse.mcneel.com/u/Bernd_M%C3%B6ller)\
**Post date:** [July 10, 2025, 8:27am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/1 "2025-07-10T08:27:43Z")

</div>

hi there,

I got a segmentation fault using rhino3dm in blender on Ubuntu 24.04 . Tested with blender 4.2 and 4.5  
There is already an issue for import\_3dm: [Segfault when loading model · Issue #140 · jesterKing/import\_3dm](https://github.com/jesterKing/import_3dm/issues/140)

Just using rhino3dm in blender to load a file has the same result. Using it in python on linux seems to work fine.

Test file and script:  
[mesh\_plane.3dm](https://discourse.mcneel.com/uploads/short-url/1FBVoNoqLSqjyKHYKIhswsuAR2O.3dm) (19.7 KB)

```auto
import rhino3dm
# adjust file path accordingly
f = rhino3dm.File3dm.Read("mesh_plane.3dm")

```

I came across this while writing test cases for import\_3dm.

@nathanletwory @fraguada Hope you are the right people to ping. Would be great if one of you could take a look at this.

Thanks!

---

<div class="post-metadata">

**Author:** ![StudioWEngineers](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/studiowengineers/32/686117_2.png) [@StudioWEngineers](https://discourse.mcneel.com/u/StudioWEngineers)\
**Post date:** [July 10, 2025, 8:48am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/2 "2025-07-10T08:48:42Z")

</div>

this works for me, with the only modification of full path:

```auto
import rhino3dm

# adjust file path accordingly

f = rhino3dm.File3dm.Read("C:/Users/xxx/Desktop/_temp/mesh_plane.3dm")

```

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/e/a/5/ea5a721bc87595e50ff255c0fa7f965b0184bff1.png)

on Windows 11, Python 3.13.1, rhino3dm 8.17.0

---

<div class="post-metadata">

**Author:** ![Bernd\_Möller](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bernd_m%C3%B6ller/32/479936_2.png) [@Bernd\_Möller](https://discourse.mcneel.com/u/Bernd_M%C3%B6ller)\
**Post date:** [July 10, 2025, 9:38am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/3 "2025-07-10T09:38:13Z")

</div>

Thanks for looking into this.  
It works fine for me on Windows, Mac, blender on win and mac as well as python on linux, just not within blender on linux.

rhino3dm in blender on linux is what we use for automated testing in our pipeline.

---

<div class="post-metadata">

**Author:** ![fraguada](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/fraguada/32/758439_2.png) [@fraguada](https://discourse.mcneel.com/u/fraguada)\
**Post date:** [July 15, 2025, 9:47am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/4 "2025-07-15T09:47:13Z")

</div>

@nathan is taking a well deserved break. I’ve made a note to discuss this with him when he gets back.

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [July 21, 2025, 6:21am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/5 "2025-07-21T06:21:22Z")

</div>

Judging on the issue reported on `import_3dm` it looks like symbols are getting mixed up. There is no reason why reading a mesh tries to use `openvdb`, as far as I know we don’t have `openvdb` support in `rhino3dm`. @fraguada do you know if that could be somehow sidestepped?

---

<div class="post-metadata">

**Author:** ![Bernd\_Möller](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bernd_m%C3%B6ller/32/479936_2.png) [@Bernd\_Möller](https://discourse.mcneel.com/u/Bernd_M%C3%B6ller)\
**Post date:** [July 30, 2025, 7:48am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/6 "2025-07-30T07:48:06Z")

</div>

Checking in, have you had time to look into this yet? Any idea if/how this can be fixed?

---

<div class="post-metadata">

**Author:** ![Bernd\_Möller](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bernd_m%C3%B6ller/32/479936_2.png) [@Bernd\_Möller](https://discourse.mcneel.com/u/Bernd_M%C3%B6ller)\
**Post date:** [January 12, 2026, 10:28am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/7 "2026-01-12T10:28:01Z")

</div>

Just checked and confirmed this is still happening. I used blender 5.0.1 and latest rhino3dm available through pip (8.17.0).  
Would be great to get some insights and ideally, of course, get it fixed.

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [January 13, 2026, 7:32am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/8 "2026-01-13T07:32:11Z")

</div>

I have no new information, I was hoping @fraguada would have more info on why this usage of openvdb would happen.

---

<div class="post-metadata">

**Author:** ![fraguada](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/fraguada/32/758439_2.png) [@fraguada](https://discourse.mcneel.com/u/fraguada)\
**Post date:** [January 19, 2026, 4:01pm UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/10 "2026-01-19T16:01:58Z")

</div>

We do not use openvdb in rhino3dm

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [January 20, 2026, 2:15am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/11 "2026-01-20T02:15:50Z")

</div>

There still is something going on with how rhino3dm code is compiled and linked that on Linux in Blender the OS maps it to openvdb.

---

<div class="post-metadata">

**Author:** ![fraguada](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/fraguada/32/758439_2.png) [@fraguada](https://discourse.mcneel.com/u/fraguada)\
**Post date:** [February 27, 2026, 9:39am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/12 "2026-02-27T09:39:22Z")

</div>

@nathan We think that perhaps hiding the zlib methods in rhino3dm might help to solve this issue and would not require redefining zlib method names. What do you think. Here is the PR made by @stevebaer [attempt to make zlib functions hidden by sbaer · Pull Request #714 · mcneel/rhino3dm · GitHub](https://github.com/mcneel/rhino3dm/pull/714)

---

<div class="post-metadata">

**Author:** ![wim](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/wim/32/747482_2.png) [@wim](https://discourse.mcneel.com/u/wim)\
**Post date:** [February 27, 2026, 10:37am UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/13 "2026-02-27T10:37:05Z")

</div>

> [@fraguada](#):
>
> @nathan

CC: @jesterking

---

<div class="post-metadata">

**Author:** ![jesterking](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/jesterking/32/764709_2.png) [@jesterking](https://discourse.mcneel.com/u/jesterking)\
**Post date:** [February 27, 2026, 2:40pm UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/14 "2026-02-27T14:40:07Z")

</div>

@fraguada I pulled the latest dev, removed `build` and had a clean build `python setup.py bdist_wheel`. This new build still crashes in Blender with the same stacktrace.

Looks like I’ll keep building `rhino3dm` manually with the renamed symbols for now.

Latest `import_3dm` v0.0.18 ( [Release v0.0.18 · jesterKing/import\_3dm · GitHub](https://github.com/jesterKing/import_3dm/releases/tag/0.0.18) ) uses the manually built `rhino3dm` and works great.

---

<div class="post-metadata">

**Author:** ![fraguada](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/fraguada/32/758439_2.png) [@fraguada](https://discourse.mcneel.com/u/fraguada)\
**Post date:** [February 27, 2026, 4:37pm UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/15 "2026-02-27T16:37:24Z")

</div>

@jesterking  
Ok. I tried a few other things to suppress exporting symbols and I see a big difference between the branch you just tried vs the dev branch with the changes I just merged. I hope that does the trick.

---

<div class="post-metadata">

**Author:** ![jesterking](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/jesterking/32/764709_2.png) [@jesterking](https://discourse.mcneel.com/u/jesterking)\
**Post date:** [February 27, 2026, 4:47pm UTC](https://discourse.mcneel.com/t/segmentation-fault-using-rhino3dm-in-blender-on-linux/206986/16 "2026-02-27T16:47:25Z")

</div>

@fraguada the newest patch you made appears do have done the trick!
