Jump to content
  • 0

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


Question

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 post
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...