Don't work too hard! Use SunSolve!Instead of trying to debug UNIX internals code without the proper tools (Source!), let's jump into research mode to see if this is a known problem. Yes, we hear a few of you mumbling "It's about time!", but think of all that you learned. Using Sun's SunSolve program, let's search the bugs and patches databases for the following keywords:
Picking search keywords is sometimes an art of its own, so let's explain why we chose the keywords we did. The first two are from the stack traceback. Alignment is a good word to use to search for memory alignment panics. Specifying the operating system will help eliminate non-4.1.3 bug reports . The results in this search: Bug 1050077. Bug 1050077 reports a problem with the following stack traceback shown as an example. physmem bf3 _panic(0xf81514e9,0xf825acbc,0x0,0x0,0xf825b,0xf7fffc78) + 6c _trap(0x7,0xf825acbc,0x0,0x0,0x0,0x0) + 184 fixfault(?) _uiomove(0x0,0x0,0x1000,0x2,0x1002,0x2) + 50 _fifo_rdwr(0xff0b3600,0xf825aeac,0x0, 0xff0d5757 ,0x2,0x0) + 5ac _vno_rw(0xf81b39e0,0x1,0xf825aeac,0x1000,0xff0b3604,0x0) + a4 _rwuio(0xf81b39e0,0xf825aeac,0xf825aea4,0x1000,0x1000,0xf825aeac) + 2b0 _write(0xf825afe0,0x20,0xf813af88,0xf813afa8,0xf825b000,0xf813afa8) + 34 _syscall(0xf825b000) + 3b4 Interesting, isn't it? You couldn't ask for a much nicer match! Next, we search the patch database for bug 1050077 and get a match on patch number 100347. The patch description reads as follows : "Problem Description: Under a heavy load, writing to a named pipe (fifo) can cause a kernel panic, if one doesn't have the definition in fifo.h set up correctly. Specifically, the definition for FIFOBUF must be greater than FIFOBSZ. Otherwise, you end up using a union instead of a structure, and the union pointer gets overwritten." |