Search squid archive

Re: Squid crash on OpenBSD 5.2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/01/2013 8:06 p.m., Loïc BLOT wrote:
In my case, it seems the ASSERT is thrown when GetAddrInfo look at
inexistant DNS name. (in the backtrace the DNS name does'nt exists).
Before there is 2 conditions for IPv4 and IPv6. This function is called
before any helper i think (Comm::ConnOpener::start), squidGuard doesn't
show anything about this case in the logs.

IP::Address::GetAddrInfo() function is called to convert an IP address from Squid internal storage format to POSIX address storage format for passing to the operating system. DNS and domain names are not relevant, this is purely an IP->IPv4 and IP->IPv6 conversion. The ASSERT() is there to cause a crash for debug when IPv6 address is forced into smaller IPv4 format and the reverse.

The problem is apparently that AF_UNSPEC on OpenBSD is 0 when the comm.cc part of Squid is built and non-0 when the src/ip/ library part is built. Weird.

One thing is sure, when i resolve this problem my squid doesn't crash
anymore, and my clients can work without any problem.
For asserts, i understand your view. In my case, i prefer to handle code
rather than force crash program, that's better for stability. I know
assert means the program comes to an unattended area.

How do you handle storing a 128-bit value into a 32-bit storage space?

Since this patch, squid stability is now perfect
  6104 _squid     2    0 3067M 3070M sleep/1   poll     20:53  0.73%
squid

20h uptime, 0 crash, whereas before 2 min only.
~45000 requests were treated during uptime.

How many connections were randomly aborted with no response?
How many were failed to IPv4 connections when IPv6 connectivity was presented by the website?

Amos



[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux