Jump to content
  • 0

Crash-before-launch bug (related to resolution) and workaround



I have a 4K display, and when I have my desktop at 4K (3840x2160) and run the game, it won't actually run at anything more than 1080p (1920x1080) unless I turn off DPI scaling for the executable.


I hated the way it limited how close I could zoom in once I was at that resolution, so I opted for 2K (2560x1440), but then I ran into a separate problem.


If I changed my desktop resolution to anything less than 4K and tried to run the game, it crashed with no report.

Then I tried to switch back and launch at 4K, and it crashed with no report again.


I spent a while before figuring out that I had to either run the game with display scaling on at 4K and 200% scaling to get the 1080p screen manager settings in the game's registry options, or to turn display scaling off and launch at 1080p to get the same settings written to registry.


The crash is a 0xC0000005 (Access Violation) in ntdll.dll somewhere in LdrpApplyFileNameRedirection. There's no relevant stack frames above that I can reference, the stack appears to be crapped on, and the instruction that accessed an invalid address is "mov [ebp-6], 1" so ... the address is a stack variable, and the stack is probably long gone if it can't write to just 6 past the stack frame pointer.


I can reproduce it quite easily.


Workaround; Delete the registry key (HKCU\Software\Obsidian Entertainment\Pillars of Eternity) for the game's settings and run the game with DPI scaling compatibility off at 1920 x 1080. Then you can fool around with it some more.



You're not getting a crash dump (there wasn't one) or a full spec (other than Win 10 x64, nVidia GF 980M 4K notebook) from me on this one.


Could be a driver bug (eh... it's not) ... could be a windows bug (perhaps) ... but it's probably either stack mishandling or a bad call from a mono managed assembly, maybe a unity engine bug, maybe a legit game bug. None of my other unity engine games exhibit this behavior.


Edit: Fix some stupid wording errors, typos, and sleep-deprived logic.

Edited by JackQW
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...