[PPL-devel] Parma Polyhedra Library 0.10.1
Roberto Bagnara
bagnara at cs.unipr.it
Tue Apr 14 18:58:01 CEST 2009
Richard Guenther wrote:
> On Tue, Apr 14, 2009 at 3:02 PM, Roberto Bagnara <bagnara at 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 at 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 at cs.unipr.it
More information about the PPL-devel
mailing list