Haproxy 1.8.25 segfault

2020-05-23 Thread Igor Cicimov
Hi guys,

We are getting segfaults with haproxy 1.8.25 and thought I would ask if
this rings any bell:

segfault at 5609a853 ip 7f1b93928c10 sp 7ffd5e731fd8 error 4 in
libc-2.19.so[7f1b9388e000+1be000]

It is running on Ubuntu-14.04.2 (kernel 4.4.0-144-generic) and is happening
only on this particular one out of many dozens we have on Ubuntu-14.04 and
16.04

I have attached strace so more details upon the next crash.

Thanks,
Igor


Re: Time applied on DNS resolution with valid response

2020-05-23 Thread Ricardo Fraile

El 2020-05-23 15:48, Baptiste escribió:

On Thu, May 21, 2020 at 11:47 AM Ricardo Fraile 
wrote:


Hello,

I'm fancing an extrange behaviour with DNS resolution and
timeout/hold
times. As testing enviroment, I use Haproxy 1.8.25 and this sample
conf:

global
master-worker
log /dev/log local5 info
pidfile /var/run/haproxy.pid
nbproc 1

resolvers dns
nameserver dns1  1.1.1.1:53 [1]

resolve_retries   3
timeout resolve   5s
timeout retry10s
hold other   10s
hold valid   60s
hold obsolete10s
hold refused 10s
hold nx  10s
hold timeout 10s

listen proxy-tcp
mode tcp
bind *:80
default-server check resolvers dns init-addr none
resolve-prefer ipv4

server host1 host1:80

On the DNS server, the entry for host1 is valid as noted here:

# dig host1 @1.1.1.1 [2]

;; ANSWER SECTION:
host1. 300 IN A 7.7.7.7

But getting the network traffic from the DNS server I can see the
following:

11:29:31.064136 IP [bal_ip].49967 > dns1: 121+ [1au] A? host1. (62)
11:29:36.065749 IP [bal_ip].49967 > dns1: 14393+ [1au] A? host1.
(62)
11:29:41.067816 IP [bal_ip].49967 > dns1: 35337+ [1au] A? host1.
(62)

Each 5 seconds, as defined in "timeout resolve", it receives a
query.
But as it is valid, why Haproxy doesn't hold it with the time
defined on
"hold valid", 60 seconds?

Thanks,


Hi Ricardo

Hold valid means that we keep this response for said period if the
server becomes unresponsive or returns NX.
HAProxy carry on performing queries at timeout.resolve period to
ensure a faster convergence in case the response is updated.

Baptiste

Links:
--
[1] http://1.1.1.1:53
[2] http://1.1.1.1



Thanks Baptiste, I haven't understood clearly the concepts with the 
documentation. Your comment fits with the behaviour that I see.




Re: Time applied on DNS resolution with valid response

2020-05-23 Thread Baptiste
On Thu, May 21, 2020 at 11:47 AM Ricardo Fraile  wrote:

> Hello,
>
>
> I'm fancing an extrange behaviour with DNS resolution and timeout/hold
> times. As testing enviroment, I use Haproxy 1.8.25 and this sample conf:
>
> global
>  master-worker
>  log /dev/log local5 info
>  pidfile /var/run/haproxy.pid
>  nbproc 1
>
> resolvers dns
>  nameserver dns1  1.1.1.1:53
>
>  resolve_retries   3
>  timeout resolve   5s
>  timeout retry10s
>  hold other   10s
>  hold valid   60s
>  hold obsolete10s
>  hold refused 10s
>  hold nx  10s
>  hold timeout 10s
>
> listen proxy-tcp
>  mode tcp
>  bind *:80
> default-server check resolvers dns init-addr none resolve-prefer
> ipv4
>
>  server host1 host1:80
>
>
>
> On the DNS server, the entry for host1 is valid as noted here:
>
> # dig host1 @1.1.1.1
>
> ;; ANSWER SECTION:
> host1. 300 IN A 7.7.7.7
>
>
>
> But getting the network traffic from the DNS server I can see the
> following:
>
> 11:29:31.064136 IP [bal_ip].49967 > dns1: 121+ [1au] A? host1. (62)
> 11:29:36.065749 IP [bal_ip].49967 > dns1: 14393+ [1au] A? host1. (62)
> 11:29:41.067816 IP [bal_ip].49967 > dns1: 35337+ [1au] A? host1. (62)
>
> Each 5 seconds, as defined in "timeout resolve", it receives a query.
> But as it is valid, why Haproxy doesn't hold it with the time defined on
> "hold valid", 60 seconds?
>
>
>
> Thanks,
>
>
Hi Ricardo

