Jump to content

Preventing/Repairing Stack Dumps


Lostdreamer

Recommended Posts

Hello again folks.

 

I managed to resist skyrim for a bit, got distracted with FAllout and a few lesser games...but it wasn't to last.

 

So I'm starting the process of rebuilding my skyrim game, having mostly forgotten what I did last time around. Doh!

 

I've got it up and loading games etc, but I'm having a few stability issues and other things.

 

A quick look at the papyrus logs reveals loads and loads of stack dumps. I suspect this may not be a new problem, but may well be a previous issue I never got to the bottom of.

 

Can anyone give me some tips as to how to go about fixing them? Thanks.

 

I've attached the papyrus log and my load order, but these days the load order reads more like war & peace so it may not help!

Papyrus.0.log

loadorder.txt

Link to comment

ok you have (what looks at a glance anyway) like a lot of terrain mods, you will need to check these carefully to make sure you do not have multiple mods

all trying to fix the same thing (such as grass).

 

unless a mod specifically requires it (which i have yet to see), it is normally better to load the full base game (Skyrim, Update, Dawnguard, Hearthfires, Dragonborn)

before any other ESM/ESP files.

 

something to watch for is to make sure a mod loads before its addons

 

also when you have multiple mods that deal with the base game and it's DLCs, i find it works better (usually) to make sure they are in the same order as the base

game (Skyrim, then Dawnguard, then Hearthfires, then Dragonborn). your mileage may vary

 

there is a new version of MNC out (it only takes 3 slots at max - 1 for Creature Framework, 1 for MNC and 1 for Henati Creatures vs old version that has 3 more ESP 

files than that which ifyou want can save you 3 spots in load order).

 

a final note - you have Thief installed.  some people can get it to run fine with normal load order, others (like me) have to build a special load order to play it.

again your mileage may vary.

 

hope this information is helpful.

 

 

Link to comment
16 hours ago, valcon767 said:

ok you have (what looks at a glance anyway) like a lot of terrain mods, you will need to check these carefully to make sure you do not have multiple mods

all trying to fix the same thing (such as grass).

Lots and lots and lots, yes. Partly for the pretty and colorful, and partly to turn the game area into an overgrown wilderness to hack through and explore, rather than an empty desolate wasteland.

 

There a lot of encounter & location mods for similar reasons as well - to fill the overland world full of stuff to explore & stumble across whilst looking for other things.

 

Most of the terrain mods are just meshes and textures tho. Which means, if I understand correctly (and I may well not), they should be resolved before gameplay. MO will just use the assets from the lowest mod in it's order. I guess the game might load duplicate assets if they are in the .esp rather than meshes/textures folders, or the .esp forces the loading of duplicate mesh/texture folders (dunno quite how that works). But I've merged most of the landscape stuff into a single .esp using merge plugins for exactly this reason - to resolve conflicts ahead of gameplay.

 

Even if it is loading duplicate items, that's graphics load rather than script load, yes? Won't that just cause stutter and lag on area changes and stuff rather than stack dumps? Gameplay is pretty fluid and responsive, with no issues with lag moving between cells or anything. I don't think I'm challenging it graphically.

 

 

Quote

unless a mod specifically requires it (which i have yet to see), it is normally better to load the full base game (Skyrim, Update, Dawnguard, Hearthfires, Dragonborn)

before any other ESM/ESP files.

 

something to watch for is to make sure a mod loads before its addons

Good spot! I normally try and pay attention to load order (as you say, messing it up is a good way to pick up weird errors) but I had missed that some .esms had got out of order. Now fixed.

 

 

Quote

there is a new version of MNC out (it only takes 3 slots at max - 1 for Creature Framework, 1 for MNC and 1 for Henati Creatures vs old version that has 3 more ESP 

files than that which ifyou want can save you 3 spots in load order).

Yeah, there is gonna be some out of date mods in that list as the build is now ?a year old. I updated DCL & the DD framework last night, I'll grab MNC today. It may help fix other bugs as well, huzzah!

 

If there are any other mods that have had significant updates / are new and cool, please feel free to tell me.

 

 

Quote

a final note - you have Thief installed.  some people can get it to run fine with normal load order, others (like me) have to build a special load order to play it.

Thanks for the heads up. Pulled. I like the look of it and do want to play through it at some point, but I need to get a robust game first...

...always the challenge with modding, eh? ;)

 

 

Quote

hope this information is helpful.

Very. Thank you so much for your support and quick response.

 

----------------

 

Further investigation has confirmed I have some issues with script latency, with almost certainly won't be helping the stack dumps. Elephants Latency tester is reporting 100-200ms in normal play (running around whiterun etc) so i should probably try and get that down. Which I guess involves removing mods... working out which can/should go is so tricky tho!

 

If anyone has other ideas for reducing script overhead / resolving the heap of stack dumps I'm very open to ideas and suggestions!

 

Thanks again.

Link to comment

Right then. Lots of adding and removing mods in the hopes that I could find the 'culprit'.

Which I havn't.

 

I have, however, made two other changes that I think have mitigated the problem.

 

