From: Christopher Faulet Date: Tue, 28 Nov 2023 20:50:21 +0000 (+0100) Subject: BUG/MEDIUM: master/cli: Properly pin the master CLI on thread 1 / group 1 X-Git-Tag: v2.9-dev12~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a053512a7f48d74f5d69daa0f9918ecfcecc0122;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: master/cli: Properly pin the master CLI on thread 1 / group 1 A previous fix was pushed for that (13fb7170be "BUG/MEDIUM: master/cli: Pin the master CLI on the first thread of the group 1" ). Unfortunately, instead of the master CLI, it is the sockpairs between the master and the workers that were pinned to the first thread of the group 1. So the crash is still there. So, again, to fix the bug the master CLI is now pinned on the first thread of the first group. patch should fix the issue #2259 and must be backported to 2.8. --- diff --git a/src/cli.c b/src/cli.c index 98e261e082..efc55bc752 100644 --- a/src/cli.c +++ b/src/cli.c @@ -3229,6 +3229,9 @@ struct bind_conf *mworker_cli_proxy_new_listener(char *line) bind_conf->nice = -64; /* we want to boost priority for local stats */ bind_conf->options |= BC_O_UNLIMITED; /* don't make the peers subject to global limits */ + /* Pin master CLI on the first thread of the first group only */ + thread_set_pin_grp1(&bind_conf->thread_set, 1); + list_for_each_entry(l, &bind_conf->listeners, by_bind) { l->rx.flags |= RX_F_MWORKER; /* we are keeping this FD in the master */ global.maxsock++; /* for the listening socket */