[Fwd: Bug report]

From: Joachim Schimpf <j.schimpf_at_icparc.ic.ac.uk>
Date: Thu 05 Feb 2004 11:36:55 AM GMT
Message-ID: <40222AD7.2010900@icparc.ic.ac.uk>

attached mail follows:


Hello,

I know the title is not very original, but i haven't found a funny one 
instead...

Here's our problem: when executing the request

make_term(0,_) :- !.
make_term(Size,a(Term1,e(p(p(v(a),v(b)),v(c))v(d)),t)) :-
     Size1 is Size - 1,
     make_term(Size1,Term1).

make_term(99,T),assert((toto(X):-X=T)).


within ECLiPSe (version 5.4 and 5.6.43), we get the following error message:

Segmentation violation - possible reasons are:
- a faulty external C function
- certain operations on circular terms
- machine stack overflow
- an internal error in ECLiPSe
Aborting execution....

for a value of parameter Size precisely from 99 (ie it is ok until 98).

The problem occurs when the assert is called. It seems to be a problem 
of nested calls since when trying to simplify the built term (removing 
for instance arguments of predicate p, or a), the limit value rises. 
However, we are used to manage deeper terms without other problems, so 
we are quite perplex here.

 In case this is a "normal" behaviour of the compiler, due to the 
maximal size of a resource, is there still a way to circumvent this problem?

Thanks in advance

Benjamin Blanc
Bruno Marre
Received on Thu Feb 05 11:36:56 2004

This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:08:24 PM GMT GMT