The first is more aggressive papyrus settings in skyrim.ini. These are now at the borderline of what seems to be considered acceptable, but given I run a big script heavy game that makes sense. Ultimately, I'm not too fussed is some scripts run a bit slowly - most of them don't actually need to respond immediately anyhow. Just as long as they do run. It didn't help the script latency, but a short test on a new game didn't throw up any more stack dumps. yet. Current skyrim.ini attached for reference and comment - just incase I have done something very silly.

 

The other change is disabling ENB graphics to 'ENBoost' levels. Which has dropped the script latency right down. So looks like it was, in part, a graphics issue after all.

 

For now, I'm going to call this problem fixed, even tho it feels a bit like it's all workarounds.

 

skyrim.ini

Link to comment
9 hours ago, Lostdreamer said:

The first is more aggressive papyrus settings in skyrim.ini. These are now at the borderline of what seems to be considered acceptable, but given I run a big script heavy game that makes sense.

it make sense to put water in your car when you have to change a wheel?

 

 

[01/27/2018 - 05:20:50PM] New Mia CellTrack changed cells to
[01/27/2018 - 05:20:52PM] Suspended stack count is over our warning threshold, dumping stacks:
[01/27/2018 - 05:20:52PM] VM is freezing...
[01/27/2018 - 05:20:52PM] VM is frozen
[01/27/2018 - 05:20:52PM] Dumping stack 16279373:
[01/27/2018 - 05:20:52PM]     Frame count: 0 (Page count: 0)
[01/27/2018 - 05:20:52PM]     State: Running (Freeze state: Freezing)
[01/27/2018 - 05:20:52PM]     Type: Normal
[01/27/2018 - 05:20:52PM]     Return register: None
[01/27/2018 - 05:20:52PM]     Has stack callback: No
[01/27/2018 - 05:20:52PM]     Stack trace:
[01/27/2018 - 05:20:52PM]         [ (E7003F65)].SHESON_DynDOLOD_LODObject.OnCellAttach() - (requested call)

 

 

easy to find what is the problem when you get a dump entering a cell with dyndolod, since most of the dump will be its oncellattack

 

 

[01/27/2018 - 05:20:52PM]         [alias JorvaskrActivator on quest AN_DialogueFollower (8910E0CD)].AN_JorvaskrTrigger.OnTrigger() - (requested call)
[01/27/2018 - 05:20:52PM]             [param 0]: [WEDogFollowerScript < (6A000D73)>]
[01/27/2018 - 05:20:52PM] Dumping stack 16296354:
[01/27/2018 - 05:20:52PM]     Frame count: 0 (Page count: 0)
[01/27/2018 - 05:20:52PM]     State: Waiting on other stack for call (Freeze state: Freezing)
[01/27/2018 - 05:20:52PM]     Type: Normal
[01/27/2018 - 05:20:52PM]     Return register: None
[01/27/2018 - 05:20:52PM]     Has stack callback: No
[01/27/2018 - 05:20:52PM]     Stack trace:
[01/27/2018 - 05:20:52PM]         [alias JorvaskrActivator on quest AN_DialogueFollower (8910E0CD)].AN_JorvaskrTrigger.OnTrigger() - (requested call)
[01/27/2018 - 05:20:52PM]             [param 0]: [Actor < (6A003413)>]
[01/27/2018 - 05:20:52PM] Dumping stack 16296355:
[01/27/2018 - 05:20:52PM]     Frame count: 0 (Page count: 0)
[01/27/2018 - 05:20:52PM]     State: Waiting on other stack for call (Freeze state: Freezing)
[01/27/2018 - 05:20:52PM]     Type: Normal
[01/27/2018 - 05:20:52PM]     Return register: None
[01/27/2018 - 05:20:52PM]     Has stack callback: No
[01/27/2018 - 05:20:52PM]     Stack trace:
[01/27/2018 - 05:20:52PM]         [alias JorvaskrActivator on quest AN_DialogueFollower (8910E0CD)].AN_JorvaskrTrigger.OnTrigger() - (requested call)
[01/27/2018 - 05:20:52PM]             [param 0]: [WIDeadBodyCleanupScript < (0001A683)>]

 

ontrigger(), that's load everytime something trigger something

your dump it's 8910e0cd, whatever that is

ctrlf f

 

[01/27/2018 - 05:21:52PM]         [alias JorvaskrActivator on quest AN_DialogueFollower (8910E0CD)].AN_JorvaskrTrigger.OnTrigger() - (requested call)
[01/27/2018 - 05:21:52PM]             [param 0]: [WIDeadBodyCleanupScript < (0001A6DC)>]

[01/27/2018 - 05:21:52PM]         [alias JorvaskrActivator on quest AN_DialogueFollower (8910E0CD)].AN_JorvaskrTrigger.OnTrigger() - (requested call)
[01/27/2018 - 05:21:52PM]             [param 0]: [TrainerGoldScript < (0001A6D6)>]

[01/27/2018 - 05:21:52PM]         [alias JorvaskrActivator on quest AN_DialogueFollower (8910E0CD)].AN_JorvaskrTrigger.OnTrigger() - (requested call)
[01/27/2018 - 05:21:52PM]             [param 0]: [ObjectReference < (7EA00618)>]

 

