Re: squid 1.1.21 dies every hour, reason found (long, 16k)

From: Duane Wessels <wessels@dont-contact.us>
Date: Mon, 30 Mar 1998 16:35:40 -0700

Andre Albsmeier writes:

>> Andre Albsmeier wrote:
>>
>> some things that are delayed or run with a hour interval, but if this
>> was the cause then your Squid should die with a interval of somewhat
>> more than one hour, and not on the same time each hour..
>>
>> Check your crontabs (and cron log) some more. I still think you have
>> something running that triggers something in Squid.
>>
>> Since it seems to die exactly on the hour, you could try to enable debug
>> logging before it dies (squid -k debug). run squid -k debug at 2
>> miniutes before full hour, and we should get a quite clear picture of
>> what Squid was doing when it dies (if it does). If it doesn't die you
>> can run squid -k debug again to return the logging to normal.
>
>Thanks again for the hint! All people who wrote about the crontab were
>partially right: There IS a crontab job but NOT on the squid machine.
>
>There is some client who does periodically request a URL to see if
>it has changed. This is done with a perl script. When this perl script
>is run, squid dies immediately. I still have to find out what's
>happening here but I think this perl script does something strange
>which confuses squid and it dies.
>
>This script was also running a long time with 1.1.20 and never caused
>a problem; so I am really curious finding out what has changed from
>version 1.1.20 --> 1.1.21 to cause this behaviour...

Thank you for the great debugging. Please try this patch:

Index: icp.c
===================================================================
RCS file: /surf1/CVS/squid/src/Attic/icp.c,v
retrieving revision 1.228.2.45
diff -c -r1.228.2.45 icp.c
*** icp.c 1998/03/17 03:03:46 1.228.2.45
--- icp.c 1998/03/30 23:34:24
***************
*** 590,596 ****
            *p = '\0';
            len = p - buf;
            /* force end */
! icpState->out_offset = entry->mem_obj->e_current_len;
        }
      }
      comm_write(fd,
--- 590,599 ----
            *p = '\0';
            len = p - buf;
            /* force end */
! if (entry->store_status == STORE_PENDING)
! icpState->out_offset = entry->mem_obj->e_current_len;
! else
! icpState->out_offset = entry->object_len;
        }
      }
      comm_write(fd,

Duane W.
Received on Mon Mar 30 1998 - 15:39:55 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:39:29 MST