Crash

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Crash

Evan Daniel
Latest git sources:

terminate called after throwing an instance of 'CGAL::Assertion_exception'
  what():  CGAL ERROR: assertion violation!
Expr: check_protocoll == 0
File: /usr/include/CGAL/Polyhedron_incremental_builder_3.h
Line: 198

Unfortunately I don't have the exact source that caused this; I hadn't
saved since the most recent changes. I'm about to go try to recreate
the model in question.

Is this a winding error thing? I think I got the winding order correct
on my custom polyhedra (source snippet follows), and it was rendering
fine until I added a little more complexity.

Also, is there an IRC channel? (I couldn't find mention of such on the
web site.)

Evan Daniel

// build a truncated pyramid
module pyramid_base (
        base_length=12,
        base_width=8,
        top_length=5,
        top_width=4,
        skew_length=0,
        skew_width=0,
        height=2)
{
        polyhedron (
                points = [
                        [0,0,0],
                        [base_length,0,0],
                        [base_length,base_width,0],
                        [0,base_width,0],
                        [(base_length-top_length)/2+skew_length,(base_width-top_width)/2+skew_width,height],
                        [(base_length+top_length)/2+skew_length,(base_width-top_width)/2+skew_width,height],
                        [(base_length+top_length)/2+skew_length,(base_width+top_width)/2+skew_width,height],
                        [(base_length-top_length)/2+skew_length,(base_width+top_width)/2+skew_width,height]
                ],
                triangles = [
                        [0,1,2,3],
                        [0,4,5,1],
                        [1,5,6,2],
                        [2,6,7,3],
                        [3,7,4,0],
                        [4,7,6,5]
                ]
        );
}

Reply | Threaded
Open this post in threaded view
|

Re: Crash

kintel
Administrator
On May 13, 2011, at 22:32 PM, Evan Daniel wrote:

> terminate called after throwing an instance of 'CGAL::Assertion_exception'
>  what():  CGAL ERROR: assertion violation!
> Expr: check_protocoll == 0
> File: /usr/include/CGAL/Polyhedron_incremental_builder_3.h
> Line: 198
>
I don't think this is a winding error, but if you could reproduce it, it should be possible to catch it and at least avoid the crash.

There is an IRC channel #openscad on freenode, where some people hang out.

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Crash

Evan Daniel
On Sat, May 14, 2011 at 9:43 AM, Marius Kintel <[hidden email]> wrote:

> On May 13, 2011, at 22:32 PM, Evan Daniel wrote:
>
>> terminate called after throwing an instance of 'CGAL::Assertion_exception'
>>  what():  CGAL ERROR: assertion violation!
>> Expr: check_protocoll == 0
>> File: /usr/include/CGAL/Polyhedron_incremental_builder_3.h
>> Line: 198
>>
> I don't think this is a winding error, but if you could reproduce it, it should be possible to catch it and at least avoid the crash.
>
> There is an IRC channel #openscad on freenode, where some people hang out.

I rewrote the file that did it (from memory, so it might not have been
an exact duplicate) and didn't get a repeat on the crash. Are there
debugging build options I should turn on that would make it provide
more useful errors in the future?

Evan

Reply | Threaded
Open this post in threaded view
|

Re: Crash

kintel
Administrator
>
> Are there debugging build options I should turn on that would make it provide
> more useful errors in the future?
>
This error message comes directly from the underlying CGAL library. I don't think this library provides anything better than that.
What we'd want is to reproduce it so we can get a stack trace and catch the exception in question.

 -Marius