[GRASS-dev] [GRASS GIS] #1680: r.proj w/ OpenMP segfaults

GRASS GIS trac at osgeo.org
Tue Jun 26 22:44:54 PDT 2012


#1680: r.proj w/ OpenMP segfaults
----------------------------+-----------------------------------------------
 Reporter:  hamish          |       Owner:  grass-dev@…              
     Type:  defect          |      Status:  new                      
 Priority:  normal          |   Milestone:  7.0.0                    
Component:  Raster          |     Version:  svn-trunk                
 Keywords:  r.proj, openmp  |    Platform:  Linux                    
      Cpu:  x86-64          |  
----------------------------+-----------------------------------------------
 Hi,

 just trying r.proj in trunk with OpenMP support. Allocation of memory
 works fine, then it roars into life on all processors, but after 20 sec or
 so it segfaults.

 partial gdb session:
 {{{
 Allocating memory and reading input map...
  100%
 Projecting...
 [New Thread 0x7fffecb6f700 (LWP 22162)]
 [New Thread 0x7fffec36e700 (LWP 22163)]
 [New Thread 0x7fffebb6d700 (LWP 22164)]
 [New Thread 0x7fffeb36c700 (LWP 22165)]
 [New Thread 0x7fffeab6b700 (LWP 22166)]
   90%
 Program received signal SIGSEGV, Segmentation fault.
 0x00000000004064fe in p_nearest (ibuffer=0x60d1b0, obufptr=0x628804,
 cell_type=1, col_idx=270.09924849952966,
     row_idx=15568.366738961817, cellhd=0x7fffffffd870) at nearest.c:33
 33          cell = CVAL(ibuffer, row, col);



 (gdb) bt
 #0  0x00000000004064fe in p_nearest (ibuffer=0x60d1b0, obufptr=0x628804,
 cell_type=1, col_idx=270.09924849952966,
     row_idx=15568.366738961817, cellhd=0x7fffffffd870) at nearest.c:33
 #1  0x00000000004063a7 in main.omp_fn.0 (.omp_data_i=0x7fffffffdbe0) at
 main.c:517
 #2  0x0000000000405dfd in main (argc=5, argv=0x7fffffffde98) at main.c:496

 (gdb) list
 28          if (row < 0 || row >= cellhd->rows || col < 0 || col >=
 cellhd->cols) {
 29              Rast_set_null_value(obufptr, 1, cell_type);
 30              return;
 31          }
 32
 33          cell = CVAL(ibuffer, row, col);
 34
 35          if (Rast_is_f_null_value(&cell)) {
 36              Rast_set_null_value(obufptr, 1, cell_type);
 37              return;

 (gdb) bt full
 ...
         obuffer = 0x628680
         ibuffer = 0x60d1b0
 ...
         row = 16068
         col = 3137560
         irows = 16801
         icols = 15601
         orows = 17353
         ocols = 15380
 ...
 }}}

 The column count seems a bit wacky:
  '' col = 3137560 ''

 I don't know if it means anything, but note that value is just over 200 *
 icols.


 ?,
 Hamish

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/1680>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list