[GRASS-dev] gis.m crashes on zoom-out
Hamish
hamish_nospam at yahoo.com
Thu Apr 5 10:18:49 EDT 2007
> Hamish wrote:
> > found a bug in gis.m zoom out tool.
> >
> > start gis.m, select zoom out, draw a box, and poof! gis.m crashes.
> >
> > happens always in a lat long location when you zoom out past 90NS
> > 180EW view or a bit harder to trigger in spearfish, but crashes on
> > the 4th or 5th zoom out when the rows*cols gets to be something
> > silly like 500e6*500e6.
> >
> >
> > presumably g.region exits with an error which isn't handled well.
Glynn Clements wrote:
> Yep.
>
> If you spawn a child process with "open |...", any errors are reported
> by way of the corresponding "close" throwing an exception. Tcl's
> definition of "error" includes anything being written to stderr (so
> any warnings are treated as errors), as well as a non-zero exit code.
>
> Any calls to "close" on a subprocess pipe should be enclosed in a
> catch statement.
gui/tcltk/gis.m$ grep close * | grep -v catch
finds this one in georect.tcl
proc GRMap::zoom_gregion { args} {
and in histogram.tcl:
proc GmHist::display { node mod } {
and in rastnums.tcl:
proc GmRnums::display { node mod } {
and in runandoutput.tcl:
proc guarantee_xmon {} {
..maybe more?
I don't see the open|g.region in mapcanvas.tcl which triggers this bug?
I seem to remember the georect tool crashing gis.m had been reported.
No time right now to actually fix these myself.
Hamish
More information about the grass-dev
mailing list