Skip to content

Fix/null check set magic equipment and enchantments that cant resolve on a client - #13

Open
absol89 wants to merge 2 commits into
devfrom
fix/null-check-SetMagicEquipment
Open

absol89 wants to merge 2 commits into
devfrom
fix/null-check-SetMagicEquipment

Conversation

@absol89

@absol89 absol89 commented Oct 18, 2026

Copy link
Copy Markdown
Owner

We found that players using moonlight tales mod, crashes others after reverting form from werewolf, while:

  • using only vanilla spells otherwise (healing, claws ability, fireball)
  • only having moonlight tales and alternate start as additional mods

possibly this tried to equip magic on the remote player, which resolved to form 0 on other clients (crashed)

When adding a nullptr check to handle that case, I also remembered:

  • summermyst players crashing others that can't resolve their item enchantments.

So the second commit aims to resolve that by nullchecking existing/crafted enchantments on such players.

Example crashlog:

CRASH TIME: 2026-10-18 04:23:39
Skyrim SSE v1.6.1170
CrashLoggerSSE v1-25-0-0 Aug 21 2026 09:19:20

Unhandled exception "EXCEPTION_ACCESS_VIOLATION" at 0x000140811CF7 SkyrimSE.exe+0811CF7 movzx eax, byte ptr [rdx+0x1A]
Exception Flags: 0x00000000 (Continuable)
Number of Parameters: 2
Exception Thread ID: 31608
Access Violation: Tried to read memory at 0x00000000001A
ACCESS VIOLATION ANALYSIS:
Instruction: movzx eax, byte ptr [rdx+0x1A]
Memory Operand: [base=rdx, index=none, scale=0, disp=+0x1a]
Base Register: rdx = 0x0000000000000000 (likely invalid)
Computed Address: 0x000000000000001A

POSSIBLE RELEVANT OBJECTS:
RSI: (Character*) "Jzar tyson" [0xFF00156F]
RSP+10: (SpellItem*) "Healing" [0x00012FCC] ("Skyrim.esm") "Healing" {kSpell, kConcentration, kSelf}
RSP+18: (CombatInventoryItemMagicT<CombatInventoryItemMagic,CombatMagicCasterRestore>)
RSP+28: (SpellItem
) "Claws" [0x000AA01E] ("Skyrim.esm") "Claws" {kAbility, kConstantEffect, kSelf}
RSP+108: (TESNPC*) "Jzar tyson" [0xFF00156D] "Jzar tyson"
RSP+158: (ScrapHeap*)
RSP+188: (TESAmmo*) "Steel Arrow" [0x0001397F] ("Dawnguard.esm") "Steel Arrow"
RSP+2C0: (Character*) "Northwatch Guard" [0x000A02EB] ("Skyrim.esm")
RSP+3D0: (BSScript::Internal::VirtualMachine*)
RSP+3E8: (BSJobs::JobThread*)

PROCESS INFO:
Process ID: 16652
Crash Thread ID: 31608
Process Uptime: 00:06:11 (371174ms)
Working Directory: G:\Steam\steamapps\common\Skyrim Special Edition
Command Line: "G:\Steam\steamapps\common\Skyrim Special Edition\Data\SkyrimTogetherReborn\SkyrimTogether.exe"
Executable MD5: 7a44a52dfc92d78f934c4d12ed92f494
Executable Size: 37157144 bytes
Executable Modified: 2026-07-02 19:54:46
Elevated: No

THREAD CONTEXT (HEURISTIC):
Thread Priority: 0
Likely Role: Unknown (main or worker thread)

SYSTEM SPECS:
OS: Microsoft Windows 10 Home v10.0.19045
CPU: GenuineIntel Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
CPU Cores: 8 logical, 4 physical, 1 packages
GPU #1: Nvidia GP104 [GeForce GTX 1070]
GPU #2: Microsoft Basic Render Driver
PHYSICAL MEMORY: 17.21 GB/31.93 GB
VIRTUAL MEMORY: 78.17 GB/131072.00 GB
PROCESS MEMORY: Working Set: 4915.27 MB, Private: 7406.20 MB, Peak: 4965.60 MB
PAGE FAULTS: 11786307 (Peak: 5206810624)
GPU MEMORY: 3.19/7.13 GB

