[GRASS-dev] Re: Testing needed for v.buffer2
Hamish
hamish_b at yahoo.com
Thu Sep 11 22:29:09 EDT 2008
Росен Матев wrote:
> My mentor Wolf and I are experiencing problems with the new buffer
> module. For some certain input it works well on my system but doesn't
> finish at all on Wolf's. We need some help to figure out what's
> happening. Here are the details:
>
> 1) checkout https://svn.osgeo.org/grass/grass-addons/vector/v.buffer2
> and compile the module
now compiles cleanly- cheers!
> 2) set DEBUG=3
ok,
g.gisenv set="DEBUG=3"
> 3) run "v.buffer2 input=busroute11 output=busroute11_buf distance=31",
> where busroute11 is a map from nc_spm
> (distances < 31.3 are problematic, 32 is fine on Wolf's system)
I get the same, 31.4 and up are fine and take <1 sec to complete.
I notice this is when the sliver along parallel paths of Western Blvd.
first opens up.
v.buffer2 input=busroute11 output=busroute11_buf31 \
distance=31 2> br11_buf31.txt
[wait wait wait]
^C
> 4) say whether the module finishes ok, and send your debug output in
> case it didn't finish
Less than 31 never completes. Log attached.
> (on my machine it takes ~15 seconds for the module to finish
> outputting the debug info)
It will be much faster if you redirect it to a file versus displaying it
on the terminal. Some terms like gnome-terminal are very slow. xterm and
rxvt will be much faster but still not as fast as writing to a file.
v.buffer2 ... 2> logfile.txt
Use "tee" if you want to see it both in the terminal & saved to a file:
v.buffer2 ... 2>&1 | tee logfile.txt
I was curious to see where it was getting stuck, and so I threw it into
gdb (by way of kdbg):
kdbg `which v.buffer2`
Execution -> Arguments -> "input=busroute11 output=..."
Run
whiz bang whirl ... freeze
Execution -> Break
Execution -> Step Into
.... link_dispose() in lib/linkm/dispose.c
Execution -> Step out
.... destroy_links() in lib/vector/Vlib/poly.c
and if you step through from there it is stuck in the destroy_links()
loop.
if you go to View->Locals and expand the *tmp struct you will see as
you step along that *p and *tmp just bounce around in an endless circle
between two memory valid addresses, so it never reaches NULL.
The x value for those two are 638631.01569480076 and 637951.01569479937
Hamish
-------------- next part --------------
A non-text attachment was scrubbed...
Name: br11_buf31.txt.gz
Type: application/x-gzip
Size: 13351 bytes
Desc: not available
Url : http://lists.osgeo.org/pipermail/grass-dev/attachments/20080911/68aff437/br11_buf31.txt-0001.gz
More information about the grass-dev
mailing list