# XPCE gtrace's unexpected behaviour for X=... style clauses

**URL:** <https://swi-prolog.discourse.group/t/xpce-gtraces-unexpected-behaviour-for-x-style-clauses/6854>\
**Category:** Help!\
**Tags:** bug, debugging, xpce\
**Created:** [September 19, 2023, 1:29pm UTC](https://swi-prolog.discourse.group/t/xpce-gtraces-unexpected-behaviour-for-x-style-clauses/6854 "2023-09-19T13:29:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![kowalsky](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/kowalsky/32/394_2.png) [@kowalsky](https://swi-prolog.discourse.group/u/kowalsky)\
**Post date:** [September 19, 2023, 1:29pm UTC](https://swi-prolog.discourse.group/t/xpce-gtraces-unexpected-behaviour-for-x-style-clauses/6854/1 "2023-09-19T13:29:31Z")

</div>

I’m using: SWI-Prolog version 8.4.0 64 bits, with XPCE 2.0

When I run a graphical tracer with gtrace sometimes it shows decompiled listing of a predicate rather than the predicate in its original file. This happens when the first clause of the predicate has the form “Var =…” where Var occurs in the head of the predicate rule.

This is how to replicate.

Except for `list2_pred`, all predicates are displayed in decompiling form by the XPCE tracer.

 ![swipl_gtrace](https://global.discourse-cdn.com/free1/uploads/swiprolog/original/2X/2/2e3d9df13623c6045ee1010ca73e415317c9cc49.png)

```prolog
% file named reason.pl
list2_pred(Info) :-
    print('Normal'),
    Info = [_, _, _].

term_pred(Info) :-
    Info = (_, _, _),
    print('Ok').

term_t_pred(Info) :-
    Info = t(_, _, _),
    print('Ok').

atom_pred(Info) :-
    Info = 'Atom',
    print('Ok').

list1_pred(Info) :-
    true,
    Info = [_, _, _],
    print('Weird').

```

There was [another](https://swi-prolog.discourse.group/t/small-bug-in-the-gui-tracer/699) issue about a decompiled listing of gtrace, but I don’t think it is related to this.

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [September 19, 2023, 2:54pm UTC](https://swi-prolog.discourse.group/t/xpce-gtraces-unexpected-behaviour-for-x-style-clauses/6854/2 "2023-09-19T14:54:10Z")

</div>

> [@kowalsky](#):
>
> I’m using: [SWI-Prolog](https://www.swi-prolog.org/pldoc/doc_for?object=manual) version 8.4.0 64 bits, with XPCE 2.0

Just upgrade. Works fine in 9.1.15. Didn’t test 9.0.4 (stable).

---

<div class="post-metadata">

**Author:** ![kowalsky](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/kowalsky/32/394_2.png) [@kowalsky](https://swi-prolog.discourse.group/u/kowalsky)\
**Post date:** [September 27, 2023, 10:03am UTC](https://swi-prolog.discourse.group/t/xpce-gtraces-unexpected-behaviour-for-x-style-clauses/6854/3 "2023-09-27T10:03:19Z")

</div>

Thank you, jan. Works in 9.0.4 too.