CALL STACK ([P]robable / [S]tack scan):
[ 0][P] 0x000140811CF7 SkyrimSE.exe+0811CF7 -> 44882+0x37 movzx eax, byte ptr [rdx+0x1A]
[ 1][S] 0x000140CC68F5 SkyrimSE.exe+0CC68F5 -> 68163+0x65 test al, al
[ 2][S] 0x00014081584B SkyrimSE.exe+081584B -> 44918+0xDB mov ecx, [rbx+0x04]
[ 3][S] 0x000140816AB4 SkyrimSE.exe+0816AB4 -> 44947+0x44 nop
[ 4][S] 0x00014015F3CE SkyrimSE.exe+015F3CE -> 11706+0xE test rax, rax
[ 5][S] 0x000141769FF8 SkyrimSE.exe+1769FF8 -> 186450+0x8 xor dl, dl
[ 6][S] 0x0001406C4B01 SkyrimSE.exe+06C4B01 -> 38781+0x61 add [rax], al
[ 7][S] 0x00014080F263 SkyrimSE.exe+080F263 -> 44857+0x253 inc ebx
[ 8][S] 0x0001418C8E88 SkyrimSE.exe+18C8E88 -> 210288+0x8 add [rbx-0x7F], ch
[ 9][S] 0x0001405592AF SkyrimSE.exe+05592AF -> 33231+0x2F cmp dword ptr [rbx+0xC8], 0x00
[10][S] 0x000140558961 SkyrimSE.exe+0558961 -> 33216+0xF1 test al, al
[11][S] 0x000140558A3E SkyrimSE.exe+0558A3E -> 33217+0x8E mov byte ptr [rdi+0x35], 0x01
[12][S] 0x0001406B7047 SkyrimSE.exe+06B7047 -> 38565+0x1D7 jmp 0x00000001406B704F
[13][S] 0x00014083F622 SkyrimSE.exe+083F622 -> 46902+0x42 nop
[14][S] 0x000140CF7888 SkyrimSE.exe+0CF7888 -> 69378+0xD8 mov ecx, [rbx+0x0C]
[15][S] 0x7FFDE60BA11B KERNELBASE.dll+006A11B
[16][S] 0x000140CF7E51 SkyrimSE.exe+0CF7E51 -> 69380+0x361 mov r15d, eax
[17][S] 0x000140CF61DA SkyrimSE.exe+0CF61DA -> 69344+0x8A movzx eax, byte ptr [rbx+0xA74]
[18][S] 0x000140CD0DBD SkyrimSE.exe+0CD0DBD -> 68445+0x3D mov rcx, [0x00000001431CC318]
[19][S] 0x7FFDE8127124 KERNEL32.DLL+0017124
[20][S] 0x7FFDE853CC91 ntdll.dll+004CC91

REGISTERS:
RAX 0x21F5FAF8 (void*)
RCX 0x1D0055200 (void*)
RDX 0x0 (size_t) [0]
RBX 0x1D0055200 (void*)
RSP 0x21F5F9E0 (void*)
RBP 0x21F5FA99 (void*)
RSI 0x1E3331C00 (Character*) "Jzar tyson" [0xFF00156F]
Flags: 0x00100508
FormType: ActorCharacter (62)
Object Reference:
ParentCell: ---
File: "Skyrim.esm"
Flags: 0x0004000B
EditorID: "NorthwatchKeepExterior04"
FormID: 0x00006E2E
FormType: Cell (60)
RDI 0x0 (size_t) [0]
R8 0x140812156 (void* -> SkyrimSE.exe+0812156 xor r14b, r14b)
R9 0x0 (size_t) [0]
R10 0x7FFDC2950000 (void*)
R11 0x21F5FAD0 (void*)
R12 0xFFFFFFFF (void*)
R13 0x1418A01C8 (void* -> SkyrimSE.exe+18A01C8 loopne 0x00000001418A014A)
R14 0x1D0055200 (void*)
R15 0x0 (size_t) [0]

