Re: Stack overflow crash.

Rogier Wolff (R.E.Wolff@BitWizard.nl)
Tue, 22 Dec 1998 10:04:26 +0100 (MET)


Mike Galbraith wrote:
> > Roger Wolff wrote:
> > (Sure I'm triggering it, but then it shouldn't go "wild" and
> > recursively call itself.....)

Ok. Maybe it should.... Sorry for the confusion...

> This is something that IKD may be good for. It has a feature to capture
> detect overflows and oops. If you freeze the trace buffer upon oops, you
> can get a nice long trace leading to the event.

Thanks. I found the problem by the way.

I had designed the "interrrupt routine" to be the single threaded
routine that would stuff characters from the internal output buffer
into the serial card. After I put stuff into the output buffer, I
check if transmitter empty interrupts are on. If not, I'll just turn
them on and then the interrupt routine can sort it out.

Nu such luck: The card won't give me a "transmitter empty" interrupt,
because I should've stuffed the characters into the card in the first
place. Anyway, so I modified the "turn on transmitter empty
interrupts" routine to stuff some characters into the card. Well, that
leads to nice races all over the place.

My guess is that the memcpy in the "push characters to the card"
routine got bad arguments. The result was an 4G memcpy, which will
wack the machine in the worst possible way.....

Roger.

-- 
** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2137555 **
*-- BitWizard writes Linux device drivers for any device you may have! --*
*   Never blow in a cat's ear because if you do, usually after three or  *
*   four times, they will bite your lips!  And they don't let go for at  *
*   least a minute. -- Lisa Coburn, age 9

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/