[PPL-devel] An issue in "make check" for SWI prolog under Debina (lenny)

Roberto Bagnara bagnara at cs.unipr.it
Mon Oct 6 13:35:41 CEST 2008


Valerio Senni wrote:
> Hello everyone,
> 
> I've compiled PPL 0.9 under Debian (lenny) on a Pentium III,
> with SICStus 3.12.8 and SWIprolog 5.6.58 installed.
> Compilation gives no errors.
> Before installing I executed "make check" which returns
> the following error (I'll attach below the entire output)
> 
> *** glibc detected *** ./ppl_pl: realloc(): invalid pointer: 0x081524dc ***
> 
> The "make install" succeeds but then I have the following behavior:
> 
> $ ppl_pl
> Welcome to SWI-Prolog (Multi-threaded, 32 bits, Version 5.6.58)
> Copyright (c) 1990-2008 University of Amsterdam.
> SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
> and you are welcome to redistribute it under certain conditions.
> Please visit http://www.swi-prolog.org for details.
> 
> For help, use ?- help(Topic). or ?- apropos(Word).
> 
> ?- halt.
> Segmentation fault
> $
> 
> This does not happen under SICStus
> 
> $ ppl_sicstus
> SICStus 3.12.8 (x86-linux-glibc2.3): Tue May  8 13:30:29 CEST 2007
> Licensed to uniroma2.it
> | ?- halt.
> $
> 
> I've had the chance of testing some base functionalities (such as
> creation/deletion
> of polyhedra) and these work correctly. I would like to know if my
> installation
> is sound or do I have to solve this "check" problem in order to have the
> library
> installed correctly?

Dear Valerio,

you can only trust the library if `make check' succeeds.
What you report is strange, also because we use the SWI-Prolog interface
ourselves on a couple of projects, and never had any problems.

However, given that PPL 0.10 will be out in at most a couple of weeks
from now, I think it is best for you to try a snapshot of that
release.  You will find it at

     ftp://ftp.cs.unipr.it/pub/ppl/snapshots/

Try it, and if `make check' still fails we will investigate further.

> I have one more brief question. If I issue a request
> "ppl_Polyhedron_get_constraints(H,C)"
> and the handler H is "random" (in particular, it was never returned by the
> system)
> in SWI I have the following error:
> 
> ERROR: ppl_Polyhedron_get_constraints/2: Caught signal 11 (segv)
> 
> and in SICStus I have:
> 
> ! segmentation violation
> % Execution aborted
> 
> I understand that it is quite strange that a user "creates" handlers out of
> nowhere. Just wanted to make sure that this "segmentation violation"
> is expected.

If you obtained the value of H from the PPL and you did not invalidate
the handler (e.g., by invoking a ppl_delete... predicate over it),
then the segmentation violation (a.k.a. segv, a.k.a. signal 11)
must not happen.  In all other cases it can happen (actually, in
all other cases even worse things can happen).  Please do not hesitate
to come back to us in case I was not clear.
All the best,

    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