STACK:
[RSP+0 ] 0x1D0055200 (void*)
[RSP+8 ] 0x1D0055200 (void*)
[RSP+10 ] 0xE314DF00 (SpellItem*) "Healing" [0x00012FCC] ("Skyrim.esm")
SpellType: kSpell
CastingType: kConcentration
Delivery: kSelf
Flags: 0x00000009 kDestructible | kInitialized
FormType: Spell (22)
GetFullName: "Healing"
[RSP+18 ] 0x1E3494A40 (CombatInventoryItemMagicT<CombatInventoryItemMagic,CombatMagicCasterRestore>)
[RSP+20 ] 0x2 (size_t) [2]
[RSP+28 ] 0xE316EB00 (SpellItem
) "Claws" [0x000AA01E] ("Skyrim.esm")
SpellType: kAbility
CastingType: kConstantEffect
Delivery: kSelf
Flags: 0x00000009 kDestructible | kInitialized
FormType: Spell (22)
GetFullName: "Claws"
[RSP+30 ] 0x1 (size_t) [1]
[RSP+38 ] 0x140CC68F5 (void* -> SkyrimSE.exe+0CC68F5 test al, al)
[RSP+40 ] 0x0 (size_t) [0]
[RSP+48 ] 0x1E3331C00 (Character*) See RSI
[RSP+50 ] 0x21F5FB50 (void*)
[RSP+58 ] 0x14081584B (void* -> SkyrimSE.exe+081584B mov ecx, [rbx+0x04])
[RSP+60 ] 0x100000000 (void*)
[RSP+68 ] 0x100000008 (void*)
[RSP+70 ] 0x21F5FB38 (void*)
[RSP+78 ] 0x140816AB4 (void* -> SkyrimSE.exe+0816AB4 nop)
[RSP+80 ] 0x797D7971 (void*)
[RSP+88 ] 0x14015F3CE (void* -> SkyrimSE.exe+015F3CE test rax, rax)
[RSP+90 ] 0xFFFFFFFF00000000 (size_t) [uint: 18446744069414584320 int: -4294967296]
[RSP+98 ] 0x1E3331C00 (Character*) See RSI
[RSP+A0 ] 0xFFFFFFFFFFFFFFFE (size_t) [uint: 18446744073709551614 int: -2]
[RSP+A8 ] 0x141769FF8 (void* -> SkyrimSE.exe+1769FF8 xor dl, dl)
[RSP+B0 ] 0x0 (size_t) [0]
[RSP+B8 ] 0x1E3331C00 (Character*) See RSI
[RSP+C0 ] 0xE314DF00 (SpellItem*) See RSP+10
[RSP+C8 ] 0x1406C4B01 (void* -> SkyrimSE.exe+06C4B01 add [rax], al)
[RSP+D0 ] 0x0 (size_t) [0]
[RSP+D8 ] 0x0 (size_t) [0]
[RSP+E0 ] 0x0 (size_t) [0]
[RSP+E8 ] 0x0 (size_t) [0]
[RSP+F0 ] 0x0 (size_t) [0]
[RSP+F8 ] 0x1D0055200 (void*)
[RSP+100] 0xFFFFFFFF (void*)
[RSP+108] 0x11949E700 (TESNPC*) "Jzar tyson" [0xFF00156D]
Flags: 0x00200008
FormType: NPC (43)
GetFullName: "Jzar tyson"
[RSP+110] 0x21F5FB89 (void*)
[RSP+118] 0x14080F263 (void* -> SkyrimSE.exe+080F263 inc ebx)
[RSP+120] 0x0 (size_t) [0]
[RSP+128] 0x21F5FB89 (void*)
[RSP+130] 0x1E3331C00 (Character*) See RSI
[RSP+138] 0x1E31EC9C0 (void*)
[RSP+140] 0x0 (size_t) [0]
[RSP+148] 0x1E3331C00 (Character*) See RSI
[RSP+150] 0x1418C8E88 (void* -> SkyrimSE.exe+18C8E88 add [rbx-0x7F], ch)
[RSP+158] 0xA9E2B10 (ScrapHeap*)
[RSP+160] 0x118ACED80 (void*)
[RSP+168] 0x8 (size_t) [8]
[RSP+170] 0x5 (size_t) [5]
[RSP+178] 0x0 (size_t) [0]
[RSP+180] 0x1E3331C00 (Character*) See RSI
[RSP+188] 0xE1A2E5C0 (TESAmmo*) "Steel Arrow" [0x0001397F] ("Dawnguard.esm")
Modified by: Skyrim.esm -> Dawnguard.esm
Flags: 0x00000009 kDestructible | kInitialized
FormType: Ammo (42)
GetFullName: "Steel Arrow"
[RSP+190] 0x0 (size_t) [0]
[RSP+198] 0x100000001 (void*)
[RSP+1A0] 0x0 (size_t) [0]
[RSP+1A8] 0x0 (size_t) [0]
[RSP+1B0] 0x0 (size_t) [0]
[RSP+1B8] 0x1 (size_t) [1]
[RSP+1C0] 0xFFFFFFFFFFFFFFFE (size_t) [uint: 18446744073709551614 int: -2]
[RSP+1C8] 0x1E3331C00 (Character*) See RSI
[RSP+1D0] 0x1432580C4 (void* -> SkyrimSE.exe+32580C4 add [rax], al)
[RSP+1D8] 0xA9E2BA8 (char*) "t"
[RSP+1E0] 0x1432580C0 (void* -> SkyrimSE.exe+32580C0 add [rax], al)
[RSP+1E8] 0x1432580C8 (void* -> SkyrimSE.exe+32580C8 add [rax], al)
[RSP+1F0] 0x1CF79A780 (void*)
[RSP+1F8] 0x0 (size_t) [0]
[RSP+200] 0x21F5FC39 (void*)
[RSP+208] 0x1405592AF (void* -> SkyrimSE.exe+05592AF cmp dword ptr [rbx+0xC8], 0x00)
[RSP+210] 0x1CF79A780 (void*)
[RSP+218] 0x1E3331C00 (Character*) See RSI
[RSP+220] 0x21F5FB68 (void*)
[RSP+228] 0x1CF79A780 (void*)
[RSP+230] 0xA9E2BA8 (char*) "t"
[RSP+238] 0xFFFFFFFFFFFFFFFE (size_t) [uint: 18446744073709551614 int: -2]
[RSP+240] 0xFFFFFFFFFFFFFFFE (size_t) [uint: 18446744073709551614 int: -2]
[RSP+248] 0x0 (size_t) [0]
[RSP+250] 0x0 (size_t) [0]
[RSP+258] 0x140558961 (void* -> SkyrimSE.exe+0558961 test al, al)
[RSP+260] 0x0 (size_t) [0]
[RSP+268] 0x1E3331C00 (Character*) See RSI
[RSP+270] 0x0 (size_t) [0]
[RSP+278] 0x0 (size_t) [0]
[RSP+280] 0xFFFFFFFFFFFFFFFE (size_t) [uint: 18446744073709551614 int: -2]
[RSP+288] 0x0 (size_t) [0]
[RSP+290] 0x1E3331C00 (Character*) See RSI
[RSP+298] 0xA9E2BA8 (char*) "t"
[RSP+2A0] 0x0 (size_t) [0]
[RSP+2A8] 0x0 (size_t) [0]
[RSP+2B0] 0x0 (size_t) [0]
[RSP+2B8] 0x140558A3E (void* -> SkyrimSE.exe+0558A3E mov byte ptr [rdi+0x35], 0x01)
[RSP+2C0] 0xF7894400 (Character*) "Northwatch Guard" [0x000A02EB] ("Skyrim.esm")
Flags: 0x0004040B
FormType: ActorCharacter (62)
Object Reference:
ParentCell: ---
Flags: 0x0004000B
EditorID: "NorthwatchKeepExterior03"
FormID: 0x00006E2F
FormType: Cell (60)
[RSP+2C8] 0x0 (size_t) [0]
[RSP+2D0] 0x1CF79A780 (void*)
[RSP+2D8] 0x1CF79A780 (void*)
[RSP+2E0] 0xFFFFFFFFFFFFFFFE (size_t) [uint: 18446744073709551614 int: -2]
[RSP+2E8] 0x0 (size_t) [0]
[RSP+2F0] 0x1E3331C00 (Character*) See RSI
[RSP+2F8] 0x0 (size_t) [0]
[RSP+300] 0x1E3331C00 (Character*) See RSI
[RSP+308] 0x11948C100 (void*)
[RSP+310] 0x1E3331C00 (Character*) See RSI
[RSP+318] 0x1406B7047 (void* -> SkyrimSE.exe+06B7047 jmp 0x00000001406B704F)
[RSP+320] 0xF7894400 (Character*) See RSP+2C0
[RSP+328] 0x10F337 (void*)
[RSP+330] 0x0 (size_t) [0]
[RSP+338] 0x1CF79A780 (void*)
[RSP+340] 0xFFFFFFFFFFFFFFFE (size_t) [uint: 18446744073709551614 int: -2]
[RSP+348] 0x1CF79A780 (void*)
[RSP+350] 0x1 (size_t) [1]
[RSP+358] 0x4E09FA0 (void*)
[RSP+360] 0x0 (size_t) [0]
[RSP+368] 0x0 (size_t) [0]
[RSP+370] 0x1E3331C00 (Character*) See RSI
[RSP+378] 0x14083F622 (void* -> SkyrimSE.exe+083F622 nop)
[RSP+380] 0x10F337 (void*)
[RSP+388] 0x100000002 (void*)
[RSP+390] 0x0 (size_t) [0]
[RSP+398] 0xF7894400 (Character*) See RSP+2C0
[RSP+3A0] 0xFFFFFFFFFFFFFFFE (size_t) [uint: 18446744073709551614 int: -2]
[RSP+3A8] 0x0 (size_t) [0]
[RSP+3B0] 0x143258160 (void* -> SkyrimSE.exe+3258160 )
[RSP+3B8] 0x140CF7888 (void* -> SkyrimSE.exe+0CF7888 mov ecx, [rbx+0x0C])
[RSP+3C0] 0x100111080 (char*) "EFR("
[RSP+3C8] 0x1E3331C00 (Character*) See RSI
[RSP+3D0] 0xA2304100 (BSScript::Internal::VirtualMachine*)
Overstressed: false
Initialized: true
Freeze State: kNotFrozen
Frozen Stacks Count: 0
Waiting Function Messages: 0
Object Table Size: 0
Array Table Size: 536
Running Stacks Count: 0
[RSP+3D8] 0x7FFDE60BA11B (void* -> KERNELBASE.dll+006A11B nop [rax+rax1], eax)
[RSP+3E0] 0x1 (size_t) [1]
[RSP+3E8] 0x143258110 (BSJobs::JobThread
)
[RSP+3F0] 0x143258110 (BSJobs::JobThread*) See RSP+3E8
[RSP+3F8] 0x4E09FA0 (void*)
[RSP+400] 0x14326E700 (void* -> SkyrimSE.exe+326E700 )
[RSP+408] 0x140CF7E51 (void* -> SkyrimSE.exe+0CF7E51 mov r15d, eax)
[RSP+410] 0x0 (size_t) [0]
[RSP+418] 0x0 (size_t) [0]
[RSP+420] 0x0 (size_t) [0]
[RSP+428] 0x0 (size_t) [0]
[RSP+430] 0x4E09FA0 (void*)
[RSP+438] 0x0 (size_t) [0]
[RSP+440] 0x0 (size_t) [0]
[RSP+448] 0x0 (size_t) [0]
[RSP+450] 0x4E09DE0 (void*)
[RSP+458] 0x400000013 (size_t) [17179869203]
[RSP+460] 0x100009E7B (void*)
[RSP+468] 0x4E09DE0 (void*)
[RSP+470] 0x400000013 (size_t) [17179869203]
[RSP+478] 0x100009E7B (void*)
[RSP+480] 0x500000005 (size_t) [21474836485]
[RSP+488] 0x0 (size_t) [0]
[RSP+490] 0x0 (size_t) [0]
[RSP+498] 0x0 (size_t) [0]
[RSP+4A0] 0x0 (size_t) [0]
[RSP+4A8] 0x0 (size_t) [0]
[RSP+4B0] 0x0 (size_t) [0]
[RSP+4B8] 0x0 (size_t) [0]
[RSP+4C0] 0x0 (size_t) [0]
[RSP+4C8] 0x0 (size_t) [0]
[RSP+4D0] 0x143258110 (BSJobs::JobThread*) See RSP+3E8
[RSP+4D8] 0x140CF61DA (void* -> SkyrimSE.exe+0CF61DA movzx eax, byte ptr [rbx+0xA74])
[RSP+4E0] 0x143258101 (void* -> SkyrimSE.exe+3258101 add [rax], al)
[RSP+4E8] 0x0 (size_t) [0]
[RSP+4F0] 0x0 (size_t) [0]
[RSP+4F8] 0x1 (size_t) [1]
[RSP+500] 0x143258110 (BSJobs::JobThread*) See RSP+3E8
[RSP+508] 0x140CD0DBD (void* -> SkyrimSE.exe+0CD0DBD mov rcx, [0x00000001431CC318])
[RSP+510] 0x1431CC370 (void* -> SkyrimSE.exe+31CC370 add [rax], al)
[RSP+518] 0x143258110 (BSJobs::JobThread*) See RSP+3E8
[RSP+520] 0x0 (size_t) [0]
[RSP+528] 0x0 (size_t) [0]
[RSP+530] 0x143258110 (BSJobs::JobThread*) See RSP+3E8
[RSP+538] 0x0 (size_t) [0]
[RSP+540] 0x0 (size_t) [0]
[RSP+548] 0x7FFDE8127124 (void* -> KERNEL32.DLL+0017124 mov ecx, eax)
[RSP+550] 0x0 (size_t) [0]
[RSP+558] 0x0 (size_t) [0]
[RSP+560] 0x0 (size_t) [0]
[RSP+568] 0x0 (size_t) [0]
[RSP+570] 0x0 (size_t) [0]
[RSP+578] 0x7FFDE853CC91 (void* -> ntdll.dll+004CC91 jmp 0x00007FFDE853CCB3)
[RSP+580] 0x0 (size_t) [0]
[RSP+588] 0x0 (size_t) [0]
[RSP+590] 0x0 (size_t) [0]
[RSP+598] 0x0 (size_t) [0]
[RSP+5A0] 0x0 (size_t) [0]
[RSP+5A8] 0x0 (size_t) [0]
[RSP+5B0] 0x0 (size_t) [0]
[RSP+5B8] 0x0 (size_t) [0]
[RSP+5C0] 0x0 (size_t) [0]
[RSP+5C8] 0x0 (size_t) [0]
[RSP+5D0] 0x4E8FFFFFB30 (size_t) [5398773889840]
[RSP+5D8] 0x4D0FFFFFB30 (size_t) [5295694674736]
[RSP+5E0] 0x19 (size_t) [25]
[RSP+5E8] 0x0 (size_t) [0]
[RSP+5F0] 0x0 (size_t) [0]
[RSP+5F8] 0x0 (size_t) [0]
[RSP+600] 0x0 (size_t) [0]
[RSP+608] 0x0 (size_t) [0]
[RSP+610] 0x0 (size_t) [0]
[RSP+618] 0x0 (size_t) [0]

