This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Parma Polyhedra Library 0.10.1


Richard Guenther wrote:
On Tue, Apr 14, 2009 at 3:02 PM, Roberto Bagnara <bagnara@cs.unipr.it> wrote:
We are pleased to announce the availability of PPL 0.10.1, a new release
of the Parma Polyhedra Library.

It seems to build and test ok on {i586,ia64,ppc,ppc64,s390,x86_64}-linux but I get

PASS: nnc_writepolyhedron1
/bin/sh: line 4: 29952 Segmentation fault      ${dir}$tst
FAIL: memory1
======================================
1 of 191 tests failed
Please report to ppl-devel@cs.unipr.it
======================================

on s390x-linux. Does the testsuite stop after the first error?

Hi Richard.


The testsuite does not proceed after the first directory that gives
an error.  In your case, the `tests/Polyhedron' directory produced that
error and the `tests/Grid' directory is the only subdirectory of `tests'
that has not been tested because of that error.

If not,
what is memory1 testing?

It tests the PPL features that allow to recover after an out-of-memory error, i.e., when std::bad_alloc is thrown. It does so by limiting the amount of memory available to the process, attempting some expensive computation, catching std:bad_alloc, and restart. The key function is this one:

bool
guarded_compute_open_hypercube_generators(dimension_type dimension,
					  unsigned long max_memory_in_bytes) {
  try {
    limit_memory(max_memory_in_bytes);
    compute_open_hypercube_generators(dimension);
    return true;
  }
  catch (const std::bad_alloc&) {
    nout << "out of virtual memory" << endl;
    return false;
  }
  catch (...) {
    exit(1);
  }
  // Should never get here.
  exit(1);
}

From the fact that you observe this failure, I gather that the configure
script found a version of GMP compiled with -fexceptions.  Unfortunately,
this is not always enough.  For instance, on the Itanium the test fails
because of the libunwind bug reported in

http://lists.gnu.org/archive/html/libunwind-devel/2008-09/msg00001.html

Hence the test is disabled if defined(__ia64).  I don't know what the
problem could be on s390x-linux.  Do you know if there is an s390x-linux
machine we can obtain access to for the purpose of debugging?
Cheers,

Roberto

--
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara@cs.unipr.it


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]