DevBench blocks main thread at kPostLoad, prevents other SKSE plugins from registering with OAR
- Vorherrschende Sprache
- C++
- Sterne
- 10
- Forks
- 4
- Ø Merge
- 1 T. 10 Std.
- Gemergte PRs (30 T.)
- 17
Beschreibung
## Bug Description
When DevBench is enabled, **Open Animation Replacer (OAR)** fails to detect the **IEDConditionExtensions** plugin, resulting in 448+ "Missing required plugin" errors. Disabling DevBench resolves the issue entirely.
## Root Cause
DevBench reads config and starts its HTTP server at `kPostLoad`. On my setup, this blocks the main thread for **~53 seconds** (timestamp `19:20:20` → `19:21:13`). Since SKSE processes `kPostLoad` callbacks sequentially by handle order, and IEDConditionExtensions (handle 93) loads after DevBench (handle 32), the prolonged blocking prevents IEDConditionExtensions from calling OAR's plugin registration API before OAR initializes its condition factory.
## Timeline Evidence
```
19:20:20 [I] devbench 1.18.2 loaded
19:20:25 [I] devbench: config enabled=true port=8920
19:20:39 [I] devbench: keyboard input API ready ← 49s after config read
19:21:13 [I] devbench: registered SMF pages ← 53s total kPostLoad
19:21:13 [I] OAR: Condition and function factories initialized
19:21:13 [E] OAR: Missing required plugin IEDConditionExtensions version 1.0.0.0! ← 448 errors
19:21:20 [I] OAR: TrueDirectionalMovement registered API ← IED never registered
```
## SKSE Log Confirmation
All DLLs load correctly — no load failures:
```
handle 32: devbench.dll loaded correctly
handle 93: OpenAnimationReplacer-IEDConditionExtensions.dll loaded correctly
handle 94: OpenAnimationReplacer.dll loaded correctly
```
## Reproduction
1. Install DevBench v1.18.2 + OAR v3.2.0 + OpenAnimationReplacer-IEDConditionExtensions v1.0.2.0
2. Enable all in MO2
3. Launch Skyrim SE 1.5.97
4. OAR's "Problems" panel shows ~200+ IED-related errors
5. Disable DevBench → errors disappear
## Environment
- Skyrim SE 1.5.97
- SKSE 2.0.20
- DevBench 1.18.2
- OpenAnimationReplacer 3.2.0
- OpenAnimationReplacer-IEDConditionExtensions 1.0.2.0
- MO2 with 478 plugins (121 full + 357 light)
- Windows 10
## Suggestion
Consider deferring the HTTP server startup to `kDataLoaded` or later, or making server startup non-blocking so it doesn't hold the main thread during the critical `kPostLoad` window where other plugins need to register their APIs.
## Workaround
Set `"enabled": false` in `Data/SKSE/Plugins/devbench/config.json` — the DLL still loads (SKSE features work) but the HTTP server doesn't start, freeing the main thread for other plugins.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.