Skip to content

Fix crash on loading build due to some minion skills#1880

Merged
LocalIdentity merged 2 commits into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/minion-list-selector-crash
May 20, 2026
Merged

Fix crash on loading build due to some minion skills#1880
LocalIdentity merged 2 commits into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/minion-list-selector-crash

Conversation

@unrealdreamz
Copy link
Copy Markdown
Contributor

Summary

Fixes #1677

  • uses the granted effect's minion list when activeSkill.minionList is unavailable during main-skill selector refresh
  • mirrors the same fallback in CompareEntry minion controls
  • skips stale/unknown minion ids rather than crashing while building the selector list
  • adds a regression fixture for the ipairs(nil) crash shape

Root Cause

RefreshSkillSelectControls entered the minion-control branch when activeEffect.grantedEffect.minionList existed, but then iterated activeSkill.minionList directly. Some loaded/imported builds can have granted-effect minion metadata before activeSkill.minionList is populated, so opening the build could crash on ipairs(nil) and leave the user stuck in a startup crash loop.

Fix

The selector now normalizes to activeSkill.minionList or activeEffect.grantedEffect.minionList before iteration. CompareEntry had the same assumption and now uses the same fallback. Unknown minion ids are ignored while building display rows, preserving a usable UI for partially stale data.

Validation

  • busted --lua=luajit ../spec/System/TestSkills_spec.lua
    • PASS: 11 successes / 0 failures / 0 errors / 0 pending : 63.531 seconds
  • git diff --check
    • PASS

Risk/Rollback

Risk is limited to minion selector population for skills with granted minion metadata. Normal active skills with populated activeSkill.minionList keep the same path. Rollback is this commit only.

@LocalIdentity LocalIdentity added the crash Causes PoB to crash and is High Priority label May 20, 2026
@LocalIdentity LocalIdentity changed the title Fallback to granted minion lists Fix crash on loading build due to some minion skills May 20, 2026
@LocalIdentity LocalIdentity merged commit 71554d8 into PathOfBuildingCommunity:dev May 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

crash Causes PoB to crash and is High Priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

In 'OnFrame': Modules/Build.lua:1850: bad argument #1 to 'ipairs'

2 participants