Hold valid means that we keep this response for said period if the server
becomes unresponsive or returns NX.
HAProxy carry on performing queries at timeout.resolve period to ensure a
faster convergence in case the response is updated.

Baptiste


Survey on Change Management

2020-05-23 Thread Change Management

This email newsletter was sent to you in graphical HTML format.
If you're seeing this version, your email program prefers plain text emails.
You can read the original version online:
https://ymlptr9.net/zxMlt3



Greetings

Many organizations fail to respond to external and internal
environment which in turn affect the well-being of the organization
and may cause total shutdown and loss of business such as Nokia case.
Other organizations are considering the Marketing Mix along with the
change best practices to insure continued prosperity and revenues.The
study will also conclude the best leadership style that should be
associated with a change. This research is done to investigates the
best practices of organizational change and the best leadership theory
that could be used to implement change. It aims at helping
organizations in implementing a successful change, as well as the
marketing and leadership strategies of change adopted to insure
successful implantation of the change. This study seeks to identify
the most recurrent factors that drives organizational change, and to
illustrate methodologies for an effective change.

We kindly ask you to complete this quick 12 Questons Suervy in this
regard.

https://www.smartsurvey.co.uk/s/ChangeManagementleadershipstyle/

Many Thanks

_
Unsubscribe / Change Profile: https://ymlptr9.net/ugwhmwyqgsguqhjummgessygguujwq
Powered by YourMailingListProvider



[PATCH] cleanup coverity findging (make it silent)

2020-05-23 Thread Илья Шипицин
Hello,

let us clean up non important finding by wrapping it with DISGUISE(..)


Cheers,
Ilya Shipitcin
From 7060a886a76452245ec466f6f7aaf28d504c9c3f Mon Sep 17 00:00:00 2001
From: Ilya Shipitsin 
Date: Sat, 23 May 2020 15:35:36 +0500
Subject: [PATCH] CLEANUP: src/checks.c: ignore return value using DISGUISE(..)

we do not want to check status of extchk_setenv, but static analyzsers
like Coverity are not happy about it. Let calm coverity down.
---
 src/checks.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/checks.c b/src/checks.c
index 01a27f87e..ea99145bd 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -3208,15 +3208,15 @@ static int connect_proc_chk(struct task *t)
 		environ = check->envp;
 
 		/* Update some environment variables and command args: curconn, server addr and server port */
-		extchk_setenv(check, EXTCHK_HAPROXY_SERVER_CURCONN, ultoa_r(s->cur_sess, buf, sizeof(buf)));
+		DISGUISE(extchk_setenv(check, EXTCHK_HAPROXY_SERVER_CURCONN, ultoa_r(s->cur_sess, buf, sizeof(buf;
 
 		addr_to_str(>addr, check->argv[3], EXTCHK_SIZE_ADDR);
-		extchk_setenv(check, EXTCHK_HAPROXY_SERVER_ADDR, check->argv[3]);
+		DISGUISE(extchk_setenv(check, EXTCHK_HAPROXY_SERVER_ADDR, check->argv[3]));
 
 		*check->argv[4] = 0;
 		if (s->addr.ss_family == AF_INET || s->addr.ss_family == AF_INET6)
 			snprintf(check->argv[4], EXTCHK_SIZE_UINT, "%u", s->svc_port);
-		extchk_setenv(check, EXTCHK_HAPROXY_SERVER_PORT, check->argv[4]);
+		DISGUISE(extchk_setenv(check, EXTCHK_HAPROXY_SERVER_PORT, check->argv[4]));
 
 		haproxy_unblock_signals();
 		execvp(px->check_command, check->argv);
-- 
2.26.2