4k Crash/BEX Issues
category: code [glöplog]
Quote:
...are we talking about the same crash here...?
Given that both crashes depend on the graphics driver version, it seems likely that they are two different symptoms of the same underlying cause.
My guess is that the NVIDIA driver is modifying the contents of the executable during loading (graphics drivers are known to do such things), which, depending on the values/number of function hashes, results in different things breaking.
Good that we have both Psycho and Blueberry present at TRSAC - if you guys have stuff to show in the compos, you might need to make it run on the compo machine first :D
Okay, I know I'm missing something here and this is usually the point where ryg shows up and corrects me, but why does the graphics driver have access to the PE loader? I mean I can understand application detection / PE parsing after you've called Direct3DCreate / etc., but before...?
Because graphics drivers use every trick in the book (and probably quite a few others) to make applications go faster than with competitors' hardware/drivers. I wouldn't put it past them to try to optimize things that have nothing whatsoever to do with graphics if they find it to be a bottleneck in some important application.
yeah but what exactly do they win by hooking into the PE loader?
Quote:
Good that we have both Psycho and Blueberry present at TRSAC - if you guys have stuff to show in the compos, you might need to make it run on the compo machine first :D
Shouldn't be a problem if you are not running an NVIDIA driver newer than version 301.42. Too bad if some 4k chooses to require OpenGL 4.3. ;)
Yeah, finding out about this situation at Function after the intro compo deadline was... not fun. ("...What do you mean even Elevated crashes?")
Blueberry: fun fact - there are no OpenGL intros yet reported to have that problem.
And - I have exactly the same drivers running here (4.3 devdrivers) and can't reproduce any of the problems.
So it might be a good thing to compare what happens, step by step. Maybe we can also figure out why stuff works here.
And - I have exactly the same drivers running here (4.3 devdrivers) and can't reproduce any of the problems.
So it might be a good thing to compare what happens, step by step. Maybe we can also figure out why stuff works here.
Quote:
New in R304 Drivers:
[...]
Adds support for NVIDIA TXAA
NVIDIA TXAA is new film-style anti-aliasing technique designed specifically to reduce temporal aliasing (crawling and flickering in motion) through a combination of hardware AA, custom CG film style AA resolve, and a temporal filter.
The Secret World is the first game to support TXAA. Read about it on GeForce.com.
TXAA is supported on GeForce GTX 600-series Kepler-based GPUs.
Learn more about TXAA on GeForce.com.
Performance Boost – Increases performance for GeForce 400/500/600 Series GPUs in several PC games vs. GeForce 301.42 WHQL-certified drivers. Results will vary depending on your GPU and system configuration:
[...]
Maybe they are trying to fix your code desperately - I could imagine things like "well he uses a sucky SDK version in that call - LET US FIX THAT" .
yeah but the point is the crash can happen before the imports are even finished, meaning before your entry point is even reached.
Maybe they hook into LoadLibrary and modifiy microsoft dx-dlls on the fly, in memory. What could possibly go wrong. Btw. googled a bit around there are tons of gamers complaining about > 301.42 drivers, mentioning rollbacks all the time.
Those damn changelogs should be much more verbose. I could also image that there is a random setting in the NV controlpanel that "fixes" the problem.
Those damn changelogs should be much more verbose. I could also image that there is a random setting in the NV controlpanel that "fixes" the problem.
Okay. I just had a short look at the driver installers - and the *wrap*.dl_ files looked kinda suspicious... After some searching...
This thing might be worth a further look: The "coprocmanager" directory + detoured.dll -> http://research.microsoft.com/en-us/projects/detours/
Let me put it this way: I've seen enough hentai to see where this is going.
I'm still desperately trying to get my system to crash ;)
This thing might be worth a further look: The "coprocmanager" directory + detoured.dll -> http://research.microsoft.com/en-us/projects/detours/
Quote:
Detours is a library for instrumenting arbitrary Win32 functions Windows-compatible processors. Detours intercepts Win32 functions by re-writing the in-memory code for target functions. The Detours package also contains utilities to attach arbitrary DLLs and data segments (called payloads) to any Win32 binary.
Let me put it this way: I've seen enough hentai to see where this is going.
I'm still desperately trying to get my system to crash ;)
Yeah, see, that's the library kkapture uses :P
Downloaded detours express 3.0 - straight from the readme:
Now guess what - straight from my coprocmanager/detoured.dll
Well. That's not version 3.0. So *caught* there might be problems with binaries containing "no DLL imports"...
Quote:
4.4. COMPATIBILITY IMPROVEMENTS:
================================
Fixes have been made in Detours 3.0 to improve support for target binaries
containing no DLL imports, DLL binaries compiled for online-patching,
binaries generated with hot-patching support, and 64-bit PE binaries
containing managed code.
Now guess what - straight from my coprocmanager/detoured.dll
Quote:
T:\sw\tools\SDK\detours2.1\bin\winxp_x64_release\detoured.pdb
Well. That's not version 3.0. So *caught* there might be problems with binaries containing "no DLL imports"...
-t.
Good morning pouet.
Good morning pouet.
Quote:
[HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\Global\CoprocManager]
"OptimusEnhancements"=dword:00000001
Could somebody with "crashing" system set that key to 0, try, if it does not work - reboot and try again? If it still does not work, just set it to 1 again...
Still BEX exception crash here with that registry change. [yes, after reboot]
Thanks for messing around with this, by the way!
Thanks for messing around with this, by the way!
Damn it.
Could you try to replace the files in:
With those from
- you first need to expand those *.dl_ files using:
The extracted files have the ending .dl - you need to change that to dll.
Try to replace these with the older extracted versions from 301.42.
But well. This could screw things up horribly - but I would give it a shot, do backups of the old files. And we are not sure whether this helps or not.
If you are not sure whether you can fix things yourself if something goes wrong - don't do it.
Could you try to replace the files in:
Code:
C:\Program Files (x86)\NVIDIA Corporation\coprocmanager
With those from
Code:
C:\NVIDIA\DisplayDriver\301.42\WinVista_Win7_64\English\Display.Driver
- you first need to expand those *.dl_ files using:
Code:
expand -R *.dl_
The extracted files have the ending .dl - you need to change that to dll.
Try to replace these with the older extracted versions from 301.42.
Code:
detoured.dll (actually I don't think you have to replace this one, do it anyways)
Nvd3d9wrap.dll
nvdxgiwrap.dll
But well. This could screw things up horribly - but I would give it a shot, do backups of the old files. And we are not sure whether this helps or not.
If you are not sure whether you can fix things yourself if something goes wrong - don't do it.
(And we are pretty sure it is some kind of NV Optimus thing - yes - also on Desktops).
No volunteers?
Update from trsac: we didn't really get any further, as we only had blueberrys laptop that could fail, and it didn't after going back to the R304 drivers (from the older, working set)...
Well - you should give the wall of text I left behind a read - I think it's some detours problem on optimus. :)
Given that nobody in mercury buys broken hardware - we don't have any failing configurations.
Given that nobody in mercury buys broken hardware - we don't have any failing configurations.
Same issues with the new R310 family of drivers (310.33).
Replacing nvd3d9wrap.dll with the one from 296 makes things start, but veery slow and sometimes just black - also slower than I would expect from the hd3000, so something completely borked there. And dx11 stuff can't open the device.
Found a detoured.dll 3.0 somewhere?
Found a detoured.dll 3.0 somewhere?