[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: oskit-mach bug, panic in consider_lmm_collect()

From: Igor Khavkine
Subject: Re: oskit-mach bug, panic in consider_lmm_collect()
Date: Mon, 30 Jul 2001 01:44:41 -0400
User-agent: Mutt/1.3.18i

On Tue, Jul 24, 2001 at 01:11:01AM -0400, Roland McGrath wrote:
> > It seems that in one of the `regions' of `malloc_lmm', the sum of
> > all `size' fields of all nodes on the list does not add up to
> > `free' as marked in the region structure.
> Sounds like clobberation to me.

Yup it was. Ironically it was from the Linux tulip driver that I replaced
in the oskit source tree. I'm not sure if that bug persists in Linux as well.
The code was trying to align an allocated block of memory on quadword
boundary, but then the end of the block was going over the end of the
allocated region, clobbering one of the free memory lists.

I'm not sure how I should make the fix available. Should I just post it
somewhere on the web, or submit it to the Linux/OSKit people?

> > Also it seems impossible to interrupt a running kernel using C-c from
> > gdb over a serial line. Is this feature not implemented in oskit-mach's
> > gdb stubs? This makes it very difficult to set breakpoints since I have
> > to set all of them before the kernel starts running.
> There are other tricks you can use, like setting a breakpoint on a
> rarely-used system call and then do something in your Hurd that invokes it.
> I don't recall what I used to use for this.
> I remember C-c not working very often, though it should.  The way it should
> work is that the irq for the gdb serial port should be set up by
> gdb_pc_com_init to run gdb_pc_com_intr.  There is a hack in int_init.c
> in oskit-mach that tries to avoid interfering with this, but it is
> hard-wired for irq 3 (the usual setting for the second serial port).

I added a system call called `gdb_break_stub' and a wrote a small
program that calls it. Works like a charm.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]