It seems people misunderstood my original question.  Let me respond
to those who responded, then at the BOTTOM of this email, better
elaborate on my original question.


On 2002.01.22, Peter M. Jansson <[EMAIL PROTECTED]> wrote:
> I've got a box with a 2.4.1 kernel running a lightly-used AOLserver; it's
> been up for about 60 days with no kernel panic.  The data point may not
> correlate to your situation, though, considering that it's a different
> kernel and probably a really different workload.

Does the nsd process uptime match the machine uptime?  If so, then
you wouldn't have seen the problem.

On 2002.01.22, Titus Brown <[EMAIL PROTECTED]> wrote:
> I'm running 2.4.12 on a machine with about six different moderately used
> AOLserver processes running.  No problems; AOLserver uptime corresponds
> to the machine's uptime, ~90 days...

You wouldn't see the problem, then.

On 2002.01.22, Jon Griffin <[EMAIL PROTECTED]> wrote:
> I am running multiple AOLservers on 2.4.17 hardened boxes and have no
> problems.

Doing any virtual hosting with nsvhr?

===

Okay, what I was asking was, is anyone doing _development_ of AOLserver
on Linux 2.4.x kernels.  Particularly, development where you've made
a small boo-boo and scribbled some memory, causing a segfault, due to
bad pointer use -- in my case, memcpy()'ing more data into a pointer
than was allocated.

Normally, this just causes a segfault, and the process gets cleaned up,
and you start over.  However, on my machine, it causes a segfault, and
kills and reaps the process, but somewhere between the segfault,
reaping the process, and slightly afterwards ... the machine kernel
panics.  No oops gets saved because it refuses to sync on this kernel
panic.  Plus, since I'm guessing that it's kernel memory that's getting
stomped on, the oops output may be erroneous anyway.

Does someone have a dev. box running x86 Linux 2.4.17 with libc6 2.2.4
where they'd be willing to run an experiment?  Inside a thread, just
do something like this:

    char *foo;
    char *bar;
    int i;

    foo = malloc(10);
    bar = malloc(100);

    for (i = 0; i < 100; i++) bar[i] = i;

    memcpy(foo, bar, 50);

That should segfault, but if it's inside a thread, memory protection
in the Linux kernel doesn't seem to stop the thread from hosing memory
it's not allowed to touch.  That's my guess as to why my box keeps
panicking, at least.

Maybe someone like Rob could speak up about this, since he seems to
be very knowledgeable about these sorts of things.

-- Dossy

--
Dossy Shiobara                       mail: [EMAIL PROTECTED]
Panoptic Computer Network             web: http://www.panoptic.com/
  "He realized the fastest way to change is to laugh at your own
    folly -- then you can let go and quickly move on." (p. 70)

Reply via email to