[GRASS-dev] Re: [GRASS GIS] #699: v.buffer segfault: in
Vect_get_isle_points()
GRASS GIS
trac at osgeo.org
Sat Jan 29 05:23:50 EST 2011
#699: v.buffer segfault: in Vect_get_isle_points()
----------------------+-----------------------------------------------------
Reporter: neteler | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 7.0.0
Component: Vector | Version: 6.4.0 RCs
Keywords: v.buffer | Platform: All
Cpu: All |
----------------------+-----------------------------------------------------
Comment(by mmetz):
Replying to [comment:10 mmetz]:
> Replying to [comment:9 mmetz]:
> > The second bug should now be fixed in r45219, r45220, r45221 (7.0,
6.5, 6.4), working on Linux 32bit and 64bit.
> >
> Correction, it works on Linux 32bit and Windows, but not always on Linux
64bit. On Linux 64 bit, v.buffer2 (and v.parallel2) create sometimes zero-
size areas, the bug is somewhere in the vector libs, more specifically in
buffer2.c and/or dgraph.c.
>
Test commands for the North Carolina dataset
{{{
v.extract input=roadsmajor at PERMANENT output=roads_multilane
where="MULTILANE = 'yes'"
v.buffer input=roads_multilane output=roads_multilane_buf distance=2000
}}}
results in
{{{
WARNING: Next edge was visited but it is not the first one !!! breaking
loop
WARNING: Next edge was visited but it is not the first one !!! breaking
loop
WARNING: Next edge was visited but it is not the first one !!! breaking
loop
WARNING: Vect_get_point_in_poly(): Unable to find point in polygon
ERROR: Vect_get_point_in_poly() failed
}}}
if the patch from #1231 has been applied, otherwise it cycles forever as
described for v.parallel2 in #1231, which happens because
Vect_get_point_in_poly() can not find a point in a zero-size polygon. This
happens only on Linux 64bit, not on Linux 32bit or Windows. The same
command with distance=1000 completes on 64bit, but there are also warnings
like
{{{
WARNING: Next edge was visited but it is not the first one !!! breaking
loop
}}}
If this bug can not be resolved I would suggest to reactivate the original
versions of v.buffer and v.parallel (the bugs described there are easy to
fix within the module without touching the libs) and deactivate v.buffer2
and v.parallel2.
Markus M
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/699#comment:13>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list