[GRASS-dev] Re: [GRASS GIS] #36: v.generalize Assertion failed.

GRASS GIS trac at osgeo.org
Tue Feb 5 12:19:48 EST 2008


#36: v.generalize Assertion failed.
----------------------+-----------------------------------------------------
  Reporter:  marisn   |       Owner:  grass-dev at lists.osgeo.org
      Type:  defect   |      Status:  new                      
  Priority:  major    |   Milestone:  6.4.0                    
 Component:  default  |     Version:  svn-trunk                
Resolution:           |    Keywords:                           
----------------------+-----------------------------------------------------
Comment (by martinl):

 Replying to [ticket:36 marisn]:
 {{{
 > (gdb) run -r input=cont_4144 at PERMANENT output=cont_4144_general
 type=line method=hermite threshold=3 look_ahead=7 reduction=50 slide=0.5
 angle_thresh=3 degree_thresh=0 closeness_thresh=0 betweeness_thresh=0
 alpha=1.0 beta=1.0 iterations=1 layer=1 --overwrite
 > Starting program: /home/maris/soft/grass_trunk/dist.x86_64-unknown-
 linux-gnu/bin/v.generalize -r input=cont_4144 at PERMANENT
 output=cont_4144_general type=line method=hermite threshold=3 look_ahead=7
 reduction=50 slide=0.5 angle_thresh=3 degree_thresh=0 closeness_thresh=0
 betweeness_thresh=0 alpha=1.0 beta=1.0 iterations=1 layer=1 --overwrite
 > [Thread debugging using libthread_db enabled]
 > [New Thread 0x2b33d27a2ce0 (LWP 16093)]
 > WARNING: Vector map <cont_4144_general> already exists and will be
 >          overwritten
 > Generalization (hermite)...
 >  100%
 > Building topology for vector map <cont_4144_general>...
 > Registering lines: v.generalize: index.c:157: RTreeInsertRect: Assertion
 `r->boundary[i] <= r->boundary[3+i]' failed.
 >
 > Program received signal SIGABRT, Aborted.
 > [Switching to Thread 0x2b33d27a2ce0 (LWP 16093)]
 > 0x00002b33cf082b45 in raise () from /lib64/libc.so.6
 > (gdb) bt
 > #0  0x00002b33cf082b45 in raise () from /lib64/libc.so.6
 > #1  0x00002b33cf0840e0 in abort () from /lib64/libc.so.6
 > #2  0x00002b33cf07c07f in __assert_fail () from /lib64/libc.so.6
 > #3  0x00002b33ce27df3e in RTreeInsertRect (R=<value optimized out>,
 Tid=<value optimized out>, Root=0x7fffddb5fa50, Level=0)
 >     at index.c:157
 > #4  0x00002b33ce075559 in dig_spidx_add_line (Plus=0x7fffddb5f840,
 line=12, box=0x7fffddb5f5b0) at spindex.c:128
 > #5  0x00002b33ce071561 in dig_add_line (plus=0x7fffddb5f840, type=2,
 Points=0x74ad50, offset=105753) at plus_line.c:133
 > #6  0x00002b33cd177cab in Vect_build_nat (Map=0x7fffddb5f830, build=4,
 msgout=0x2b33cf391760) at build_nat.c:501
 > #7  0x00002b33cd1767a3 in Vect_build_partial (Map=0x7fffddb5f830,
 build=4, msgout=0x2b33cf391760) at build.c:152
 > #8  0x0000000000404e23 in main (argc=19, argv=0xfffffffe) at main.c:489
 }}}

 From ML by Daniel Bundala:

 I just checked it and it works fine for me. I tried it with the map
 and command you sent and everything was ok. What version of GRASS do
 you use? As I remember, there were a few problems with hermite
 interpolation some time ago, but it should be fixed now. The problem
 occured when a line in the map contained two consecutive points at the
 same position. If this is the case then you can remove such points
 with v.generalize itself (method=reduction threshold=eps) or with
 v.clean

 Daniel

 ---

 On my machine (Debian GNU/Linux, 32bit, grass-svn) I get the same error

 {{{
 Registering lines: v.generalize: index.c:157: RTreeInsertRect: Assertion
 `r->boundary[i] <= r->boundary[3+i]' failed.
 }}}

 Martin

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/36#comment:3>
GRASS GIS <http://grass.osgeo.org>
GRASS Geographic Information System (GRASS GIS) - http://grass.osgeo.org/


More information about the grass-dev mailing list