-
Notifications
You must be signed in to change notification settings - Fork 55
Troubleshooting
*--> Crash <--*
Assertion: Failed to load Coherent DLL. Error code: 0x7e
File: ..\..\..\Engine\ArenaWeb\CoherentUi\AwCoh.cpp(58)
App: Gw2-64.exe
One of the addons you installed is causing issues. Try disabling all addons and enabling one-by-one to determine which one is the source of the crash and then check out the website for that addon, where you can find troubleshooting help specific to that addon.
Discussion on issue #18 uncovered that this issue is most likely caused by Windows associating certain crashes with the addon loader plugin (named d3d9.dll) that loads all addons on game startup. Specifically, @blocke noted the following:
after exiting from Guild Wars 2 the following registry key gets created:
Registry::\HKEY_USERS\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers NoteProperty E:\Guild Wars 2\Gw2-64.exe=$ IgnoreFreeLibrary<d3d9.dll>
This appears to be Windows disabling the loading of d3d9.dll from the GW2 directory due to apparent compatibility issues. This registry key prevents add ons from working until it is removed. Remove this registry key before starting GW2 and addons will work for the play station. Once you quit GW2 the registry key gets created again.
Note that this is not a specific issue to the addon manager or loader but appears to occur after a number of crashes occur when using any plugin with the game, as Windows will flag d3d9.dll as causing crashes and automatically prevent it from being loaded.
There are two approaches to this issue:
To fix this issue, you can enter the registry editor, find the key mentioned above, and set it to a blank string. Then, change the permissions for the key to deny Full Control and Read Access on whatever user you run GW2 on. Save the changes, and this issue should be resolved permanently on your machine.
Run the following script (made by @blocke) in powershell each time before you start Guild Wars 2:
$current_sid = [System.Security.Principal.WindowsIdentity]::GetCurrent().User | Select-Object -ExpandProperty Value
Remove-ItemProperty -Path "Registry::HKEY_USERS\$current_sid\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" -Name *Gw2-64.exe*
(change Gw2-64.exe to Gw2.exe if you're using the 32-bit client)
I understand that both of these solutions are probably more involved than some users are comfortable with attempting, but unfortunately there doesn't seem to be a convenient way to bake this functionality into the loader plugin or this application, nor is there a more easily accessible way to disable this Windows behavior.
You can open an issue; please use the bug report template - including the info requested there helps a lot.