Mailinglist Archive: opensuse (3337 mails)

< Previous Next >
How-To interpret the Stack Trace information with Tcl/Tk
  • From: Maura Edeweiss Monville <memonvil@xxxxxxxxxxxxxxxx>
  • Date: Tue, 25 Apr 2006 18:01:42 -0500 (CDT)
  • Message-id: <Pine.GSO.4.58.0604251755100.25903@xxxxxxxxxxxxxxxxxxxxx>
As you all have figured out I'm very new to Tcl/Tlk.
I was assigned the hard task to fix a couple of bugs in a Tcl/Tk GUI
implemented by someone else.
The existent GUI allows for left-button clicking on a color-coded
particles flux representation.
The numeric value of the flux is correctly displayed on a Point info
But for values greater than 10^9 (1e9) an error message pops up on the
screen which reads:
"Error in Tcl Script
Error: integer value too large to represent.
OK Skip Messages Stack Trace"

If I click on the Stack Trace button I get the following info that I
cannot quite understand:

integer value too large to represent
while executing
"expr $num-int($num)"
(procedure "format_vis" line 29)
invoked from within
"format_vis $hst_id """
(procedure "show_info_frame" line 106)
invoked from within
"show_info_frame 304 335"
(command bound to event)

In fact the package I'm testing includes a module named "mf.tcl" which
is a sequential collection of procs.

There is indeed the following boud proc:

bind $base.canvas_field <Button-1> {show_info_frame %x %y}

proc show_info_frame { h v } {

**** Question: ****

Is the 106 indicated in the Stack Trace an offset inside the proc
show_info_frame ?
The proc show_info_frame is at line 1558 of the "mf.tcl" file.
If I add ( 1558 + 106) = 1664 which is a line inside the
proc show_info_frame
but such a proc is NOT recursive. I mean it doesn't call itself.
Infact at line 1664 there is the following statement:
if { $plot(info_frame) == "" } {

There is indeed an "info_frame" but it's not a call to
proc show_info_frame.

I would appreciate if someone could help me interpret the information
provided in the Stack Trace with the hope that helps me find and fix the

Thank you in advance for your help,

< Previous Next >