Release Candidate

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

Release Candidate

kintel
Administrator
Hi all,

Please consider the current state of the master branch (commit 9c4efafc6e) a Release Candidate of OpenSCAD 2011.12.
The latest CSG optimizations could benefit from more testing.
Having builds for Linux/Windows for people to test out would also be awesome.

I'll go off-line the 23. and be partially back on-line from the 27., and I aim to make a release one of the last days of the year.

Cheers,

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

Ed Nisley
On Thu, 2011-12-22 at 04:57 +0100, Marius Kintel wrote:
> Release Candidate of OpenSCAD 2011.12

Compiled & tested it on a couple of boxes around here, looked at some
models I'll be using in an upcoming Digital Machinist column, and found
some vanishing holes.

The simplest failing example got severely chopped down from this:

http://softsolder.com/2011/07/12/helmet-mirror-smaller-mirror-shaft/ 

The problem occurs with a rotation applied to the module invocation,
which uses a translation inside the difference operator (all for reasons
that made perfect sense at the time). With no rotation or no
translation, there (seems to be) no problem.

Increasing either the rotation or the translation triggers the problem,
with a transition region from "OK" to "both holes missing".

In all cases, the F6 CGAL rendering works fine, so this problem (seems
to) affect only the F5 OpenCSG preview.

//-----------
// Demo for problems with F5 preview
//  F6 CGAL compile works fine in all cases

module ElPlate() {
  union() {
        difference() {
                translate([1,0,0])  // for rotate(130) below, x=1 is OK, 2 kills
through hole, 3 kills both
                  scale([20,20,1.0])
                        cylinder(r=0.5,h=2,$fn=30);         // body disk
          translate([0,0,-0.1])
                cylinder(r=2.0/2,h=3.1);                // screw hole
          translate([0,0,-0.1])
                cylinder(r=5.0/2,h=1.1,$fn=6);          // nut recess
        }
  }
}

// for body disk translate=[3,0,0] above: <126 is OK, 127 kills through
hole, 129 kills both

rotate(130)
  ElPlate();
//-----------

Both of the boxes run Xubuntu (10.04 and 11.10), have nVidia graphics
(OpenGL 2.0), had no problem with the older OpenSCAD version, and didn't
spit out any errors during compilation.

Other than that, though, the new version works *great*!

Many thanks...

--
Ed
http://softsolder.com



Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

kintel
Administrator
On Dec 22, 2011, at 17:34 PM, Ed Nisley wrote:
>
> [...]  and found some vanishing holes.
>
I expected such a rewrite to cause some issues , but decided to gamble a bit since this solves an increasingly reported problem : /
Thanks for the excellent report - I've identified the bug and hope to fix it soon. (I wasn't transforming bounding boxes correctly for the CSG tree pruning, so they tend to fail when rotating in certain ways)

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

kintel
Administrator
In reply to this post by Ed Nisley
On Dec 22, 2011, at 17:34 PM, Ed Nisley wrote:

> [...] and found some vanishing holes.
>
I just fixed this.

Please consider this revision an updated Release Candidate: commit 10c96326866

I'm building new Mac binaries now, and after that I really won't be online for the next four days or so.

Thanks again for the quick bug report,

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

Brad Pitcher

I updated the windows build.

On Dec 23, 2011 5:37 AM, "Marius Kintel" <[hidden email]> wrote:
On Dec 22, 2011, at 17:34 PM, Ed Nisley wrote:

> [...] and found some vanishing holes.
>
I just fixed this.

Please consider this revision an updated Release Candidate: commit 10c96326866

I'm building new Mac binaries now, and after that I really won't be online for the next four days or so.

Thanks again for the quick bug report,

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

Ed Nisley
In reply to this post by kintel
On Fri, 2011-12-23 at 14:37 +0100, Marius Kintel wrote:
> updated Release Candidate: commit 10c96326866

Most likely I'm doing something wrong, but doing what I did last time
doesn't get that far now:

git clone https://github.com/openscad/openscad.git

That seems to fetch everything properly; I'm doing it in /tmp for
cleanliness.

qmake-qt4
WARNING: Failure to find: src/linalg.cc

Not only is linalg.cc not present anywhere in the tree, it's not in the
previous versions, either. There is a linalg.h in all versions, though.

I tried yanking out all references to linalg.cc, which made qmake happy
enough, but then make eventually fell over after some kvetching:

