[mercury-users] Tcl/Tk

Jörg Roman Rudnick joerg.rudnick at t-online.de
Thu Jun 7 15:04:10 AEST 2007

Tomas By schrieb:
> Hello all,
> I am using the Mercury Tcl/Tk code from `extras' and am having a couple of
> problems:
> 1) Seg faults:
> *** Mercury runtime: caught segmentation violation ***
> PC at signal: 136059738 (81c1b5a)
> address involved: 0xc
> This may have been caused by a stack overflow, due to unbounded recursion.
> exiting from signal handler
> These seem to happen after a while when I am using the GUI. There is also
> a largish data file (Prolog syntax) that cannot be read from the GUI
> without causing a segmentation fault. Reading it before the widgets are
> created works fine.
> I tried increasing the "detstack" and "heap" with no effect. Any ideas how
> I can start to try to debug this?
I am just occupied with this issue -- I think I remember that this 
problem occurred with the latest ROTD's, so that it might be a good idea 
to check out the release (0.13.1).

The problem might be deeper than mdb can reach; Peter Ross gave me a 
hint about the Mercury low level debugger -- please see


If you have a little time -- let it be a few days -- I am just trying to 
fix it... ;-)

> 2) Extra newlines
> Whenever the "tk_popup" procedure is called a newline is printed in the
> shell window. I seem to remember reading somewhere that this (or something
> similar) was a known problem that had been solved, but I cannot find it
> now.  Anybody hear a little bell ringing?
Yep. Me. You mean a new line with a '%'? Then that's the prompt problem, 
for which there is a fix at the download section of my Linux Magazine 


Just take a look over the new mtcltk.m file -- and please try it with 
the 0.13.1 release.

BTW, I am astonished you did not stumble about an error message like

mtk.m:523: Syntax error at token '--->': operator precedence error.
mtk.m:582: In definition of predicate `mtk.bind'/7:
mtk.m:582:   error: undefined type `event'/0.

'event' seems to have become a reserved word; changing the type's name 
(thrice) to 'tk_event' or the like solves this problem.

All the best,


mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au

More information about the users mailing list