Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

any kind of mods
  • Author
  • Message
Offline
User avatar
Posts: 42
Joined: 19 Jan 2014, 14:14
Location: Hanoi, Vietnam

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

IMPORTANT UPDATE on ONGOING CTDs

I've just had an immediate CTD when trying to load a savegame from this morning's successful run.

Looking at the mini crash dump, I now see something that, for some dumb reason, I totally missed before.

I've mainly been looking for the FAULTING IP information, as explained in sheson's post.

For my CTD just now, it looks like this:

Code: Select all

FAULTING_IP:
d3d9+16c6e
02376c6e 8b08            mov     ecx,dword ptr [eax]
However, further down, there seems to be evidence that the memory access error happened either from d3d9.dll accessing memory in SKSE.exe or the other way around (not sure.) So this seems to point to the ENBoost being at work when the CTD occured.

Here are the lines that give me the clues:

Code: Select all

STACK_COMMAND:  ~0s; .ecxr ; kb
SYMBOL_STACK_INDEX:  0
SYMBOL_NAME:  d3d9+16c6e
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: d3d9
IMAGE_NAME:  d3d9.dll
DEBUG_FLR_IMAGE_TIMESTAMP:  52ddccd0
FAILURE_BUCKET_ID:  NULL_POINTER_READ_c0000005_d3d9.dll!Unknown
BUCKET_ID:  APPLICATION_FAULT_NULL_POINTER_READ_d3d9+16c6e
For the full crash dump in pastebin, see here.

I looked back at the crash dumps of my two CTDs from yesterday and see that CTD#1 in my above post has EXACTLY the same set of lines!

The really great thing about this CTD is that it is 100% reproducible, and again with those same error lines listed above. By "great", I mean from a troubleshooting perspective, but not a stability in my game perspective.

My plan is to try changing different settings in the [MEMORY] section of enblocal.ini to see if I can get that savegame to actually load. The last test will be to completely disable ENBoost and check if it will load.

So, sheson, Nearox, and others, I promise to report back here, but if anyone reading here who has more of a clue about the information in these crash dumps than I, your insights would be very much appreciated.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17559
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

keithinhanoi
How can i reproduce it? With your save?
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
User avatar
Posts: 42
Joined: 19 Jan 2014, 14:14
Location: Hanoi, Vietnam

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

@Boris

I think using my savegame would not help, since it's also dependent the mods I'm using, etc.

However, I found out that by only changing DisableDriverMemoryManager to false in enblocal.ini, I can load that savegame without any CTD.

So this is good news - it shows that on my AMD card at least, the Driver Memory Manager should be left enabled for better stability.

But the even better news is that SKSE mini crash dump helped me to know the CTD was related to one of my ENBoost settings!

Now that I know I should keep the Driver Memory Manager enabled to avoid that kind of CTD, I can continue my testing with sheson's memory patch to try to figure out what the other types of CTDs are caused by.

EDIT:

I think I spoke too soon. :oops:

Now with DisableDriverMemoryManager set to false, there's a different savegame which causes a CTD when I try to load it, and the SKSE mini crash dump lines are the same.

Going to bed, will continue testing tomorrow.
_________________
EVGA GTX 760 4GB | i5-4590 Quad 3.3Ghz | ASRock Z87E-ITX | 16GB Crucial DDR3-1600 | 240GB SSD + 3TB HDD | Win7 x64

Offline
User avatar
Posts: 64
Joined: 11 Sep 2013, 22:34

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

For further testing I would suggest to start separating between mods that only add textures and meshes, and mods that use CK to change values or add scripts.

I can only strongly suggest to use Mod Organizer because it is the only tool that allows to easily switch from vanilla game to a selective list of mods and leaves no doubt in what overwrote something else.

So with that in mind, one can focus on texture/meshes mods to find the stable settings for ENBoost and graphics card and settings. tgm is good for this because large volumes of data needs to be transferred, but there may be something like being too fast for all objects to load. It seems good practice to let the engine catch up load all the objects.

Later one can test the CK mods. Testing these also requires to watch or interact with whatever happens in the current cells.

The general idea is to narrow testing down as much as possible. You never know, you might find a combination of 3 things that other can replicate.

Offline
User avatar
*master*
Posts: 199
Joined: 13 Dec 2012, 18:08
Location: France

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

@sheson

To complete Sheson, I advise BOSS GUI for everyone to diagnose possible issues (and sort mods pretty safely) and WyreBash for sorting and creating Bash Patch. Boss tells you if a mod has dirty edits or CK issues. After, Tes5Edit to clean dirty edits, and reduce memory issues (like above). Vanilla files (DLCs included) are full of dirty edits, contrary to most of the Community's mods.
_________________
Asus P8Z77-V, G.Skill TridentX 2x4go PC3-19200 CL9, Intel Core i5-3570K (3.4 GHz), Gigabyte Geforce GTX 670 WindForce 3x OC(335.23), Samsung SSD 840 Pro 128go+500Go 7200RPM SATA III, Auzentech X-FI Forte 7.1, Windows 8.1 Pro x64, The Grim and Somber ENB

