[GRASS-dev] Re: [GRASS GIS] #97: r.random fails with bus error on Mac OS X 10.5

GRASS GIS trac at osgeo.org
Wed Mar 19 00:56:43 EDT 2008


#97: r.random fails with bus error on Mac OS X 10.5
-----------------------+----------------------------------------------------
  Reporter:  cmbarton  |       Owner:  grass-dev at lists.osgeo.org
      Type:  defect    |      Status:  new                      
  Priority:  critical  |   Milestone:  6.3.0                    
 Component:  default   |     Version:  unspecified              
Resolution:            |    Keywords:  r.random Mac             
-----------------------+----------------------------------------------------
Comment (by glynn):

 Replying to [comment:1 kyngchaos]:
 > verified bus error on Leopard and OK on tiger, SVN 3/8.  Here is the
 thread trace from the crashlog:
 >
 > {{{
 > Thread 0 Crashed:
 > 0   r.random                          0x000021a7 set_max + 103
 > 1   r.random                          0x00002498 get_stats + 686
 > }}}

 I don't know if it's related to the crash, but the way that the RASTER_PTR
 union is used in get_stats violates ANSI C aliasing rules. Specifically,
 the code stores a pointer in data.v but then uses data.[cfd]. Because
 those fields have different types, the compiler is entitled to treat the
 fields as distinct, even though they overlap. E.g. if it has a copy of
 data.c in a register, and you modify data.v, references to data.c may
 still use the value stored in the register.

 As for the crash, we really need at least a proper backtrace with argument
 values, and ideally the values of any relevant variables.

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


More information about the grass-dev mailing list