From help-octave-request at bevo dot che dot wisc dot edu Fri Dec 19 12:58:17 2003 Subject: Re: Investigating delaunay() segfault From: Solignac To: Dirk Eddelbuettel Cc: help-octave at bevo dot che dot wisc dot edu, rafael@debian.org Date: Fri, 19 Dec 2003 19:59:03 +0100 On Fri, 19 Dec 2003 10:30:15 -0600 Dirk Eddelbuettel wrote: > > I've encountered several octave crashes using Delaunay's triangulation > > (qhull). > > > > Arch: Debian GNU/Linux 3.0r2 (ix86) > > Octave: 2.1.50 compiled from source (--enable-shared flag) > > Qhull: latest version (2002) compiled from source > > > > delaunayn.oct is built against libqhull. > > As others have said, all of these are available pre-built for Debian > testing. Note that you _can_ mix testing and stable; many people do. Yes I do know I can mix several dists with "apt-get install package/unstable"-like commands. That's what I'm used to do with my own machine (powerpc-arch). I'm not sure it is a good idea to do so on a server. > Now, for the bug: why don't you send out a _small reprocible example_ so > that we can see if the bug exists also in the packages produced by Rafael > and myself? Ok, here it is, the code runs OK in matlab-5.3. That's weird, you'll certainly think I drink too much coffee: <<<<< ## -*- Mode: octave -*- clear all ; T = [3.689 70.3 74.239543 3.689 74.0 74.938502 3.689 77.7 75.478510 3.689 81.4 75.906632 3.689 85.1 76.247444 3.689 88.8 76.517692 3.689 92.5 76.730036 3.689 96.2 76.894593 3.689 99.9 77.019751 3.689 103.6 77.112587 3.689 107.3 77.178749 3.689 111.0 77.221041 3.689 114.7 77.233106 3.689 118.4 77.173737 3.689 122.1 76.960004 3.689 125.8 76.638131 3.689 129.5 76.296164 7.378 70.3 77.892947 7.378 74.0 78.386866 7.378 77.7 78.740757 7.378 81.4 78.997984 7.378 85.1 79.18418 7.378 88.8 79.31554 7.378 92.5 79.403366 7.378 96.2 79.456302 7.378 99.9 79.481573 7.378 103.6 79.485755 7.378 107.3 79.47527 7.378 111.0 79.456664 7.378 114.7 79.436388 7.378 118.4 79.41271 7.378 122.1 79.083988 7.378 125.8 78.648553 7.378 129.5 78.241684 ] ; X = T(:,1) ; Y = T(:,2) ; #Z = T(:,3) ; ## A = X + Y ; ## stupid ## this one works delaunay(A,X) ; ## this one fails delaunay(X,Y) ; >>>>> Delaunay's triangulation does not seems to work for regulary disposed points... Maybe I'm mistaken somewhere... Ok I've red qhull's doc a bit more precisely and added 'QJ' flag to delaunay() instead of 'Qt'; now it does not segfaults (great ;o) ). Does my code segfaults for you? IMHO it may would be safer that delaunay() returns an error message a little bit more explicative that "core dump" (someting like "Maybe next time you'll read the man pages" :o) ). Thank you very much for your replies. \bye -- BOFH Excuse #OAB parallel processors running perpendicular today ------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.octave.org How to fund new projects: http://www.octave.org/funding.html Subscription information: http://www.octave.org/archive.html -------------------------------------------------------------