From: Kostis S. <ko...@cs...> - 2000-09-29 14:57:58
|
Bart told me that the following one did not reach him yet. So I am sending it again. Apologies for double copies. Did anybody got it by the way? - Kostis. --------------- Ernie wrote: > The following shows a query involving tfindall/3 causes an odd > response and crash when executed under SLG-Batched on the current > system. I haven't checked past versions, but I've confirmed that the > other configs (SLG-Local, CHAT-Batched, CHAT-Local) of the current > system give correct results. > > PROGRAM SNIPPED Bart is visiting me this week and he looked at this problem a bit on the plane coming here. It appears that the problem is not tfindall-related. (an example program which shows this is given below). Also, I checked both old versions of XSB (2.1) and my modified system and both do not suffer from this problem. Apparently, something weird is happening on the local stack (ereg?). Hope that this information helps somebody to track down what's happening. Best, - Kostis. =========== :- import get_ptcp/1 from machine. :- import get_subgoal_ptr/2 from machine. :- import is_incomplete/4 from machine. :- table tpath/2. tpath(X,Y) :- edge(X,Y). tpath(X,Y) :- edge(X,Z), tpath(Z,Y). edge(xxx,b). edge(b,c). edge(c,d). t :- tpath(A,B), % write(A-B),nl, mtfindall(1,tpath(_,_),L), write(L), nl, fail. mtfindall(T, Call, Result) :- table_state(Call,_,_,AnsSetStatus), AnsSetStatus == incomplete, write(incompl),nl, get_ptcp(PTCP), write(1),nl, get_subgoal_ptr(Call, SubgPtr), write(2),nl, (is_incomplete(Call,SubgPtr,PTCP,_)), write(findall-Call+SubgPtr=PTCP),nl, (call(Call), fail ; true). |