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 > that).
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. Thanks, Marcus -- `Rhubarb is no Egyptian god.' GNU http://www.gnu.org [EMAIL PROTECTED] Marcus Brinkmann The Hurd http://www.gnu.org/software/hurd/ [EMAIL PROTECTED] http://www.marcus-brinkmann.de/ _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd
