On Thu, 27-May-1999 at 12:25:48 +0100, Simon Rainey wrote:
> Hi,
>
> Thanks to all those who made suggestions. Using gdb I discovered that the
> floating point exception was generated by the line
>
> x = (double) (store_swap_high - store_swap_size) /
> (store_swap_high - store_swap_low);
>
> within the function storeExpireReferenceAge() (file = store.c). This looks
> pretty harmless to me providing a division by zero doesn't occur.
> Apparently FreeBSD enables floating point exceptions by default, whereas
> Linux does not. Perhaps there's an underflow or something.
>
> The fix was to #include <floatingpoint.h> in main.c and add the line
>
> fpsetmask(~(FP_X_INV | FP_X_DNML | FP_X_DZ | FP_X_OFL | FP_X_UFL | FP_X_IMP));
>
> in the main() function. This disables floating point exceptions for the
> Squid process.
I am running squid-STABLE3 on 3.2-STABLE with two cachdirs as well.
Each cachedir has about 9GB so it's quite similar to yours.
However, I never experienced any problems, even not with -STABLE2...
-Andre
Received on Thu May 27 1999 - 09:10:08 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:46:27 MST