[GRASS-dev] v.digit startup segfault - improbable fix

Cedric Shock cedricgrass at shockfamily.net
Thu May 4 15:52:51 EDT 2006


Hi,

I carefully picked over the v.digit segfault exemplar from Ivan Marchesini. 

If you are experiencing a v.digit segfault on startup please try the new patch 
I just kicked into CVS.

Hints for future debugging: set DEBUG to at least 5.
Report what tcl/tk version v.digit is being LINKED against.

I changed argument count on Tk_Main from 0 to argc. Reasoning: 
Tcl_ExternalToUtfDString is used very few places in the tcl and tk sources. A 
good chunk of them are in the handling of argc and argv in Tcl_Main and 
Tk_MainEx, so I'm inclined to believe the backtrace that says it's happening 
here. The code doesn't look like it was written to ever expect 0 argc. This 
section of code has been entirely rewritten between tcl 8.3 and 8.4. The 8.4 
code looks like it's happy with 0.

Counter reasoning: It's been 0 since forever. This had to be working for some 
developer using tcl 8.3 at some time.

Counter counter reasoning: whether or not Tcl_ExternalToUtfDString calls 
strlen is dependent upon the source encoding, but here I think it's all the 
same (coming from the command line).

--Cedric



More information about the grass-dev mailing list