Date: Tue, 09 Nov 1999 09:49:27 -0500 From: Bill White <[EMAIL PROTECTED]>
At 02:22 PM 11/8/99 -0500, Roland McGrath wrote: >> I am looking at the nfsd, but I am getting traps and failures in: >> >> sleep -> mach_msg -> mach_msg_trap > >Please be more specific. Can you show us the gdb backtrace and so forth? >What does "traps and failures" mean exactly? Sorry. I don't have it right in front of me, but I get a trace trap (SIGIOT maybe?), and then, when I continue that, a SEGV. I think it is related to GDB, since I don't see this when I run the program outside of GDB. Is it possible that GDB breaks on some signal which is normally ignored, and that some problem with restarting after the trap causes the program to get a SEGV? I am not a gdb expert anymore, if I ever was. Is it possible in gdb to turn off breaking in some circs? That is, can I turn off breaking for the trace trap? GDB still has many deficiencies, especially when debugging multiple threads. I am seeing similar problems as you're experiencing from time to time. While I'm more or less acting as the maintainer of the Hurd-specific parts of GDB, there are still parts of the interaction between GDB and the program being debugged that I do not fully grasp yet. I hope I can make some improvements though. So, if the Hurd libc and the GNU/Linux libc are the same source base, does that mean that most of the Hurd's libc is identical to Linux? Yes, a lot of code is identical. The Hurd libc contains a lot of additional code though, since libc implements a lot of functionality that is provided by system calls on Linux. The Hurd libc also contains a lot of Mach specific code. We also use a different stdio implementation than Linux, but this will change in the future. I thought that the Hurd's libc was in constant flux, though I can't recover how I got that impression. Well, it is changing, but not at a rapid pace. But we're fixing some critical bugs from time to time. Is the GNU/Linux libc in flux as well, and how is the work on the two synchronized? There is a stable branch, 2.1.x, to which only bug-fixes are applied and a development version that already contains a lot of new functionality (for example, `wide' streams). Basically we try our best to have it working on the Hurd when the glibc maintainer wants to release a new version, but there is no formal way of synchronization. Mark

