
|
[openbeosnetteam]
||
[Date Prev]
[02-2002 Date Index]
[Date Next]
||
[Thread Prev]
[02-2002 Thread Index]
[Thread Next]
[openbeosnetteam] Re: test_mbuf???
- From: "David Reid" <dreid@xxxxxxxxxxxx>
- To: <openbeosnetteam@xxxxxxxxxxxxx>
- Date: Fri, 8 Feb 2002 17:01:30 -0000
> > It's crashing and some of the variables are getting corrupted along
> > the way.
> > Strange. Can anyone who might know why have a look and see if they
> > can spot
> > the problem=3F
Doh!
>
> I played a bit with the test program, perhaps these findings help you:
> - it doesn't matter how many threads you are starting (it also crashes
> with only one thread)
> - the threads crash when they return
> - they don't crash anymore, when you have more than 224 loops: with up
> to 223 loops, they will always crash, with 224 and more loops, they
> never crash - 100% reproducible.
That's no real help is it? thanks for your efforts, but so far I can't see
anything that's wrong. It looks like the stack gets corrupted eaarly on
(loop 9 on buffer 13) when th (the thread number) changes from 0 to a
large -ve number.
Here's some extra debugging...
Thread 0: loop 8, buf 11 => 0xa0000a00
OK, no free blocks...i mp = 0x80014028
mp->avail = 1024, p->alloc_size = 256
ok, passing back 0xa0000c00
mp: ptr = 0xa0000d00, avail = 768
can we return? rv = 0xa0000c00
Thread 0: loop 8, buf 12 => 0xa0000c00
...
Thread 0: loop 9, buf 11 => 0xa0000900
freelist 0xa0000b00, next = (nil)
Thread 0: loop 9, buf 12 => 0xa0000b00
OK, no free blocks...i mp = 0x80014028
mp->avail = 768, p->alloc_size = 256
ok, passing back 0xa0000d00
mp: ptr = 0xa0000e00, avail = 512
can we return? rv = 0xa0000d00
th < 0 at loop 9, buf 13, th = -1610609408
I think this is the point where we've blown up, we just don't know it yet!
david
|

|