MODULES:
BetterThirdPersonSelection.dll 0x000010E10000
FaceGenFixes.dll 0x000013B20000
po3_PapyrusExtender.dll 0x000016F20000
X3DAudio1_7.dll 0x0000708F0000
SkyrimSE.exe 0x000140000000
libcef.dll 0x7FFD28AA0000
StuckDoor.dll 0x7FFD38B70000
STB_QuickHotkeyCast.dll 0x7FFD38D60000
SSEDisplayTweaks.dll 0x7FFD38E50000
SkyrimSoulsRE.dll 0x7FFD38EF0000
SkyParkourNG.dll 0x7FFD39020000
QuickLootIE.dll 0x7FFD390E0000
po3_Tweaks.dll 0x7FFD39360000
PapyrusUtil.dll 0x7FFD39770000
OpenAnimationReplacer.dll 0x7FFD398E0000
NGIO-NG.dll 0x7FFD39C40000
MoreInformativeConsole.dll 0x7FFD39E30000
MCMHelper.dll 0x7FFD39F60000
CrashLogger.dll 0x7FFD3A040000
ImprovedCameraSE.dll 0x7FFD52750000
discord_game_sdk.dll 0x7FFD528C0000
HorseSaveLoadFix.dll 0x7FFD5DC30000
FluidMotion.dll 0x7FFD5DD10000
XAudio2_7.dll 0x7FFD606C0000
ConsoleUtilSSE.dll 0x7FFD60750000
BodyInFirstPerson.dll 0x7FFD60F60000
steamclient64.dll 0x7FFD61500000
DynamicActivationKey.dll 0x7FFD67550000
SKSEMenuFramework.dll 0x7FFD67990000
EngineFixes.dll 0x7FFD67E00000
BetterAltTab.dll 0x7FFD682E0000
AnimationMotionRevolution.dll 0x7FFD68390000
tier0_s64.dll 0x7FFD68500000
SkeletonAutoPatch.dll 0x7FFD69D90000
AlphaBloodBlendingBug-Fix-NG.dll 0x7FFD69FB0000
D3DCOMPILER_47.dll 0x7FFD6A130000
NextGenDiskCache.dll 0x7FFD6BEF0000
winmmbase.dll 0x7FFD70080000
Elemental_Reaction.dll 0x7FFD751A0000
SkyrimTogetherTweaks.dll 0x7FFD75240000
MRCrashFix.dll 0x7FFD75E80000
skse64_1_6_1170.dll 0x7FFD76170000
AdjustableAttributes.dll 0x7FFD7AB70000
bink2w64.dll 0x7FFD7D1A0000
BetterJumpingSE.dll 0x7FFD7D300000
chrome_elf.dll 0x7FFD7D3D0000
AutoInputSwitch.dll 0x7FFD7D6E0000
vstdlib_s64.dll 0x7FFD7D790000
dinput8.dll 0x7FFD80CB0000
MSVCP140_2.dll 0x7FFD81420000
AnimationQueueFix.dll 0x7FFD950D0000
steam_api64.dll 0x7FFD951D0000
deviceaccess.dll 0x7FFD98960000
dsound.dll 0x7FFD9E5B0000
wpnapps.dll 0x7FFDA0250000
twinapi.dll 0x7FFDA22D0000
MSVCP140_ATOMIC_WAIT.dll 0x7FFDA3580000
AUDIOSES.DLL 0x7FFDA5910000
xinput1_3.dll 0x7FFDA5C50000
xinput1_2.dll 0x7FFDA6670000
Windows.Media.dll 0x7FFDB0640000
cryptngc.dll 0x7FFDB1B60000
virtdisk.dll 0x7FFDB82A0000
dbgcore.DLL 0x7FFDB8300000
CryptoWinRT.dll 0x7FFDB9130000
d3dx9_42.dll 0x7FFDB9380000
ncryptsslp.dll 0x7FFDBDA20000
nvppex.dll 0x7FFDBECB0000
nvspcap64.dll 0x7FFDBFBF0000
FLTLIB.DLL 0x7FFDC01C0000
perfos.dll 0x7FFDC1560000
MSVCP140.dll 0x7FFDC19D0000
VCRUNTIME140.dll 0x7FFDC2950000
VCRUNTIME140_1.dll 0x7FFDC2B10000
WINSPOOL.DRV 0x7FFDC7000000
COMCTL32.dll 0x7FFDC7FF0000
pdh.dll 0x7FFDC8920000
MPR.dll 0x7FFDC8980000
FWPolicyIOMgr.dll 0x7FFDCA7E0000
mskeyprotect.dll 0x7FFDCA830000
PCPKsp.dll 0x7FFDCB6E0000
ncryptprov.dll 0x7FFDCB830000
ktmw32.dll 0x7FFDCB930000
tbs.dll 0x7FFDCBA90000
ngcksp.dll 0x7FFDCBBC0000
Secur32.dll 0x7FFDCC360000
nvwgf2umx.dll 0x7FFDCDB90000
NvMessageBus.dll 0x7FFDD33D0000
DWrite.dll 0x7FFDD38F0000
NvMemMapStoragex.dll 0x7FFDD3B80000
urlmon.dll 0x7FFDD41F0000
webio.dll 0x7FFDD43F0000
dbghelp.dll 0x7FFDD4490000
nvgpucomp64.dll 0x7FFDD5C10000
iertutil.dll 0x7FFDD99B0000
WINMM.dll 0x7FFDDB260000
srvcli.dll 0x7FFDDB2C0000
nvldumdx.dll 0x7FFDDB320000
dxcore.dll 0x7FFDDB520000
textinputframework.dll 0x7FFDDB6C0000
fwpuclnt.dll 0x7FFDDBD70000
OneCoreUAPCommonProxyStub.dll 0x7FFDDBDF0000
MMDevApi.dll 0x7FFDDD730000
rasadhlp.dll 0x7FFDDD950000
ColorAdapterClient.dll 0x7FFDDDB30000
npmproxy.dll 0x7FFDDDB50000
mscms.dll 0x7FFDDDCD0000
WINHTTP.dll 0x7FFDDE620000
drvstore.dll 0x7FFDDE730000
twinapi.appcore.dll 0x7FFDDEC20000
cryptnet.dll 0x7FFDDEE30000
VERSION.dll 0x7FFDDEE70000
dhcpcsvc.DLL 0x7FFDDF9A0000
dhcpcsvc6.DLL 0x7FFDDF9C0000
XmlLite.dll 0x7FFDDFB70000
xinput1_1.dll 0x7FFDDFBF0000
WINNSI.DLL 0x7FFDDFE40000
avrt.dll 0x7FFDE0150000
wevtapi.dll 0x7FFDE0570000
inputhost.dll 0x7FFDE0910000
WTSAPI32.dll 0x7FFDE0CC0000
usermgrcli.dll 0x7FFDE0FB0000
d3d11.dll 0x7FFDE0FD0000
d3dcompiler_47.dll 0x7FFDE1240000
PROPSYS.dll 0x7FFDE16A0000
Windows.UI.dll 0x7FFDE18B0000
IconCodecService.dll 0x7FFDE1D80000
WindowManagementAPI.dll 0x7FFDE1DD0000
wintypes.dll 0x7FFDE1FD0000
dcomp.dll 0x7FFDE2130000
NLAapi.dll 0x7FFDE2420000
xinput1_4.dll 0x7FFDE2680000
CoreUIComponents.dll 0x7FFDE2920000
CoreMessaging.dll 0x7FFDE2C80000
EarlyLoad.dll 0x7FFDE2E30000
xinput9_1_0.dll 0x7FFDE2EA0000
netprofm.dll 0x7FFDE2EC0000
WindowsCodecs.dll 0x7FFDE3230000
uxtheme.dll 0x7FFDE3470000
resourcepolicyclient.dll 0x7FFDE3550000
RMCLIENT.dll 0x7FFDE3660000
dwmapi.dll 0x7FFDE3780000
kernel.appcore.dll 0x7FFDE3960000
windows.storage.dll 0x7FFDE3B70000
HID.DLL 0x7FFDE4320000
dxgi.dll 0x7FFDE4330000
fwbase.dll 0x7FFDE4630000
FirewallAPI.dll 0x7FFDE46A0000
WINSTA.dll 0x7FFDE4770000
schannel.DLL 0x7FFDE4A20000
rsaenh.dll 0x7FFDE4B10000
wkscli.dll 0x7FFDE4C30000
ntmarta.dll 0x7FFDE4D60000
UMPDC.dll 0x7FFDE4ED0000
IPHLPAPI.DLL 0x7FFDE4EF0000
netutils.dll 0x7FFDE4F30000
DNSAPI.dll 0x7FFDE4F40000
powrprof.dll 0x7FFDE5010000
MSWSOCK.dll 0x7FFDE5260000
gpapi.dll 0x7FFDE52F0000
CRYPTSP.dll 0x7FFDE5480000
CRYPTBASE.DLL 0x7FFDE54A0000
Wldp.dll 0x7FFDE5530000
NTASN1.dll 0x7FFDE5560000
ncrypt.dll 0x7FFDE55A0000
MSASN1.dll 0x7FFDE56C0000
DEVOBJ.dll 0x7FFDE5890000
DPAPI.DLL 0x7FFDE58F0000
USERENV.dll 0x7FFDE59B0000
SSPICLI.DLL 0x7FFDE59E0000
profapi.dll 0x7FFDE5A30000
msvcp_win.dll 0x7FFDE5B10000
CRYPT32.dll 0x7FFDE5BB0000
bcrypt.dll 0x7FFDE5D10000
gdi32full.dll 0x7FFDE5D40000
bcryptprimitives.dll 0x7FFDE5E60000
win32u.dll 0x7FFDE5FA0000
WINTRUST.dll 0x7FFDE5FD0000
KERNELBASE.dll 0x7FFDE6050000
ucrtbase.dll 0x7FFDE6350000
cfgmgr32.dll 0x7FFDE6450000
clbcatq.dll 0x7FFDE64A0000
USER32.dll 0x7FFDE65E0000
OLEAUT32.dll 0x7FFDE6790000
imagehlp.dll 0x7FFDE68D0000
RPCRT4.dll 0x7FFDE6950000
combase.dll 0x7FFDE6A80000
SHELL32.dll 0x7FFDE6EC0000
IMM32.dll 0x7FFDE7640000
PSAPI.DLL 0x7FFDE7670000
WS2_32.dll 0x7FFDE76E0000
MSCTF.dll 0x7FFDE7760000
SETUPAPI.dll 0x7FFDE7880000
ole32.dll 0x7FFDE7D00000
SHLWAPI.dll 0x7FFDE7E30000
GDI32.dll 0x7FFDE7F30000
KERNEL32.DLL 0x7FFDE8110000
NSI.dll 0x7FFDE81E0000
ADVAPI32.dll 0x7FFDE81F0000
shcore.dll 0x7FFDE82B0000
sechost.dll 0x7FFDE8360000
msvcrt.dll 0x7FFDE8410000
ntdll.dll 0x7FFDE84F0000

SKSE PLUGINS:
AdjustableAttributes.dll v1.1
AlphaBloodBlendingBug-Fix-NG.dll v1
AnimationMotionRevolution.dll
AnimationQueueFix.dll v1.0.1
AutoInputSwitch.dll v1.2.3
BetterAltTab.dll v1.0.2
BetterJumpingSE.dll
BetterThirdPersonSelection.dll v1
BodyInFirstPerson.dll
ConsoleUtilSSE.dll v1.5.1
CrashLogger.dll v1.25
DynamicActivationKey.dll v1
Elemental_Reaction.dll
EngineFixes.dll v7.0.20
FaceGenFixes.dll v1.0.3
FluidMotion.dll v0.1.1
HorseSaveLoadFix.dll
ImprovedCameraSE.dll
MCMHelper.dll v1.5
MoreInformativeConsole.dll v1.2.2
MRCrashFix.dll
NextGenDiskCache.dll
NGIO-NG.dll v1.5.11
OpenAnimationReplacer.dll v2.3.6
PapyrusUtil.dll
po3_PapyrusExtender.dll v6.5.2.1
po3_Tweaks.dll v1.15.1.1
QuickLootIE.dll v3.4
SkeletonAutoPatch.dll v1
SKSEMenuFramework.dll v3.14
SkyParkourNG.dll v3.3.3
SkyrimSoulsRE.dll v3.2
SkyrimTogetherTweaks.dll v1
SSEDisplayTweaks.dll v0.5.16
STB_QuickHotkeyCast.dll v1
StuckDoor.dll v0.1.2

