beyond-all-reason / beyond-all-reason/bar_widgets

Smart Area Reclaim: hangs main thread ~30s on wide reclaim areas (regression with recoil_2026.07.04 + NVIDIA 616.56)

Open
#3 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
2
Forks
2
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**

Smart Area Reclaim hangs the engine main thread for ~30 seconds when a teammate selects a wide reclaim area, causing the watchdog to kill the game ~50 minutes into a match. Started appearing after the `recoil_2026.07.04` engine build (Aug 21, 2026) combined with NVIDIA driver `32.0.16.1656` (Aug 20, 2026). The widget code itself has not changed; the regression is in how the new engine build interacts with the widget's wide-area scan under the new driver.

**To Reproduce**

1. Install BAR test-31177-b64aa4e + engine recoil_2026.07.04 (the current bundled version from the launcher)
2. Keep Smart Area Reclaim (`gui_smart_reclaim.lua`) enabled
3. Play a wide-reclaim map — confirmed on "All That Glitters v2.2.3", likely affects any large open reclaim area
4. Have a teammate select a wide reclaim area at roughly the 45–50 minute mark
5. Main thread hangs ~30 seconds; engine watchdog fires; game dies

**Expected behavior**

Wide reclaim scan completes within frame budget, or yields to the main thread so the watchdog does not trigger.

**Actual behavior**

```
[t=00:47:23.331985] Demon is being attacked!
[t=00:47:38.845162] Allies: eco just keep our canyon alive pls
[t=00:48:13.789421] Warning: [Watchdog] Hang detection triggered for Spring 2026.07.04.
[t=00:48:13.789507] Warning: (in threads: {main,load,audio,vfsi}={1,0,0,0})
```

After the watchdog fires, the engine repeats an OPENGL32 error every ~30 seconds and then dumps/exits. The "main=1" line is the main thread waiting on the widget's reclaim scan.

**Engine infolog (relevant tail — full log attached)**

```
[GL vendor : NVIDIA Corporation]
[GL renderer : NVIDIA GeForce RTX 5070 Ti Laptop GPU/PCIe/SSE2]
[GL version : 4.6.0 NVIDIA 616.56]

[Smart Area Reclaim] Warning: Smart reclaim area is too large, limiting size (fires 4x between t=00:23 and t=00:39)

[t=00:48:13.789421] Warning: [Watchdog] Hang detection triggered for Spring 2026.07.04.
[t=00:48:13.789507] Warning: (in threads: {main,load,audio,vfsi}={1,0,0,0})
```

**Workaround**

Disable the widget in BAR launcher → Settings → Widgets → uncheck "Smart Area Reclaim". Game is stable for 60+ minutes after that.

**System info**

- OS: Windows 11
- GPU: NVIDIA GeForce RTX 5070 Ti Laptop GPU
- Driver: 32.0.16.1656 (Aug 20 2026)
- BAR: Beyond All Reason test-31177-b64aa4e
- Engine: recoil_2026.07.04
- Map: All That Glitters v2.2.3
- infolog.txt attached

**Notes**

Same widget has been used for months without issue on engine builds ≤ `recoil_2026.06.12`. The new engine build (Jul 4 2026 → deployed to launcher around Aug 21 2026) appears to have changed GL context behavior such that the widget's per-frame wide-area scan now exceeds the watchdog threshold. Also NVIDIA driver `32.0.16.1656` (Aug 20) shipped the same week and changed OpenGL texture update behavior, which may be contributing. Filing the engine side separately in beyond-all-reason/RecoilEngine.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with gui_smart_reclaim.lua and reproduce the wide-area selection on the listed engine, map, and NVIDIA driver versions while checking the attached infolog. Trace the per-frame wide-area scan and compare behavior with engine builds up to recoil_2026.06.12; done means wide reclaim completes within the frame budget without triggering the watchdog.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua
Domain
game-dev, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.