icinga2/lib
Yonas Habteab ecf5632ef8 Timeout: lift VERIFY -> ASSERT to prevent crashes in release builds
`strand.running_in_this_thread()` relies on thread-local storage
internally, and may return false positives if the coroutine is resumed
in a different thread than it was suspended in. In debug builds, this is
not problem, since there's no TLS optimization done by the compiler, but
in release builds, the compiler might cache the address of the
thread-local variable read before the coroutine suspension, and thus
potentially reuse the same address in a different thread after
resumption, which would cause `running_in_this_thread()` to return false
or even crash (but we didn't see any crashes related to this). So,
perform the assertion only in debug builds to prevent potential wrong
usages of the `Timeout` class. For more details, see [^1][^2][^3].

[^1]: https://github.com/chriskohlhoff/asio/issues/1366
[^2]: https://bugs.llvm.org/show_bug.cgi?id=19177
[^3]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26461
2026-04-15 17:25:14 +02:00
..
base Timeout: lift VERIFY -> ASSERT to prevent crashes in release builds 2026-04-15 17:25:14 +02:00
checker Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
cli Merge pull request #10028 from RincewindsHat/node_setup_no_globals 2026-02-12 14:44:50 +01:00
compat Add warnings to deprecated features indicating removal in v2.18 2026-03-27 14:20:55 +01:00
config Merge pull request #10734 from Icinga/deprecate-everything-we-dont-like 2026-03-31 10:25:44 +02:00
db_ido Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
db_ido_mysql Add warnings to deprecated features indicating removal in v2.18 2026-03-27 14:20:55 +01:00
db_ido_pgsql Add warnings to deprecated features indicating removal in v2.18 2026-03-27 14:20:55 +01:00
icinga Add warnings to deprecated features indicating removal in v2.18 2026-03-27 14:20:55 +01:00
icingadb Cache Icinga DB env_id in Application class as well 2026-04-01 12:15:58 +02:00
livestatus Add warnings to deprecated features indicating removal in v2.18 2026-03-27 14:20:55 +01:00
methods Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
mysql_shim Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
notification Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
otel OTel: raise runtime error when failing to fully serialize Protobuf request 2026-04-02 10:51:35 +02:00
perfdata OTLP: Set enable_ha to true by default 2026-04-01 12:18:21 +02:00
pgsql_shim Replace all existing copyright headers with SPDX headers 2026-02-04 14:00:05 +01:00
remote Add common OTel type/lib 2026-04-01 12:18:21 +02:00
CMakeLists.txt Add common OTel type/lib 2026-04-01 12:18:21 +02:00