|
From: Oliver W. <Ath...@gm...> - 2002-01-11 15:07:45
|
Hi, > I didn't quite understand. You mean the search is buggy in Yap? No, it is not. I keeped working on the Problem and it seemed to be solved right now. However i am still not able to reproduce the Error at will, and i have tried hard. I've got a dynamic predicate like :- dynamic(dummy/0). Later on the Code is like the following : main :- % Case 1 assert(dummy), % The assert [ predicates ] retract(dummy), ... main :- % Case 2 call(dummy), % Bug retractall(dummy), ... If a predicate in main-Case 1 fails, it wont retract(dummy) and enters Case 2. There it checks if dummy exists, retracts it and goes on. That's what it should do, and does now. The Bug was in the line Bug, here it broke when checking dummy. Errormessage is this one : [ Fatal YAP Error: likely bug in YAP, segmentation violation exiting.... ] When exactly it happend varied (this Part was in a Loop), but the location of the Bug is sure. However, it get it to work trough this Add-On: assert_if_new(X) :- call(X), !. assert_if_new(X) :- assert(X). Obviously it asserted the dummy a few times before (about 20-130 times i checked it), and this seemed to cause Problems for the call(in Line Bug). Its now working fine again, and I hope this report helps u to get an idea what happend. Cheers Oliver Werth -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net |