it's in the next dumps

 

[01/27/2018 - 05:23:52PM]         [alias JorvaskrActivator on quest AN_DialogueFollower (8910E0CD)].AN_JorvaskrTrigger.OnTrigger() - (requested call)
[01/27/2018 - 05:23:52PM]             [param 0]: [WIDeadBodyCleanupScript < (0001A6DC)>]
[01/27/2018 - 05:23:52PM] Dumping stack 16314638:
[01/27/2018 - 05:23:52PM]     Frame count: 0 (Page count: 0)
[01/27/2018 - 05:23:52PM]     State: Waiting on other stack for call (Freeze state: Freezing)
[01/27/2018 - 05:23:52PM]     Type: Normal
[01/27/2018 - 05:23:52PM]     Return register: None
[01/27/2018 - 05:23:52PM]     Has stack callback: No
[01/27/2018 - 05:23:52PM]     Stack trace:
[01/27/2018 - 05:23:52PM]         [alias JorvaskrActivator on quest AN_DialogueFollower (8910E0CD)].AN_JorvaskrTrigger.OnTrigger() - (requested call)
[01/27/2018 - 05:23:52PM]             [param 0]: [TrainerGoldScript < (0001A6D6)>]
[01/27/2018 - 05:23:52PM] Dumping stack 16317821:

 

 

you won't crash because of that, it's just a dump

but you won't be able to finish the civil war with that thing (and everything else that can be problems if it get dump)

 

 

 

Link to comment

Thanks for the feedback. It's good to have help :smile:

 

 

10 hours ago, yatol said:

it make sense to put water in your car when you have to change a wheel?

No it doesn't.

 

But it does take longer to change a wheel on a 40t truck than it does on a passenger car.

Which, if I understand the tweaks I have done correctly (and I may well not), is more or less what I have done - I've increased the memory available to the papyrus engine, and increased the time it has available to do it's thing.

Yes, in doing so I've robbed that memory and time from other places - but i'm ok with that. I've got a reasonable spec PC & the emphasis for my build is on gameplay elements rather than screenshot archery so if it means I don't get rafts of 2k textures & ENB then so be it.

 

I'm open to other ways of giving the papyrus engine the headroom it needs, including removing mods if I can identify ones that are particularly

demanding. But I like most of the mods I have, so I'm also good with finding awkward workarounds that allow them all to co-exist stably.

 

 

 

 

The next bit is slightly over my head, but that's one of the reasons for asking for help understanding the errors. Please bear with me and forgive stupid questions as I try to get my head around it. We learn by doing, so let's try and learn some stuff.

Quote

[01/27/2018 - 05:20:52PM] Suspended stack count is over our warning threshold, dumping stacks:

So then, if I can stop this happening I can dodge a lot of the stack dumps (&, by extension, failed scripts), yes?

What causes suspended stacks? Is it just the papyrus engine running out of resources and repeatedly delaying execution, or are there other reasons?

 

Given I'm prepared to sacrifice other elements to support a papyrus heavy build, can I just increase the warning threshold - or will that only delay the inevitable as suspended stacks will keep piling up?

 

 

Quote

[01/27/2018 - 05:20:52PM]         [ (E7003F65)].SHESON_DynDOLOD_LODObject.OnCellAttach() - (requested call)

Cool. I can entirely believe DynDoLOD is throwing errors given i've messed around with the build and havn't redone DynDoLOD yet. Other issues than reminding myself how DynDoLOD works are higher priority right now.

 

 

Quote

[01/27/2018 - 05:20:52PM]         [alias JorvaskrActivator on quest AN_DialogueFollower (8910E0CD)].AN_JorvaskrTrigger.OnTrigger() -

 

ontrigger(), that's load everytime something trigger something

your dump it's 8910e0cd, whatever that is

Err, ok. Stupid question time: how do I work out what 8910e0cd is, what it does and which mod owns it?

 

 

Quote

you won't crash because of that, it's just a dump

but you won't be able to finish the civil war with that thing (and everything else that can be problems if it get dump)

Which is the sort of thing I'm trying to avoid.

 

I don't like transparent errors - where something goes wrong and you don't notice. I much prefer to be told something isn't working which gives me the choice between 'Ok, not sure I care.' and 'Guess I better fix that.'

 

If I come to a quest and can't do it because I accidentally corrupted it months ago...that's irritating. I can't go back in time several months and uncorrupt it, and that's assuming I can work out what happened at all.


 

 

Thanks again for the helpful response.

 

Link to comment
11 hours ago, Lostdreamer said:

 

Err, ok. Stupid question time: how do I work out what 8910e0cd is, what it does and which mod owns it?

 

 

it's a quest in mod 89 with an alias that have a script with ontrigger()

that ontrigger() make the game load that script on everything that is triggered

number of active scripts above 1500-2000, game stack dump that (to not melt playstation 1 cpu)

 

you load tesedit and type 8910e0cd

and either you get rid of mod 89, either you fix its mess (for that you have to understand what he was trying to do)

 

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use