Core dump in dev release 9.3.24 (original) (raw)

OK, so I ran my program with debug(_) and it seems this was the last predicate that was called before the core dump:

verify_program(Cs,W,Es):-
    PM = experiment_file
    ,debug_clauses(verify_program_full,'Verifying program:',Cs)
    ,S = (assert_program(PM,Cs,Rs)
         ,table_untable_predicates(table,PM,Cs)
         )
    ,(   poker_configuration:multithreading(W)
    ->   G = (concurrent_forall(member(E,Es)
                  ,(debug(examples,'Verifying Example: ~w', [E])
                   ,call(PM:E)
                   )
                  )
         )
     ;   G = forall(member(E,Es)
               ,(debug(examples,'Verifying Example: ~w', [E])
            ,call(PM:E)
            )
               )
     )
    ,C = (erase_program_clauses(Rs)
         ,table_untable_predicates(untable,PM,Cs)
         )
    ,setup_call_cleanup(S,G,C)
    ,debug(verify_program,'Verified program accepts all examples',[]).

%!	table_untable_predicates(+What,+Module,+Clauses) is det.
%
%	Table or untable the predicates defined in a set of Clauses.
%
%	What is one of: [table, untable].
%
%	Module is the module where the programs that are to be tabled or
%	untabled are defined.
%
%	Clauses is a list of clauses that potentially use the predicates
%	to table or untable in their body literals.
%
table_untable_predicates(W,M,Cs):-
    program_symbols(Cs,Ss)
    ,forall(member(S,Ss)
           ,table_untable(W,M,S)
           ).


%!	table_untable(+What,+Module,+Symbol) is det.
%
%	Table or untable a predicate Symbol.
%
table_untable(_,_M,F/A):-
% Attempt to identify BK predicates. Those are already defined with
% their own properties, and trying to table them raises a permission
% error.
    functor(T,F,A)
    ,poker_configuration:experiment_file(_P,M)
    ,predicate_property(M:T,static)
    ,!.
table_untable(table,M,S):-
    M:table(S)
    ,!.
table_untable(untable,M,S):-
    M:untable(S).

I know you’ve said before not to use table/untable that way. I’ve been bad, sorry :0

Is that what’s possibly causing the core dump?

P.S. Also running again now with:

leash(-all)
visible(+all)
trace.

Will let you know if anything else shows up.