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