tree e79b8886b423e4c97ce318eae87dc757e9a82cea
parent f91c7b92f55aada7cc59876f1927a1e21a074aa5
author Willy Tarreau <w@1wt.eu> 1660147391 +0200
committer Willy Tarreau <w@1wt.eu> 1660323169 +0200
encoding latin1

BUG/MEDIUM: task: relax one thread consistency check in task_unlink_wq()

While testing the fix for the previous issue related to reloads with
hard_stop_after, I've met another one which could spuriously produce:

  FATAL: bug condition "t->tid >= 0 && t->tid != tid" matched at include/haproxy/task.h:266

In 2.3-dev2, we've added more consistency checks for a number of bug-
inducing programming errors related to the tasks, via commit e5d79bccc
("MINOR: tasks/debug: add a few BUG_ON() to detect use of wrong timer
queue"), and this check comes from there.

The problem that happens here is that when hard-stop-after is set, we
can abort the current thread even if there are still ongoing checks
(or connections in fact). In this case some tasks are present in a
thread's wait queue and are thus bound exclusively to this thread.

During deinit(), the collect and cleanup of all memory areas also
stops servers and kills their check tasks. And calling task_destroy()
does in turn call task_unlink_wq()... except that it's called from
thread 0 which doesn't match the initially planned thread number.

Several approaches are possible. One of them would consist in letting
threads perform their own cleanup (tasks, pools, FDs, etc). This would
possibly be even faster since done in parallel, but some corner cases
might be way more complicated (e.g. who will kill a check's task, or
what to do with a task found in a local wait queue or run queue, and
what about other consistency checks this could violate?).

Thus for now this patches takes an easier and more conservative
approach consisting in admitting that when the process is stopping,
this rule is not necessarily valid, and to let thread 0 collect all
other threads' garbage.

As such this patch can be backpoted to 2.4.

(cherry picked from commit 341ac99f4df128bd522fbf5ff8162c9cb450c1d3)
[wt: no task->tid in 2.6, stay on thread_mask vs tid_bit]
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit 0380b7fbb3a1e2b236e96f01fbc362c75891f58b)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit 40dbaac1e3f349cd15c5425c15e618f0954c23ab)
Signed-off-by: Willy Tarreau <w@1wt.eu>
