I recently installed a new version of Linux, and a new version of SWI-Prolog.
Since doing this, I have seen a problem with the graphical tracer.
The tracer is able to trace through normal rules without problems but when I try to trace through a DCG grammar clause, it slows to a crawl.
grammar_rule(X) -->
[a],
grammar_phrase(X),
{assert(test(a))}.
When I trace through a clause like this, I can press “s” for “skip”
to make it skip through “grammar_phrase(X)”.
It takes about 20 minutes to skip through it, and reach “assert(test(a))”.
I can then try to skip through “assert(test(a))”.
This is slow too, it takes over a minute to skip through it.
So something has slowed down the tracer.
It appears to be that the tracer goes wrong when I use DCG clauses,
i.e. clauses that use “–>”.
I am seeing this problem in Linux Mint Cinnamon 19.1, with SWI-Prolog version 7.6.4. .
I didn’t see this problem in Linux Mint Mate 18.3, with SWI-Prolog version 7.2.3 .
Do I just need to use a different version of SWI-Prolog, to get graphical tracer that doesn’t have this problem? If so, what version should I get?
Is this bug likely to vanish if I just upgrade to the latest SWI-Prolog, installing from source? Or is it more likely that all versions of SWI-Prolog on Linux Mint Cinnamon have this problem, and I need to use a different distro? Any advice will be welcome.
I also saw this error message at one point.
?- trace, is_etc(A, [is], B).
ERROR: pce(object) `@17528105654451’ does not exist (@17528105654451/prolog_debugger (freed))
A = (is),
B = .
?-
Jan W wrote:
The only problem I know is that the trace Windows and a few other windows of the GUI first show up empty and grey. This problem is related to some window managers, but unfortunately the more popular ones. The window draws if you move it a little or wait long enough.
Yes, I have been getting that problem too.
–
Martin.