[Spread-users] crash bug report

Theo Schlossnagle jesus at omniti.com
Tue Dec 23 17:35:22 EST 2003


On Tue, 2003-12-23 at 17:04, Greg Shebert wrote:
> line 797:
> 
> num_vs_ptr = (int32 *)&Mess_buf[ num_bytes ];
> num_bytes += sizeof( int32 );
> *num_vs_ptr = 1;
> 
> the last statement (line 799) can cause a bus error... basically, if
> num_bytes is not a multiple of the host systems word size then the last
> statement tries to write a word length value into a location that is not
> word aligned... 
> 
> the resulting bus error brings down the daemon :(
> 
> i corrected this using a memcpy instead of the assignment and this seems
> to correct the problem...
> 
> i experienced the problem on solaris2.8

You are not mislead.  That will certainly cause a bus error on any
architecture that requires word aligned copies like that.  It'll likely
bus error on alpha as well.

-- 
// Theo Schlossnagle
// Principal Engineer -- http://www.omniti.com/~jesus/
// Postal Engine -- http://www.postalengine.com/
// Ecelerity: fastest MTA on earth






More information about the Spread-users mailing list