PLUGINS:
Light: 29 Regular: 25 Total: 54
[ 0] Skyrim.esm
[ 1] Update.esm
[ 2] Dawnguard.esm
[ 3] HearthFires.esm
[ 4] Dragonborn.esm
[ 5] ccBGSSSE001-Fish.esm
[ 6] ccBGSSSE025-AdvDSGS.esm
[ 7] Circlets and Masks with all Robes and Hoods.esp
[ 8] UlvenwaldLite.esp
[ 9] SkyrimTogether.esp
[ A] 50 More Perk Points.esp
[ B] Apothecary.esp
[ C] Lit Road Signs.esp
[ D] Gifts Of The Outsider.esp
[ E] Ace Blood Magic SE.esp
[ F] DaggerCraft.esp
[10] Dawnguard Spells Mod.esp
[11] ImmersiveInteractions.esp
[12] Legacy Of Corvo EN.esp
[13] No Edge Glow - Magic and Transformations.esp
[14] ORI - HarkonSword.esp
[15] chfshVariousActions.esp
[16] Cathedral Landscapes.esp
[17] Ordinator - Perks of Skyrim.esp
[18] Sacrosanct - Vampires of Skyrim.esp
[FE: 0] ccQDRSSE001-SurvivalMode.esl
[FE: 1] ccBGSSSE037-Curios.esl
[FE: 2] _ResourcePack.esl
[FE: 3] Elemental Reaction.esm
[FE: 4] SkyUI_SE.esp
[FE: 5] SkyrimTogetherQuestPatches.esp
[FE: 6] Abandoned Prison - Standing Stones Add-on.esp
[FE: 7] DishonoredSword.esp
[FE: 8] BetterThirdPersonSelection.esp
[FE: 9] BodyInFirstPerson.esp
[FE: A] OcatosRecitalStandalone.esp
[FE: B] DT's Merchants Sell Ocatos Recital Spell.esp
[FE: C] Disable Solstheim Boat Intro Scene.esp
[FE: D] Dishonored Blink.esp
[FE: E] remove menu blur.esp
[FE: F] Dynamic Activation Key.esp
[FE: 10] NARC SE for Vanilla.esp
[FE: 11] LucaoysDragonVFX.esp
[FE: 12] NoNPCLoadDoorFade.esp
[FE: 13] ExpertPierce.esp
[FE: 14] ExpertPierce - MysticismMagic Patch.esp
[FE: 15] Quests Award Perk Points.esp
[FE: 16] QuickLootIE.esp
[FE: 17] StalkingNPCs.esp
[FE: 18] SkyParkour.esp
[FE: 19] VampireLordsCanFly.esp
[FE: 1A] Warming Hands.esp
[FE: 1B] water mod.esp
[FE: 1C] MCMHelper.esp

