Opened 7 years ago

Closed 7 years ago

#53154 closed defect (invalid)

qhull seems to fail systematically when called from octave

Reported by: pierard (Sébastien Piérard) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.3.5
Keywords: Cc:
Port: octave qhull

Description

The following example is given on the octave page https://www.gnu.org/software/octave/doc/v4.0.3/Convex-Hull.html:

x = -3:0.05:3;
y = abs (sin (x));
k = convhull (x, y);

when I try it, I get an error:

QH6164 qhull internal error (qh_qhull): temporary sets not empty(2)

While executing:  | qhull Qt
Options selected for Qhull 2015.2 2016/01/18:
  run-id 1815947927  Qtriangulate  _pre-merge  _zero-centrum  _max-width  6
  Error-roundoff 2.5e-15  _one-merge 1.2e-14  _near-inside 6.2e-14
  Visible-distance 4.9e-15  U-coplanar-distance 4.9e-15  Width-outside 9.8e-15
  _wide-facet 3e-14
Last point added to hull was p1.

At error exit:

Convex hull of 121 points in 2-d:

  Number of vertices: 61
  Number of facets: 61

Statistics for:  | qhull Qt

  Number of points processed: 61
  Number of hyperplanes created: 120
  Number of distance tests for qhull: 1007

error: convhulln: qhull failed
error: called from
    convhull at line 59 column 7

I tried various inputs, and I always got similar errors, so it is not related to the particular choice of input for qhull. I don't find a lot of information on the web. But perhaps the one found on http://octave-bug-tracker.gnu.narkive.com/qbqa1lLX/delauney3-fails could be useful: "miscompiled qhull is not uncommon (it's sensitive to flags), so maybe that's the source of your problem." I hope a solution will be found soon, as this is a critical part for many scripts.

Change History (5)

comment:1 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Owner: set to MarcusCalhoun-Lopez
Status: newaccepted

I can not reproduce this error.
Would you please post the results of octave --version.

comment:2 Changed 7 years ago by pierard (Sébastien Piérard)

Here are all informations about the installed versions.

port installed qhull
The following ports are currently installed:
  qhull @2015.2_1 (active)

port installed octave
The following ports are currently installed:
  octave @4.2.0_1+accelerate+app+docs+fltk+gfortran+graphicsmagick+qt4+sound (active)
octave --version
GNU Octave, version 4.2.0
Copyright (C) 2016 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.

Octave was configured for "x86_64-apple-darwin15.x.x".

Additional information about Octave is available at http://www.octave.org.

Please contribute if you find this software useful.
For more information, visit http://www.octave.org/get-involved.html

comment:3 Changed 7 years ago by pierard (Sébastien Piérard)

And, as qhull needs to parse stdin, I think the current locale might also be relevant:

defaults read -g AppleLocale
fr_BE

comment:4 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Octave can now be build on servers.
Using this build of octave, I am unable to reproduce this problem.
By chance, does the new build fix the problem for you?

comment:5 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: invalid
Status: acceptedclosed

Since the buildbots are building octave successfully, there is no way to proceed without a response.
If the problem persists, please feel free to reopen.

Note: See TracTickets for help on using tickets.