This example code crashes OpenSCAD for me:
roof()
difference() {
square(20, center=true);
circle(d = 20);
}
Well, I have an idea why the code is problematic, but a crash is
certainly unexpected behaviour.
Regards,
frechefuchs
$ openscad-nightly --enable roof -o test-roof.png test-roof.scad
Segmentation fault (core dumped)
$ openscad-nightly --version
OpenSCAD version 2025.11.01.snap
$ lsb_release -ri
No LSB modules are available.
Distributor ID: Ubuntu
Release: 24.04
$ uname -rs
Linux 6.8.0-62-generic
If it helps, here's the crash report that MacOS gave me when I tried to run
it.
On Sat, Nov 22, 2025 at 7:06 AM frechefuchs via Discuss <
discuss@lists.openscad.org> wrote:
This example code crashes OpenSCAD for me:
roof()
difference() {
square(20, center=true);
circle(d = 20);
}
Well, I have an idea why the code is problematic, but a crash is
certainly unexpected behaviour.
Regards,
frechefuchs
$ openscad-nightly --enable roof -o test-roof.png test-roof.scad
Segmentation fault (core dumped)
$ openscad-nightly --version
OpenSCAD version 2025.11.01.snap
$ lsb_release -ri
No LSB modules are available.
Distributor ID: Ubuntu
Release: 24.04
$ uname -rs
Linux 6.8.0-62-generic
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
roof() has a number of known issues, including crashes.
If your issue fits any of the existing issues, feel free to add to that if you think it may help track it down:
https://github.com/openscad/openscad/issues?q=state%3Aopen%20label%3A%22Feature%3A%20Roof%22
..but most of all, roof() as an experimental feature needs a new owner since the original author dropped off at some point.
-Marius
On Nov 22, 2025, at 09:25, Leonard Martin Struttmann via Discuss discuss@lists.openscad.org wrote:
If it helps, here's the crash report that MacOS gave me when I tried to run it.
On Sat, Nov 22, 2025 at 7:06 AM frechefuchs via Discuss <discuss@lists.openscad.org mailto:discuss@lists.openscad.org> wrote:
This example code crashes OpenSCAD for me:
roof()
difference() {
square(20, center=true);
circle(d = 20);
}
Well, I have an idea why the code is problematic, but a crash is
certainly unexpected behaviour.
Regards,
frechefuchs
$ openscad-nightly --enable roof -o test-roof.png test-roof.scad
Segmentation fault (core dumped)
$ openscad-nightly --version
OpenSCAD version 2025.11.01.snap
$ lsb_release -ri
No LSB modules are available.
Distributor ID: Ubuntu
Release: 24.04
$ uname -rs
Linux 6.8.0-62-generic
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org mailto:discuss-leave@lists.openscad.org
<OpenSCADCrashReport.txt>_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
I have a fix for this which just merged. Also there's already a github issue on it.
On November 22, 2025 6:25:17 AM PST, Leonard Martin Struttmann via Discuss discuss@lists.openscad.org wrote:
If it helps, here's the crash report that MacOS gave me when I tried to run
it.
On Sat, Nov 22, 2025 at 7:06 AM frechefuchs via Discuss <
discuss@lists.openscad.org> wrote:
This example code crashes OpenSCAD for me:
roof()
difference() {
square(20, center=true);
circle(d = 20);
}
Well, I have an idea why the code is problematic, but a crash is
certainly unexpected behaviour.
Regards,
frechefuchs
$ openscad-nightly --enable roof -o test-roof.png test-roof.scad
Segmentation fault (core dumped)
$ openscad-nightly --version
OpenSCAD version 2025.11.01.snap
$ lsb_release -ri
No LSB modules are available.
Distributor ID: Ubuntu
Release: 24.04
$ uname -rs
Linux 6.8.0-62-generic
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Am 22.11.25 um 17:38 schrieb Cory Cross via Discuss:
I have a fix for this which just merged.
Thanks, looking forward to this!
Also there's already a github issue on it.
Actually, I did skim through the first page of open and closed github
issues, resp., before posting the issue, thinking roof() being a
relatively new feature. I did find the other bug reports in the mean
time and learnt that work on roof() started five year ago.
The reason I dropped a quick bug report is that I did some roof shape
related stuff manually, recently (in the context of chamfering of
course). My modules have roof related names, too. Now, re-thinking
this, in a CSG software, a primitive like "roof()" stands out. Since
the input of the current roof() implementation is a 2D shape, returning
a 3D shape, isn't the operation in fact another kind of extrusion? So
let me throw a new primitive name like bevel_extrude() into the ring.
Even if that opens just another round of bike-shedding ... At least
that name immediately suggests where to put the documentation.
Regards,
frechefuchs