Offline
Posts: 3
Joined: 28 Jan 2014, 18:59

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

Hi, I upgraded your code, now it's waaaay easier to change amount of RAM for every block. You can change it from config file, no need to recompile .dll everytime. The code is:

Code: Select all

    //Original code by Shenson, modified by Wojtab
    UInt32 enableMemPatches = 0;
    UInt32 giveFBtoShenson = 0;
    UInt32 memtoalloc = 512;
    UInt32 memblocktwo = 256;
    if(GetConfigOption_UInt32("MemoryHack", "GiveFirstBornToSheson", &giveFBtoShenson) && GetConfigOption_UInt32("MemoryHack", "EnableHack", &enableMemPatches))
    {
       if(enableMemPatches&&giveFBtoShenson)
       {
          _MESSAGE("Sheson took your first born in exchange for more memory");
		  bool cont = true;
		  if(!GetConfigOption_UInt32("MemoryHack", "TotalMemoryToAllocate", &memtoalloc)){
			  MessageBox(NULL, "Please specify how much total memory You want to allocate.", NULL, MB_OK | MB_ICONERROR);
			  cont = false;
		  }
		  if(!GetConfigOption_UInt32("MemoryHack", "MemoryToAllocateBlock2", &memblocktwo)){
			  MessageBox(NULL, "Please specify how much memory You want to allocate to block2.", NULL, MB_OK | MB_ICONERROR);
			  cont = false;
		  }
		  if(cont){
			  SafeWrite32(0x00687e87+2, memtoalloc);
			  memblocktwo = memblocktwo * 1048576;//MB to B
			  SafeWrite32(0x00a4e6be+1, memblocktwo);
			  SafeWrite8(0x004bd832+1, 0x11);
		  }
       }else if(!giveFBtoShenson && enableMemPatches){
		   MessageBox(NULL, "You have to give your firstborn to Shenson\nif You want more memory.\nIt's fair trade, I promise.", NULL, MB_OK | MB_ICONERROR);
	   }
    }
You have to paste it in the same place, that you'll paste normal code.
And config file:

Code: Select all

[MemoryHack]
GiveFirstBornToSheson = 1    //Do you want to give your firstborn to Shenson(required for hack to work)
EnableHack = 1               //1-hack enabled, 0-disabled
TotalMemoryToAllocate = 512  //Total memory to allocate in MB. Skyrim's default is 512. Generally You want to increase this value.
MemoryToAllocateBlock2 = 256 //Memory to allocate to block2 in MB. Skyrim's default is 256. Remember that total memory should be at least 256MB bigger than memory for block2.
I also deleted wall of text, that You call "comments" and added alertboxes if something goes wrong. Hope You like it.
Last edited by Wojtab on 28 Jan 2014, 21:16, edited 1 time in total.

Offline
Posts: 31
Joined: 06 Jan 2014, 15:35

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

keithinhanoi wrote:@nafeasonto

Oh, man. If true, that's really disappointing - and also surprising, considering the enormous following that The Dance of Death has. Since I'm hoping to include it in the mod lineup for my next play through, I will have to do some research on that.
Yeah it's definitely Dance of Death. I have a feeling if we say anything to the author he won't believe it.

Offline
Posts: 29
Joined: 18 Jan 2014, 04:27

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

For the people running Dance of Death, are you also running a perk overhaul ? I had a lot of issues with this mod up until I realized that I had to turn off the perk flag in the MCM whilst using TTRSO.

@Wojtab

Check back on page 5 of this thread :D I think you may find this has been done, although I do like your version :D

Offline
Posts: 31
Joined: 06 Jan 2014, 15:35

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

Daetarek wrote:For the people running Dance of Death, are you also running a perk overhaul ? I had a lot of issues with this mod up until I realized that I had to turn off the perk flag in the MCM whilst using TTRSO.

@Wojtab

Check back on page 5 of this thread :D I think you may find this has been done, although I do like your version :D
What is TTRSO?

Offline
Posts: 29
Joined: 18 Jan 2014, 04:27

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

nafeasonto wrote:
Daetarek wrote:For the people running Dance of Death, are you also running a perk overhaul ? I had a lot of issues with this mod up until I realized that I had to turn off the perk flag in the MCM whilst using TTRSO.

@Wojtab

Check back on page 5 of this thread :D I think you may find this has been done, although I do like your version :D
What is TTRSO?

Just one of the many Perk overhauls available, but it seems to happen with any perk overhaul, in this case I am using TheThirdRace Skill Overhaul (TTRSO).
Post Reply