Branch: refs/heads/release/1.14
Home:
https://github.com/zeek/spicy
Commit: de482c226ea49e1bcae11dd94591a3f598050f89
https://github.com/zeek/spicy/commit/de482c226ea49e1bcae11dd94591a3f598050f89
Author: Arne Welzel <
arne....@corelight.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M hilti/runtime/src/fiber.cc
Log Message:
-----------
Fix Fiber constructor clobbering shared stack.
Previously, when constructing a Fiber with type SharedStack, we'd
initialize the underlying fiber with the global shared stack. This
isn't safe: The fiber_init() call writes to the shared stack, but
there's no guarantee that the shared stack isn't being used by
another fiber when this happens.
Circumvent this by moving the underlying fiber initialization into
__fiber_switch_trampoline(), where it is guaranteed that the previously
executing fiber has saved() the shared stack so that it is now free
to be used by a different fiber. Use the nullptr fiber_stack() return
as the indicator, that the initialization still needs to happen.
(cherry picked from commit 9b0cfac074f1189b9feb04944ac58156c686b960)
To unsubscribe from these emails, change your notification settings at
https://github.com/zeek/spicy/settings/notifications