[Openais] Re: segfaults and asserts
Steven Dake
sdake at mvista.com
Wed Feb 23 16:16:35 PST 2005
On Wed, 2005-02-23 at 14:00, Mark Haverkamp wrote:
> On Wed, 2005-02-23 at 13:03 -0700, Steven Dake wrote:
> > The cl019 assert path is a new one I think unreported. If you still
> > have the windows open can you print out the sq data? Also could you go
> > up to update_aru and print out my_aru, i, and my_high_seq. Must be some
> > case I have missed.
> >
>
> $1 = (struct sq *) 0x80ba430
> (gdb) p *sq
> $2 = {head = 38, size = 2000, items = 0x80eb7d8,
> items_inuse = 0x8100fa0 '\001' <repeats 200 times>..., size_per_item = 44,
> head_seqid = 38, item_count = 2000}
> (gdb)
>
>
>
> (gdb) p my_aru
> $5 = 2037
> (gdb) p i
> $6 = 2038
> (gdb) p my_high_seq_delivered
> $7 = 2037
> (gdb) p my_high_seq_received
> $8 = 2038
> (gdb) p my_high_seq_received_save
> $9 = 0
> (gdb)
>
>
There seems to be some strange correlation between i (packet 2038), the
item_count for the sort queue (2000 entries) and the head (position 38).
It would be interesting to know how head got reset to zero when my_aru
is 2037. Can you print the memb_state variable? Did a configuration
change occur around the time this crash occured? (ie token lost, or any
sort of membership messages received).
Thanks
-steve
> > I think we have seen the other segfaul/_delivert but I'm not sure. I don't think
> > I've seen source_addr set to the address 0x8 before. Were you able to
> > debug the segfault? need to know assembly->index and datasize, and
> > iovec[0].iov_len (arguments to the memcpy). Might be interesting to see
> > all the iovec metadata if it has a iovlen of more then 1.
>
> I think that the stack is pretty much trashed by the time the seqfault
> happens. None of the memory addresses that I tried to look at were
> valid.
> For instance:
>
> (gdb) p iovec
> Cannot access memory at address 0xc
> (gdb) p datasize
> Cannot access memory at address 0xfffff9f0
> (gdb) p header
> Cannot access memory at address 0xfffffa08
> (gdb)
> (gdb) p source_addr
> Cannot access memory at address 0x8
> (gdb) p iov_len
> Cannot access memory at address 0x10
> (gdb) p endian_conversion_required
> Cannot access memory at address 0x14
>
>
> >
> > Thanks
> > -steve
>
>
>
> > >
More information about the Openais
mailing list