Skip to content

Fix crash when a custom mod has an invalid support gem in it - #10218

Merged
LocalIdentity merged 1 commit into
PathOfBuildingCommunity:devfrom
Trifall:fix/10209-invalid-extra-support-crash
Aug 23, 2026
Merged

LocalIdentity merged 1 commit into
PathOfBuildingCommunity:devfrom
Trifall:fix/10209-invalid-extra-support-crash

Conversation

@Trifall

@Trifall Trifall commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Fixes #10209

Description of the problem being solved:

While entering 'Skills socketed in your gloves are supported by level 20 Arcane Surge' as a custom modifier, the intermediate text ending in 'Arc' was parsed as the Arc active skill. CalcSetup then attempted to resolve a non-existent 'SupportArc' granted effect and crashed when it tried to mark the missing effect as item-granted.

Extra supports now resolve a matching support effect before it is marked as item-granted. Invalid partial skill names are ignored, while valid support names and same-name collisions such as Barrage continue to resolve correctly.

Steps taken to verify a working solution:

  • Added a regression test for the incomplete 'Arc' modifier text and verified it neither crashes nor adds an invalid support
  • Verified 'Arcane Surge' resolves to level 20 'SupportArcaneSurge'
  • Verified 'Barrage' continues to resolve to level 20 'SupportBarrage'
  • Confirmed the regression test fails on the latest version
  • All tests passed

Link to a build that showcases this PR:

eNq1XF1z4rgSfZ79FS7eJ4D5SLKV7BYhySRVyYQLmZl7n7aELUA7QuLacjLsr7_dkm0wQUbG3DzMgt3ntNSSWqclaq_-_LXk3huNYibFdaN91mp4VAQyZGJ-3fj2ev_5ovHnH79djYhavMxuEsbxzR-_fbrSn72Akzj-Spb0ujEJgKLhvTH6_ixDePD4PHoZvza8JWFiIoOfVH2JZLICLw1vSkTI1HXjqxS04XH6Rrl-rkg0p-p71p7OX9CeFRFqQaV4Jn_L6IsMM1T-nInC82BBIhIoGj0h7SBR0rRHRQm8JXFARTjctFuDoEefrkacrGk0UUR5Mfxz3RhAYMicPjAF_SI8Aeu23-qfdf1eo1kKuUmiWN2SJXx0hk5WlIYb67PO9p8NNIro3WxGA8Xe6DBiarggItj4tDqravuccMVWnNFoq4VWxMMH8narZTN-lYrw29FkY9tvXZz1-unfeTlObsbG6uEHU4sbDtE9wsvjXDBFC0C_2zpr-ZcX3W670-qXOf0I9i-64PWy32u3zi_PO2XgkWSxFDUCc0SjhwnnsMC3kdaojmlMozeiWLGRVvuhXE6ZKA6CYzgGESUvMzPRxyRkSfxMVUTjrbl4YcM-E0GGMt5ME79VZjqiESQIVUAcAkxoICGnFJz0z_qbv3MHj_t5rK6f2Iy6W1bqVQqo2prj-nE3cbWrTHxcg8aQs90sJzLhjpYqcph-t_SXg9WjcJnKY_rfbcN2r2f3-iaV2boP9ELnlbuHUW7ZuTjz_cu2f946P7fva6PFOmYB4c_kF1smS9gbXslPuvHXL5lV84USkI9s0I51Yd2ziFZHDSUPj0AtiIytsIuyNeMQBJAFwe9o-ygCt4X4TUQ6NW-piX4pYAzLA3XLlFNHxMZFushcNnrjak5F6m_t1p0nSoPFFxCRY6KoW07eaJrysKKtU1jRcE9Ye46ACkFCoCVIZ5dloIphuhM0mq8nC0Z5WM06a9iQrBwyH4Z5G-0U7qK7SjNmG1oxJD9IFLrtD1Xb9Ebi7Qzb7peHy5i7TUwKuhYAId0R3C17xSD_xnqBV4MNoqVMIscBN8ZOHch2B1MsjWmYBG67UV723HAoLl27kaOgnZxXgg6UIsHPWxnOnYOmnVRCFNs3SVYryCE4G1wJcOMDZc62ZMnnvoP1C0xlpxWNe6S7g421s4N813f3sgNx7wvu3BU6szF3dpEP6DMkiyVsArrMf5Zblb51cKAYc6qstGGx3rOvN_kOLV_gOUtczRoUzkbVWJsSUfHP2pm_YO7k4E6ESYRLwdnHLmKfm1e2hEQax7dEES9MFfF3EjEiVFufTO089PXDmJIoWDzBfLgnnE8hPVw3tp_CN-S_aurTMvz0VSoao0t8mn25eo0o9Ui27gPk1s3CL17Ak1jR6IHEi3sZLcnmeMwvHGc9hhgE8I61DonWg-IrwXjDEzKkMeiWi4tOB0_mkHhtpmiMTYeimm6dvvmXDXPEZ7ixTZ-uvo2f9IdPC6VW8e_N5vv7-9mKqIWc0V-wrZwFctlcAQh68zn-yTj_jLTNAfzdzAf6TxM1M6YrczwYN803XFsRg4aasWliFHQUMUz4YYKksRcv5PsTnZNg_YUuofkzwmOKIzUjCVfw7MmcKwqMWlZ-bL__V0I4U2sdtjT6yDyhyoyujNAqvlnDysrODwsP71Fl7JxsYKswbxu71_UKAz54ekpHNHXgsTAb5fShRwUK8DBzhMemg02jdIt2ng0JD2LTVC6hzV845BhYEUzAnAmhYEgzSDr4nEwxHMbppytonaeHBwcXN4IpzOHGbjPSs1moND1Blun03LUGx_C1nWG2H_p54NDViEQmtm9mGRVdz-kSHzxTRUJYiM1HBYFuYrSbur_waWP8363BC2Qi0jHLvOSxSSeVYUgnVDoIelKZyYQfH5c4aB79hf9BjnU2p_QiHkoxY_N0opgv6UzRrPmTwtA-ilWivKmUnBKRhULog-ckpoVk3DyImCazGaQAxWagmLRKcsMMooAIOknAjSsihMQM8RUuAMw3DJvzIiAIkH8ikNshHvaL0NHfN7GQfP2M27gDAiJX3GecIB92jhQFG0ZAwX1II08kyymNdGGXAqmgy_WW5nEH7eqYEmRnx92WLClBdXPUKtf0t4DRQrEEd94qujMXD2UdK7Zuc3VQoUsASu9DSkC-323vj-FhbL99eXFZAKclSxV_xWqkDNrOg7LMr0bw1J5GNJxgoTDEnDShfFapATjTjogTpsXDsIvL_sd5dhjW-eBqRIU7IB_DA6i8R5MFyAEdw9jdCwbugIPz4pRMK07J-ZiIA4OdAWM2Z_xlpvM2tPBAFmm32t1iK7OTgLJB6hajh_uvU9s28_AOgQ-wS8p3CPs9h9eOUxlPE1xSyGasAgla9_Bg7WllsYGGYkyXIGHCm_WA83WFXLtV9brkscDs1aBlVET4K5vDLozLNQMPQXHLJRRpsNPSSJ8SeIopTvG4XKvHXZ1kNFUmTLWcpSEIMW8NKciba2HmkYh6sZGG8HK6NuLK81se7NBGpezxbDRLLi-0aDHfstLhO6PvRndCwXPLQM7D7hig7jRb4D9SZlq4Y779W8sm_PSftGggehijrGLR8gekcqyY0FIDNCyqLrJaQVGRa21Yqu-D8A2nyytsu3FRMKEE0603G_PH1YTh-ss8TgsxYxmrSP8A4e7-_m74-vj9Lp89LA7-QsGAV_opZEL1iRFEdhqbj9cNjIgejFvQkozHKBE5J6uYbtqOMi1VghxwJWza6iHfwCxcD8Udbi_T3S8K8k3Mf0C4I0at7crfl1CBWn3Xuw2eFFmZRqBX40N9M-3G00wshG1UeNduJzLHY0MoKc1pqyXgG62xlwV1grUv-LIEC_qdcKvn9O2BSCis1yAvoMTG1VQ-c7C6M1YlcQkCkJ3BumTabKupvRz6xws2AvPSDja_I7DOD_O2JKr6NwzWqJq3dvgtDYi17-alHZwf4Euhf4SznyW3KmH6KoWe5LD2BozjOZx1ZO84zU3shC8o9dKTExvTM2SrzKR04URsmih7NtiyKImVvk60RAjf2aHmyszSB3xXkoUK10iWgG7b2KnM9Ys1H5ZBzdZvjd-2Mtg_BOnlhiX8W3XE_iBk9zuW_m-Lvv2LROffwZtkoTnltyyXHbOyhAHCoT6NvrqoT7N7l1GfESRj_NM63ulbO_wblMpMrfewGMHkRIKLqh4Drq16DK9MBCqJ6NEE411Bs8GOy6VMfv6-F1w4Y7FkjvQ45mgGcwZ0NFwXcUejdf6HYkAL7bINILcp6UjhTK8e10Ql4hYCewIq3cX9SWkTqUpcZlvdG7XKjCZZpD-2KcsnxuQAEeiChxLl6caU3_U9UMLxB5yS1yP88KOiOmT4e4VkRUSY0b3s0_ubcXCMnlQxcOoLrlv8WUTdGOqjmY9E9nZBNZwWmlf6wqCsEjaH92iWXfIkMTW_DvxByUoK_RhvS0w1agytRsVbHC5VWqYaM8_3Ju9k5Q2m6zgm3DO3XF4PYMrcdLTMx9H02_gprbwrEPWPIdrhaJ-Awz8BR-cEHN3qHFW6P1gmnKoKgAcK6U4d0bEKkBsZrr1Mvjqj8otCdzdSVbEfQz6tFFwN8KsCjpg17b1LqX0qIv9URCfrWvdYomPTVJVpRbk6VTbsnoqocyoi_1RER83O-ptF-wQ7V_sk0_EUa-P_tVD7pyKqEt0vEZlV64NBVJlJunY8yZi3K6aEOnNmH75XE9-vHLXuCeRM7wQc_cpypc7Y7WfwazN0ajN0azP0ajP0j5N1tRaTncY_DU3nNDTd09D0TkPTryyl6wzSfga_NkOnNkO3NkOvNkO_apVSb73sIfDrEnTqEnTrEvTqEvRr7qB1FYBfE9-pvINXV0p-ZcSBVl010_Mnfcilz7b--O2qufv_YvgfdYIJ6w==

Before screenshot:

Screenshot_20260814_013815

After screenshot:

Screenshot_20260814_013843

@LocalIdentity LocalIdentity added the crash Causes PoB to crash and is High Priority label Aug 23, 2026
@LocalIdentity LocalIdentity changed the title fix crash when a custom mod has an invalid support gem in it Fix crash when a custom mod has an invalid support gem in it Aug 23, 2026
@LocalIdentity
LocalIdentity merged commit d5d84ab into PathOfBuildingCommunity:dev Aug 23, 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.

Crash with Skills socketed in your gloves are supported by level ..

2 participants