[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libc failure
Re: libc failure
Mon, 18 Nov 2002 10:08:09 +0100
On Mon, Nov 18, 2002 at 09:26:56AM +0100, Marcus Brinkmann wrote:
> When leaving gdb at that point, the sh process (which forked), still runs.
> And after I few seconds I get a kernel panic. This seems to be another bug.
> (See below for a kernel backtrace, which looks ok to me).
> I will set a breakpoint at the exception handler and see if that shows
> something (an infinite amount of exceptions generated or something like
It's indeed the case that a bombardement of exceptions are generated, and
eventually the kernel gets short on reply ports or so. The exception
management in glibc and the proc server looks peculiar. Roland, do you have
an idea what happens if you receive an exception in a fork?
Is that related to the critical section lock?
Even if the task refuses to cooperate, proc should notice the exceptions
and kill the task, right? This is not happening here. As this happens
before we really start a frok, this doesn't seem to be related to
parent/child process management or half-setup state. If holding the
critical section lock and faulting is all that is needed to make proc
confused and Mach to panic, then there must be a bug in proc in that it
doesn't properly notice if the task is not handling its exceptions.
I guess I need to debug S_proc_exception_raise, in particular the
MACH_SEND_NOTIFY_IN_PROGRESS case. Yuck, that means setting up a
neighborhurd. In any case, the first order bug here is that the prepare
hook faults with main_arena.next being zero.
`Rhubarb is no Egyptian god.' GNU http://www.gnu.org email@example.com
Marcus Brinkmann The Hurd http://www.gnu.org/software/hurd/