beyond-all-reason / beyond-all-reason/RecoilEngine

Throwing callins do not decrement their callin depth

Open
#3,215 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
679
Forks
290
Avg merge
3d 2h
Merged PRs (30d)
40

Description

This came up in testing, not production.

The base gadgets.lua does not correct the callin depth following errors in nested callins.

`UpdateCallIns` is not self-correcting and reordering subscribers in the list is blocked by `callinDepth == 0`, which seems correct. I'm not sure how to read the `*Raw` calls but they also finish with `UpdateCallins`.

Contributor guide

Open the contributing guide

Research direction

Start in base gadgets.lua and trace UpdateCallIns, including the *Raw call paths, focusing on nested callins that throw. Confirm that callin depth is restored after errors and that subscriber reordering is no longer blocked by a stale depth value; add or run the relevant testing setup mentioned in the issue to verify the behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, lua
Domain
game-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.