Nearly always when we encounter this error it's due to memory being
overwritten by other code or due to a blown thread stack.  Nearly always we
can find the error by doing one of the following:

1) Start with "-z" option to turn on the zippy memory allocator which has a
simple out-of-bounds checker.  A good litmus test is to run without "-z" and
then with "-z" and see which one fails more quickly (should be the "-z" one
that fails quickly).

2) Increase the stack size parameters in the ns/parameters section.  On
nearly all platforms the default thread stack size is artificially set to
64K even though the thread libraries on platforms like Solaris default to
1024K (that's 1 meg per thread).

ns_param stacksize [expr 1024*512]

3) Run Purify which, if you can get it running properly, will identify
nearly everything that can go wrong.  Requires money.

Kris


> about ten times a day I get an error like
> nsthread(2496) error: Ns_Pool: invalid block: 0x8178198
>
> and my server restarts.  It may be significant that the invalid block
> is always in the same memory region -- 0x8178198, 0x8178100, 0x8177b98.
>  Seems like a possible hardware error -- anyone know a good way to
> check?  I've already tried removing half the RAM at a time; it got the
> errors in all 3 configurations.  So maybe it's a software problem after
> all.  Any ideas how to find out for sure?

--
Kriston Rehberg
America Online, Inc.
http://kriston.net/

Reply via email to