absol89 and others added 2 commits October 18, 2026 04:40
Actor::SetMagicEquipment equipped whatever TESForm::GetById returned for
the owner's hand spells and shout. When the owner has magic from a mod
this client doesn't have, GetGameId returns 0 and a null form gets
equipped. Combat AI later walks the actor's spells (Actor::VisitSpells)
and reads the form type through that null pointer, crashing a BSJobs
thread with an access violation at SkyrimSE+0x811CF7 (ID 44882) when the
remote character fights nearby.

Seen with a Khajiit player using Moonlight Tales, which the other client
didn't have: crashes began once he reverted from werewolf form and
happened whenever he loaded near the Northwatch guards.

Skip and warn about hand spells that aren't MagicItems and voice-slot
forms that are neither shouts nor powers, as the equip-change path in
InventoryService already does for unknown items.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019Mdy6FmrJTc1m7KuVM1n3H
When another player's item carries an enchantment from a mod this client
doesn't have, GetExtraDataFromItem looked it up, got null, and TP_ASSERT
only reported it before SetEnchantmentData attached the null enchantment
to the item. Player-created enchantments had the same problem one level
down: EnchantmentItem::Create logged missing effect settings but still
built the enchantment with null effects. Either way the game crashes
later when the item is equipped, displayed or its effect is applied.

EnchantmentItem::Create now keeps only the effects that exist on this
client and returns null when none do. GetExtraDataFromItem skips a null
enchantment with a warning, so the item still syncs, just unenchanted on
clients missing the mod.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019Mdy6FmrJTc1m7KuVM1n3H
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant