At 02:16 PM 09/05/02 -0600, Jason Gunthorpe wrote: > >On Thu, 5 Sep 2002, Bill Moseley wrote: > >> >> Here's where it's blowing up: >> >> struct dev_ino *p; >> struct stat buf; >> ... >> // allocate a bit of memory from the pool. >> p = (struct dev_ino *) Mem_ZoneAlloc( >> sw->Index->entryZone,sizeof(struct dev_ino)); >> >> p->dev = buf.st_dev; // *poof!* SIGBUS >> >> SIGBUS when the address ends in 4 or C but OK when it ends in 0 or 8. > >Hum, that seems a bit surprising, what does your 'struct dev_ino' look >like?
struct dev_ino { dev_t dev; ino_t ino; struct dev_ino *next; }; And now I see another SIGBUS with this code: Program received signal SIGBUS, Bus error. 0x0001ae60 in coalesce_word_locations (sw=0xdbdf0, indexf=0xf46e8, e=0x7037dd50) at index.c:2691 2691 *(unsigned int *)size_p = tmp; And if I print out the address: tmp is an unsigned int. size_p at: 9BB5D Bus error. My guess is that's another alignment error. That bit of code is used to compress our data in RAM. Thanks, -- Bill Moseley mailto:[EMAIL PROTECTED]