objects/csgterm.o: In function `CSGChain::getBoundingBox() const':
csgterm.cc:(.text+0x218): undefined reference to
`operator*(Eigen::Transform<double, 3> const&, Eigen::AlignedBox<double,
3> const&)'
objects/csgterm.o: In function `CSGTerm::initBoundingBox()':
csgterm.cc:(.text+0x484): undefined reference to
`operator*(Eigen::Transform<double, 3> const&, Eigen::AlignedBox<double,
3> const&)'
csgterm.cc:(.text+0x5bb): undefined reference to
`operator*(Eigen::Transform<double, 3> const&, Eigen::AlignedBox<double,
3> const&)'
csgterm.cc:(.text+0x5f3): undefined reference to
`operator*(Eigen::Transform<double, 3> const&, Eigen::AlignedBox<double,
3> const&)'
csgterm.cc:(.text+0x691): undefined reference to
`operator*(Eigen::Transform<double, 3> const&, Eigen::AlignedBox<double,
3> const&)'
collect2: ld returned 1 exit status
make: *** [openscad] Error 1

So I retreated to the commit that fixed my problem:

git checkout 9fa18d53921ed7b2da4892d12958a6705f5a960b

Which didn't get past qmake, either.

Which obvious knob have I neglected to turn?

Thanks...

--
Ed
http://softsolder.com



Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

Triffid Hunter
On Sat, Dec 24, 2011 at 7:15 AM, Ed Nisley <[hidden email]> wrote:
> Most likely I'm doing something wrong, but doing what I did last time
> doesn't get that far now:
> objects/csgterm.o: In function `CSGChain::getBoundingBox() const':
> csgterm.cc:(.text+0x218): undefined reference to
> `operator*(Eigen::Transform<double, 3> const&, Eigen::AlignedBox<double,
> 3> const&)'

below: related?

---------- Forwarded message ----------
From: chrysn <[hidden email]>
Date: Sat, Oct 1, 2011 at 7:04 AM
Subject: [OpenSCAD] minor README fix
To: [hidden email]


hi openscad developers,

as of commit 80e526880a, openscad depends on libeigen >= 2.0.13 due to
the addition of #include <Eigen/Dense>. (changelog for 2.0.13 says:
"Actually install the Eigen/Eigen and Eigen/Dense public headers").
README still claims it's 2.0.11.

just a minor issue, but might confuse ubuntu lucid users who still use
2.0.12.

regards
chrysn

Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

Ed Nisley
On Sat, 2011-12-24 at 07:39 +1100, Triffid Hunter wrote:
> libeigen >= 2.0.13

The Ubuntu 11.10 box has libeigen2-dev = at 2.0.16 and even the creaky
10.10 box has 2.0.15; they both fail by not having linalg.cc.

A puzzle, indeed.

--
Ed
http://softsolder.com



Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

Triffid Hunter
In reply to this post by kintel
not sure if it's just me but 10c96326866 hasn't shown up for me yet,
master is still 9c4efafc6e

On Sat, Dec 24, 2011 at 12:37 AM, Marius Kintel <[hidden email]> wrote:
> Please consider this revision an updated Release Candidate: commit 10c96326866

Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

donbright
Here is a stop-gap linalg.cc until Marius can give us the real one..

---begin code src/linalg.cc


#include "linalg.h"

BoundingBox operator*(const Transform3d &m, const BoundingBox &box)
{
  BoundingBox bbox(box);
  bbox.extend(m * box.min());
  bbox.extend(m * box.max());
  return bbox;
}

---end code

It probably doesn't fix the bug reported by Ed Nisely, but at least it
compiles and mostly seems to run OK on the examples.

-DB

Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

Marius Kintel
Sorry, I forgot to add the file in the midst of holiday packing stress.
Now I only have a connection limited to my not-too-flexible iDevice, so if someone with push access could commit this file it should work again:

http://db.tt/kd0whkD5

 ~/= Marius


On Dec 24, 2011, at 4:13, Don Bright <[hidden email]> wrote:

Here is a stop-gap linalg.cc until Marius can give us the real one..

---begin code src/linalg.cc


#include "linalg.h"

BoundingBox operator*(const Transform3d &m, const BoundingBox &box)
{
 BoundingBox bbox(box);
 bbox.extend(m * box.min());
 bbox.extend(m * box.max());
 return bbox;
}

---end code

It probably doesn't fix the bug reported by Ed Nisely, but at least it
compiles and mostly seems to run OK on the examples.

-DB
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

Ed Nisley
In reply to this post by donbright
On Fri, 2011-12-23 at 21:13 -0600, Don Bright wrote:
> It probably doesn't fix the bug reported by Ed Nisely

A wonderful surprise for Christmas Eve morning: the models lacking holes
now have them in all the right places, so I'll call it fixed.

Many thanks... now, let's take a break and play with our toys!

--
Ed
http://softsolder.com



Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

donbright
In reply to this post by Marius Kintel
Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

Ed Nisley
On Sat, 2011-12-24 at 07:51 -0600, Don Bright wrote:
> Git HEAD should now work.

And so it does!

A Merry Christmas to all... and to all, a good night!

--
Ed
http://softsolder.com



Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

donbright
Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

kintel
Administrator
On Dec 28, 2011, at 06:06 AM, Don Bright wrote:

> ctest -C All, from 12-27-2011 git master branch
>
> http://cakebaby.wikia.com/wiki/OpenSCAD_linux_ppc64_gallium-0.4-on_uchb_test_report
> http://cakebaby.wikia.com/wiki/OpenSCAD_linux_i686_software-rasterizer_suef_test_report
> http://cakebaby.wikia.com/wiki/OpenSCAD_linux_i686_mesa-dri-intel(r)_uada_test_report
>
> 96%, 96%, 96%
>
I had forgotten to update the exampes tests after the CSG normalization update (bounding box changes).
The broken examples tests should work again now.

The *_color-tests fail because of the color priority issues being discussed. I haven't merged the color-priority branch yet.

This should leave us with the following:
o linux_i686_mesa-dri-intel(r): minkowski3-tests fail
o linux_ppc64_gallium-0.4: This one is having intersection issues. That's a long-running problem I believe.

The minkowski test failure puzzles me a bit - why does it return -11 ?

Error output: CGAL error in CGAL_Nef_polyhedron's minkowski operator: CGAL ERROR: assertion violation!
Expr: N.is_valid(0,0)
File: /home/don/src/CGAL-3.6/include/CGAL/convex_decomposition_3.h
Line: 113
CGAL error in CGAL_Nef_polyhedron's minkowski operator: CGAL ERROR: assertion violation!
Expr: ShellSf[f] == i
File: /home/don/src/CGAL-3.6/include/CGAL/Nef_3/SNC_external_structure.h
Line: 822

Error: cgalpngtest failed with return code -11

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

donbright
> The minkowski test failure puzzles me a bit - why does it return -11 ?


I often see -11 when one of the tests segfaults.  I assume it has
something to do with CGAL-3.6, because the exact same machine with
CGAL-3.9 works fine.

 gdb --args ./cgalpngtest
/home/don/src/official_openscad/openscad/tests/../testdata/scad/features/minkowski3-tests.scad
out.png
...

(gdb) r
Starting program:
/home/don/src/official_openscad/openscad/tests/build3.6/cgalpngtest
/home/don/src/official_openscad/openscad/tests/../testdata/scad/features/minkowski3-tests.scad
out.png
[Thread debugging using libthread_db enabled]
CGAL error in CGAL_Nef_polyhedron's minkowski operator: CGAL ERROR:
assertion violation!
Expr: N.is_valid(0,0)
File: /home/don/src/CGAL-3.6/include/CGAL/convex_decomposition_3.h
Line: 113
CGAL error in CGAL_Nef_polyhedron's minkowski operator: CGAL ERROR:
assertion violation!
Expr: ShellSf[f] == i
File: /home/don/src/CGAL-3.6/include/CGAL/Nef_3/SNC_external_structure.h
Line: 822

Program received signal SIGSEGV, Segmentation fault.
0x081db3a8 in Nef_polyhedron_3 (this=<value optimized out>,
    W=<value optimized out>, _pl=<value optimized out>, clone_pl=true,
    clone_snc=<value optimized out>)
    at /home/don/src/CGAL-3.6/include/CGAL/Nef_polyhedron_3.h:1991
1991    pl() = _pl->clone();

(gdb) bt
#0  0x081db3a8 in Nef_polyhedron_3 (this=<value optimized out>,
    W=<value optimized out>, _pl=<value optimized out>, clone_pl=true,
    clone_snc=<value optimized out>)
    at /home/don/src/CGAL-3.6/include/CGAL/Nef_polyhedron_3.h:1991
#1  0x0827b10b in CGAL::Nef_polyhedron_3<CGAL::Cartesian<CGAL::Gmpq>,
CGAL::SNC_indexed_items, bool>::clone_rep (this=0x85030f0)
    at /home/don/src/CGAL-3.6/include/CGAL/Nef_polyhedron_3.h:1214
#2  0x0827b1a2 in CGAL::Nef_polyhedron_3<CGAL::Cartesian<CGAL::Gmpq>,
CGAL::SNC_indexed_items,
bool>::transform(CGAL::Aff_transformation_3<CGAL::Cartesian<CGAL::Gmpq>
> const&) ()
#3  0x081dce63 in CGALEvaluator::visit (this=0xbffff1b0, state=..., node=...)
    at /home/don/src/official_openscad/openscad/src/CGALEvaluator.cc:272
#4  0x0837b4ae in Traverser::traverse (this=0xbfffefc0, node=..., state=...)
    at /home/don/src/official_openscad/openscad/src/traverser.cc:41
#5  0x0837b41b in Traverser::traverse (this=0xbfffefc0, node=..., state=...)
    at /home/don/src/official_openscad/openscad/src/traverser.cc:30
#6  0x0837b57c in Traverser::execute (this=0xbfffefc0)
    at /home/don/src/official_openscad/openscad/src/traverser.cc:11
#7  0x081cfb8e in CGALEvaluator::evaluateCGALMesh (this=0xbffff1b0, node=...)
    at /home/don/src/official_openscad/openscad/src/CGALEvaluator.cc:45
#8  0x08199090 in main (argc=3, argv=0xbffff394)
    at /home/don/src/official_openscad/openscad/tests/cgalpngtest.cc:159


I will try testing some more!! Thanks

-DB

Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

kintel
Administrator
On Dec 29, 2011, at 00:07 AM, Don Bright wrote:
> #3  0x081dce63 in CGALEvaluator::visit (this=0xbffff1b0, state=..., node=...)
>    at /home/don/src/official_openscad/openscad/src/CGALEvaluator.cc:272

OK, so CGAL throws an exception in the transform() call. I can always catch this exception and return with an error without crashing.

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

kintel
Administrator
In reply to this post by donbright
On Dec 29, 2011, at 00:07 AM, Don Bright wrote:
> I often see -11 when one of the tests segfaults.  I assume it has
> something to do with CGAL-3.6, because the exact same machine with
> CGAL-3.9 works fine.
>
Try with the latest master.

Now, off to party duty,

 -Marius

Reply | Threaded
Open this post in threaded view
|

Re: Release Candidate

donbright
In reply to this post by kintel
still borken! well at least we got two lines further (274)

gdb --args ./cgalpngtest
/home/don/src/official_openscad/openscad/tests/../testdata/scad/features/minkowski3-tests.scad
out.png
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from
/home/don/src/official_openscad/openscad/tests/build3.6/cgalpngtest...done.
(gdb) r
Starting program:
/home/don/src/official_openscad/openscad/tests/build3.6/cgalpngtest
/home/don/src/official_openscad/openscad/tests/../testdata/scad/features/minkowski3-tests.scad
out.png
[Thread debugging using libthread_db enabled]
CGAL error in CGAL_Nef_polyhedron's minkowski operator: CGAL ERROR:
assertion violation!
Expr: N.is_valid(0,0)
File: /home/don/src/CGAL-3.6/include/CGAL/convex_decomposition_3.h
Line: 113
CGAL error in CGAL_Nef_polyhedron's minkowski operator: CGAL ERROR:
assertion violation!
Expr: ShellSf[f] == i
File: /home/don/src/CGAL-3.6/include/CGAL/Nef_3/SNC_external_structure.h
Line: 822

Program received signal SIGSEGV, Segmentation fault.
0x00000001 in ?? ()
(gdb) bt
#0  0x00000001 in ?? ()
#1  0x081d871b in Nef_polyhedron_3 (this=<value optimized out>,
    W=<value optimized out>, _pl=<value optimized out>, clone_pl=true,
    clone_snc=<value optimized out>)
    at /home/don/src/CGAL-3.6/include/CGAL/Nef_polyhedron_3.h:1991
#2  0x082780cb in CGAL::Nef_polyhedron_3<CGAL::Cartesian<CGAL::Gmpq>,
CGAL::SNC_indexed_items, bool>::clone_rep (this=0x8bff6d0)
    at /home/don/src/CGAL-3.6/include/CGAL/Nef_polyhedron_3.h:1214
#3  0x08278162 in CGAL::Nef_polyhedron_3<CGAL::Cartesian<CGAL::Gmpq>,
CGAL::SNC_indexed_items,
bool>::transform(CGAL::Aff_transformation_3<CGAL::Cartesian<CGAL::Gmpq>
> const&) ()
#4  0x081dce71 in CGALEvaluator::visit (this=0xbffff1b0, state=..., node=...)
    at /home/don/src/official_openscad/openscad/src/CGALEvaluator.cc:274
#5  0x0837bf6e in Traverser::traverse (this=0xbfffefc0, node=..., state=...)
    at /home/don/src/official_openscad/openscad/src/traverser.cc:41
#6  0x0837bedb in Traverser::traverse (this=0xbfffefc0, node=..., state=...)
    at /home/don/src/official_openscad/openscad/src/traverser.cc:30
#7  0x0837c042 in Traverser::execute (this=0xbfffefc0)
    at /home/don/src/official_openscad/openscad/src/traverser.cc:11
#8  0x081cfb8e in CGALEvaluator::evaluateCGALMesh (this=0xbffff1b0, node=...)
    at /home/don/src/official_openscad/openscad/src/CGALEvaluator.cc:45
#9  0x08199090 in main (argc=3, argv=0xbffff394)
    at /home/don/src/official_openscad/openscad/tests/cgalpngtest.cc:159
(gdb)



http://cakebaby.wikia.com/wiki/OpenSCAD_linux_i686_mesa-dri-intel(r)_uada_test_report

thx

-DB

12