Menu

#263 predicate_property/2

Core Dump
open
nobody
None
5
2023-08-03
2023-07-29
No

Just noting strange behaviour of predicate_property/2:
predicate_property(a(),built_in) leads to a crash dump, as does predicate_property(a(),P).
Applied to the predicate a written in the atom form as 'a' predicate_property works as expected.
In my application context, a() has been obtained as a body from clause/2, which returns nullary predicates in this form.

Discussion

  • David S. Warren

    David S. Warren - 2023-08-03

    Thanks for letting us know. It was in an internal C function, make_ground, which is called by excess_vars, which is called by setof, which is called by predicate_property. It didn't handle the arity=0 case. I've fixed it and will commit it after running the testsuite.
    Thanks!

     
  • Felix Weitkämper

    Thank you very much for the quick fix!
    Unfortunately, the current snapshot doesn't compile for me as the configure script terminates with
    the error
    config.status: error: cannot find input file: /home/weitkaemper/XSB/XSB/packages/janus/configvars.in
    before creating makexsb.
    The snapshot after David Warren's last commit (cf 6005) compiles perfectly well.

     

    Last edit: Felix Weitkämper 2023-08-03
  • Felix Weitkämper

    Both compiling and predicate_property/2 work again beautifully, thank you both!

     

Log in to post a comment.