Jump to content

Recommended Posts

9 hours ago, NoJoker said:

Getting CTD randomly, some logs right before crash:

I tried but I am unable to reproduce this in normal gameplay.  I tried things like getting violated and robbed with version 1.05, then saving the game and updating to version 1.06 while the robbery quest is still active, but everything worked as intended and there were no log errors.

 

The only way I could partly reproduce this was to manually start the FPV_Retrieve quest from the console.  Doing this causes a similar set of errors to appear every 5 seconds in the logs, because the timed check for a deleted or disabled Robber fails since the Robber alias is empty.  However, I don't understand why you would get "<unknown file>" Line ? since that would mean the script file itself was missing.

 

6 hours ago, izzyknows said:

I get the exact same errors when "Chance of equipment theft" is set to 0. Setting it to 10 or above will stop the errors. If you play long enough it will CTD. Besides a rather large log file, I can't say "for sure" it's the cause of the crashes. But I can play a lot longer at 10 or above, and my logs are less than 100kb.

I really don't understand this part.  "Chance of equipment theft" has no effect at all other than determining whether the robbery will take place at the start of the violation.  It either does or it doesn't, and if you have it set to 10% and don't get robbed, the code path is exactly the same as if you had it set to 0%.  That variable is never used anywhere outside that one line of code at the start of a violation.

 

Could you both post a complete script log as an attachment?  I get the feeling something really odd is happening here.

Link to comment
15 hours ago, EgoBallistic said:

I tried but I am unable to reproduce this in normal gameplay.  I tried things like getting violated and robbed with version 1.05, then saving the game and updating to version 1.06 while the robbery quest is still active, but everything worked as intended and there were no log errors.

 

The only way I could partly reproduce this was to manually start the FPV_Retrieve quest from the console.  Doing this causes a similar set of errors to appear every 5 seconds in the logs, because the timed check for a deleted or disabled Robber fails since the Robber alias is empty.  However, I don't understand why you would get "<unknown file>" Line ? since that would mean the script file itself was missing.

 

I really don't understand this part.  "Chance of equipment theft" has no effect at all other than determining whether the robbery will take place at the start of the violation.  It either does or it doesn't, and if you have it set to 10% and don't get robbed, the code path is exactly the same as if you had it set to 0%.  That variable is never used anywhere outside that one line of code at the start of a violation.

 

Could you both post a complete script log as an attachment?  I get the feeling something really odd is happening here.

Here you go, I got another crash. I installed AAF Violate 1.06 freshly. Save contains no previous version.

https://pastebin.com/HArhA153

Link to comment
1 hour ago, NoJoker said:

Here you go, I got another crash. I installed AAF Violate 1.06 freshly. Save contains no previous version.

https://pastebin.com/HArhA153

Thanks, that helped me figure out the problem.  I put the function call to start the timer that checks for a deleted/disabled robber in the wrong event on the Robber alias.  As a result the timer starts when you start a new game or when you load your save the first time after installing Violate.  It should only start when the FPV_Retrieve quest starts when you get robbed in a violation.  Thankfully it's an easy fix, and I am going to upload a fixed version soon.

 

In the meantime, you can stop the errors by running these two console commands:

startquest FPV_Retrieve

stopquest FPV_Retrieve

 

However, I doubt that this is the cause of your CTDs.  Your script log shows a lot of script errors that imply you uninstalled scripted mods in the middle of the game.  Several mods are leaving errors where the game is logging "missing file?" instead of the script file name, which is very strange. 

 

Anyway, try running the commands above.  That will stop the timer going off every 5 seconds.  I don't know if it will affect your CTDs but it's worth a try.

Link to comment
43 minutes ago, EgoBallistic said:

Thanks, that helped me figure out the problem.  I put the function call to start the timer that checks for a deleted/disabled robber in the wrong event on the Robber alias.  As a result the timer starts when you start a new game or when you load your save the first time after installing Violate.  It should only start when the FPV_Retrieve quest starts when you get robbed in a violation.  Thankfully it's an easy fix, and I am going to upload a fixed version soon.

 

In the meantime, you can stop the errors by running these two console commands:

startquest FPV_Retrieve

stopquest FPV_Retrieve

 

However, I doubt that this is the cause of your CTDs.  Your script log shows a lot of script errors that imply you uninstalled scripted mods in the middle of the game.  Several mods are leaving errors where the game is logging "missing file?" instead of the script file name, which is very strange. 

 

Anyway, try running the commands above.  That will stop the timer going off every 5 seconds.  I don't know if it will affect your CTDs but it's worth a try.

Thanks a lot, I'm running Horizon which always throws a lot of warnings and errors in log file even when starts with a new game, which I heard somewhere that it's a bug from Creation KIt, not sure though.

Link to comment
6 hours ago, NoJoker said:

Thanks a lot, I'm running Horizon which always throws a lot of warnings and errors in log file even when starts with a new game, which I heard somewhere that it's a bug from Creation KIt, not sure though.

Think @EgoBallistic's more referring to lines like these:
 

Spoiler

[10/04/2019 - 04:15:12AM] Cannot open store for class "NAC:KVW", missing file?
[10/04/2019 - 04:15:12AM] Cannot open store for class "NAC:DrugMFX", missing file?
[10/04/2019 - 04:15:12AM] Cannot open store for class "SimSettlementsConqueror:ObjectReferences:BountyPost", missing file?
[10/04/2019 - 04:15:12AM] Cannot open store for class "ts_holotape_questscript", missing file?
[10/04/2019 - 04:15:13AM] Cannot open store for class "rogg:ddmanager", missing file?
[10/04/2019 - 04:15:13AM] Cannot open store for class "BTInt_DRGN_KeyScript", missing file?

[10/04/2019 - 04:15:13AM] Cannot open store for class "RaiderPet:DialogueQuestScr", missing file?
[10/04/2019 - 04:15:14AM] Cannot open store for class "Metro:ContextWidget", missing file?
[10/04/2019 - 04:15:14AM] error: Unable to bind script Metro:ContextWidget to GasMask_Context (81006381) because their base types do not match
[10/04/2019 - 04:15:14AM] Cannot open store for class "Script_Z_NPCHitTracker", missing file?
[10/04/2019 - 04:15:14AM] Cannot open store for class "Script_Z_EmpireTEST", missing file?

[10/04/2019 - 04:15:13AM] Error: Unable to link types associated with function "PickRandomDDItems" in state "" on object "FPV_DDManagerProxyScript".
[10/04/2019 - 04:15:13AM] error: Unable to bind script FPV_DDManagerProxyScript to FPV_DDManagerProxy (7A03E65D) because their base types do not match

The last two I think, are Horizon, but the rest aren't, and there's a few other knock-on errors from those later in the log as well. Highlighted the more serious offending errors.
There's quite a few warnings/errors from what I assume is mostly Horizon-related, that looks like it's been changed/updated and the mod itself isn't designed to, or able to, adjust/compensate, so there's a number of scripts for it failing to start, though that's not necessarily an issue, it can be indicative of one.

Those underlined, if I had to guess, are from Rogg's DD manager bein removed mid-game.

Link to comment
27 minutes ago, Nebuchadnezzer2 said:

Think @EgoBallistic's more referring to lines like these:

Yeah those mean that something either in the save or in another script is looking for a form that isn't defined anywhere.  I was actually  referring to these:

 

Spoiler

 

[10/04/2019 - 04:15:54AM] error: Cannot access an element of a None array
stack:
    [Z_MissionManager (0A00285F)].script_z_missionmanager.UpdateAllSkillGlobals() - "<unknown file>" Line ?
    [Z_HorizonOnLoad (8812222B)].Script_Z_HorizonOnLoad.ConvertOldPerks() - "<unknown file>" Line ?
    [Z_HorizonOnLoad (8812222B)].Script_Z_HorizonOnLoad.UpdateVersion() - "<unknown file>" Line ?
    [Z_HorizonOnLoad (8812222B)].Script_Z_HorizonOnLoad.OnTimer() - "<unknown file>" Line ?

 

or these:

 

[10/04/2019 - 04:16:10AM] error: Cannot call IsDeleted() on a None object, aborting function call
stack:
    [alias Robber on quest FPV_Retrieve (7A002E16)].FPV_Script_Robber.OnTimer() - "<unknown file>" Line ?
[10/04/2019 - 04:16:10AM] warning: Assigning None to a non-object variable named "::temp3"

 

 

... but now I realize that is probably because @NoJoker doesn't have bLoadDebugInformation= set to 1 in his ini files.

 

Anyway, as far as CTDs that stuff is almost always a red herring.  If the game was able to log an error about something, that means the game handled the error and it didn't crash.  Papyrus logs are great for finding logic bugs in code, but they are next to useless for resolving CTDs because the game crashes before it gets a chance to write anything to the log.  In this case, the error from Violate is happening every 5 seconds, so it's not surprising that you see it around the time the game crashed.

Link to comment

Hi 

Dont know if it belongs here but when surrendering to supermutants the SMs are all Flacid. Works with Raiders,Gunners.....

Tested Strong with SEU and he works so its only agressive SMs who are flacid  had this problem in an earlier install but cant remember the solution

Does anybody have a clou on this? so point me to a solution

Thanks

 

Using Violate version 1.02

Link to comment
25 minutes ago, iggypop1 said:

Dont know if it belongs here but when surrendering to supermutants the SMs are all Flacid. Works with Raiders,Gunners.....

Tested Strong with SEU and he works so its only agressive SMs who are flacid  had this problem in an earlier install but cant remember the solution

That's a skeleton/animation issue, this mod can't do anything about it one way or the other.

 

I personally don't use the One Patch, I use the supermutant mesh from the AAF Modders Resource.  That one works fine for me, no freezing on death and no flaccid mutants.

Link to comment

New version 1.07 uploaded

  • I fixed the bug in the robbery quest that was causing log spam due to a timer script running on an empty alias.  This was the bug reported by @NoJoker and @izzyknows.
  • Since I was in the robbery quest anyway, I made a couple of improvements.  When you are robbed, killing the robber will no longer make the quest marker disappear.  The quest marker will stay on the robber until either you retrieve your gear from the robber's corpse, OR you make the robber surrender and then take your stuff back from them. 
  • Robbers are no longer Protected, so you can order your companions to kill them for you, or they can be killed by whatever comes along.
  • I finally gave in and implemented a hotkey method to end stuck violations.  Holding down the surrender hotkey for 5 seconds or more and then releasing it will end the violation.  This is intended to be used in cases where "everyone is just standing around" and may have unpredictable results if used when everything is working normally.  Keep in mind that hung violations are caused by AAF not sending animation events to Violate, so you'll still need to deal with that issue.

As always, you can just update the mod and load your save, and Violate will update itself.

Link to comment
1 hour ago, EgoBallistic said:

That's a skeleton/animation issue, this mod can't do anything about it one way or the other.

 

I personally don't use the One Patch, I use the supermutant mesh from the AAF Modders Resource.  That one works fine for me, no freezing on death and no flaccid mutants.

Why im asking here is because the SMs are only flacid when surrendering via Violate ok ill try the Resourse meshes

 

Edit: thanks that worked......can i just delete the SM skeleton to avoid the SM freezing?

yours

Link to comment
15 hours ago, EgoBallistic said:

You're very welcome.  Yes, the SM body mesh from Resources works with the vanilla SM skeleton.

Has anyone looked into Stack Dumps and scripts crashing the system?  My game kept crashing even though I was getting rid of a lot of mods.  I kept getting the Stack Dump in the Papyrus log:

[10/01/2019 - 07:44:00PM] Dumping stack 471135:
[10/01/2019 - 07:44:00PM]     Frame count: 6 (Page count: 6)
[10/01/2019 - 07:44:00PM]     State: Waiting on other stack for call (Freeze state: Freezing)
[10/01/2019 - 07:44:00PM]     Type: Normal

 

It was frustrating as hell and the only solution I was heading for was to get rid of my script heavy mods.  I had already used FO4Edit to clear up most of the conflicts.  I finally found, what I think is a solution.  I am still testing it (real life intrudes):

[Papyrus]

fUpdateBudgetMS=1.2

fExtraTaskletBudgetMS=1.2

fPostLoadUpdateTimeMS=500.0

iMinMemoryPageSize=128

iMaxMemoryPageSize=1024

iMaxAllocatedMemoryBytes=2147483647

iMaxStackDepth=100

bEnableLogging=1

bEnableTrace=1

bLoadDebugInformation=1

bEnableProfiling=1

sTraceStatusOfQuest=

sDefaultLogOverlay=Papyrus


Note the iMaxAllocatedMemoryBytes=2147483647 (up from 153600) and iMaxMemoryPageSize=1024 (doubled from 512).  From everything I have read, this affects stack size which is related to the scripts.  So far it has worked.  No CTD.  Thoughts?  Am I way off?

Link to comment

I've got mine at:
iMaxMemoryPageSize=2048
iMaxAllocatedMemoryBytes=614400

And at one point, I had a fuzz over 1Gb log with 10's of thousands of stack dumps and no crash. Game was stuttering like hell though. LOL

 

You really don't need 2Gb of memory. All scripts (for the most part) are tied to frames. For example, the code will allocate 6 frames for the execution of XYZ.
When XYZ isn't able to finish in the allotted time (errors in the code, crappy fps etc) the engine will put XYZ in queue for the next available frames. When the queue gets overloaded
you'll start seeing stack dumps. (really short version!)
You'll also notice stuttering in game when they start happening.


The best thing to do is figure out what mod is causing the issue (the log will tell you) and if non stop, delete the mod.
Also, when removing script heavy (or ones with issue) always start a new run. Looooot less issues that way. :)

 

K... I'm rambling! ehehee

 

Link to comment
10 hours ago, reconphil said:

Note the iMaxAllocatedMemoryBytes=2147483647 (up from 153600) and iMaxMemoryPageSize=1024 (doubled from 512).  From everything I have read, this affects stack size which is related to the scripts.  So far it has worked.  No CTD.  Thoughts?  Am I way off?

Every time the game draws a frame, the Papyrus engine gets a certain amount of time (a "time slice") to run its code.  Suspended stacks happen when you have too many scripts trying to run within the allowed time slice.  Scripts that can't complete are suspended until the next time slice.  If the number of suspended scripts exceeds iMaxStackDepth, you get a stack dump.  Stack dumps are usually very bad because the function calls are simply not executed.  This can obviously break scripts.

 

The usual reason for exceeding iMaxStackDepth is when a script receives large numbers of events that it is unable to process in real time.  A common example is a script that tries to handle OnItemAdded or OnItemRemoved events on the player, and some other script transfers a huge number of different items to/from the player.  But in general anything that causes too many function calls in a very short period can cause suspended stack dumps.

 

The variables fUpdateBudgetMS and fExtraTaskletBudgetMS control the maximum amount of time Paypyrus gets to run in every frame, and iMaxStackDepth controls the max number of suspended stacks that are allowed before a dump.  If you increase iMaxStackDepth you probably should increase your max memory allocation limits by the same percentage.

 

As far as memory allocation, iMaxMemoryPageSize is the max size of the pages of memory that the game will use when allocating memory to a stack.  Increasing this a little can help reduce the number of memory allocations, which can increase performance.

 

iMaxAllocatedMemoryBytes is the max total amount of memory for all stacks.  By default iMaxMemoryPageSize is 512 bytes and iMaxAllocatedMemoryBytes is 153600, so there is enough memory to handle 300 pages.  Increasing it to e.g. 600 pages is probably more than enough.  But since this is a max value, the game won't allocate more than it needs, so having it set to a huge value won't hurt anything.  Still, if it were me I'd set iMaxMemoryPageSize to 1024 and iMaxAllocatedMemoryBytes to 768000 and leave it at that.  Personally I have no problems with the default values though.

Link to comment
4 hours ago, EgoBallistic said:

Did you ever figure out what was causing your crashes?  And I hope version AAF Violate 1.07 got rid of all your log spam?

I didn't have crashes, but the log spam does seem to be gone. :)
Think I'll start a new run today and see how things go.

Link to comment

If you are CTD'ing please remember that NMM is better suited for 7z's and not .rar's.  I spent a good portion of an evening converting .rar's to 7 zips and even though I am sure that I didn't get them all I have only had one CTD since.  Probably from ultra settings with 8k cbbe bodies in the rain and fog of Far Harbor 

You'll have to look up / ask around about Vortex and Mod Organizer to know what file type they prefer.  

Link to comment

@EgoBallistic So the two issues are slowly revealing themselves to me.  AAF prostitution was causing the no violate to happen.  Proof.  I was being violated and one of them said the line "Well aren't you eye candy", but was too far away to talk to soo after 5 mins I decided that he wasn't moving any closer.  Second issue is gonna take more time.  Everyone continues to fight even though I have surrendered.  It only happens in unique locations where random NPC's take my side.  Then they don't surrender.  After they stop fighting the original faction resumes the attack on my PC.  Once again that is just a weird bug where only having mods that introduce new factions and change basic NPC behavior causes this to happen.  That is why I suggested a surrender hand off between two or more opposing factions.  The only other option is if there is a captive tag that can be applied to the PC instead of ally of violating faction tag 

Link to comment
11 minutes ago, GoldenRain said:

If you are CTD'ing please remember that NMM is better suited for 7z's and not .rar's.  I spent a good portion of an evening converting .rar's to 7 zips and even though I am sure that I didn't get them all I have only had one CTD since.  Probably from ultra settings with 8k cbbe bodies in the rain and fog of Far Harbor 

You'll have to look up / ask around about Vortex and Mod Organizer to know what file type they prefer.  

I've not seen any issues with either rar or 7z files in Vortex, though I have had it refuse to install bare esp files with a somewhat cryptic error message and apparently wanted them to come wrapped in an additional archive layer (once I created a new 7z file to contain the file, it was more than happy to add it to the collection).

Link to comment
15 hours ago, EgoBallistic said:

Every time the game draws a frame, the Papyrus engine gets a certain amount of time (a "time slice") to run its code.  Suspended stacks happen when you have too many scripts trying to run within the allowed time slice.  Scripts that can't complete are suspended until the next time slice.  If the number of suspended scripts exceeds iMaxStackDepth, you get a stack dump.  Stack dumps are usually very bad because the function calls are simply not executed.  This can obviously break scripts.

 

The usual reason for exceeding iMaxStackDepth is when a script receives large numbers of events that it is unable to process in real time.  A common example is a script that tries to handle OnItemAdded or OnItemRemoved events on the player, and some other script transfers a huge number of different items to/from the player.  But in general anything that causes too many function calls in a very short period can cause suspended stack dumps.

 

The variables fUpdateBudgetMS and fExtraTaskletBudgetMS control the maximum amount of time Paypyrus gets to run in every frame, and iMaxStackDepth controls the max number of suspended stacks that are allowed before a dump.  If you increase iMaxStackDepth you probably should increase your max memory allocation limits by the same percentage.

 

As far as memory allocation, iMaxMemoryPageSize is the max size of the pages of memory that the game will use when allocating memory to a stack.  Increasing this a little can help reduce the number of memory allocations, which can increase performance.

 

iMaxAllocatedMemoryBytes is the max total amount of memory for all stacks.  By default iMaxMemoryPageSize is 512 bytes and iMaxAllocatedMemoryBytes is 153600, so there is enough memory to handle 300 pages.  Increasing it to e.g. 600 pages is probably more than enough.  But since this is a max value, the game won't allocate more than it needs, so having it set to a huge value won't hurt anything.  Still, if it were me I'd set iMaxMemoryPageSize to 1024 and iMaxAllocatedMemoryBytes to 768000 and leave it at that.  Personally I have no problems with the default values though.

Thanks for the in depth explanation.  I've read the definitions but I am not familiar with all the terms.  Your explanation helps.

Link to comment
12 hours ago, GoldenRain said:

AAF prostitution was causing the no violate to happen.  Proof.  I was being violated and one of them said the line "Well aren't you eye candy", but was too far away to talk to soo after 5 mins I decided that he wasn't moving any closer.

Mods like Prostitution, Shenanigans, etc, that autonomously take over NPCs are always going to cause problems like this.  Unless they make some effort to detect when the player is unable to respond, they can cause a deadlock where the NPC starts a scene that the player can never respond to.  A simple solution is for those mods to check the return value of Game.IsActivateControlsEnabled() and/or Game.IsMovementControlsEnabled().  If those return False, then their mods should not attempt to interact with the player.  Violate, MCG, and RSE II CSA all use input enable layers to disable the player's controls, so this method would work with all of those mods.

12 hours ago, GoldenRain said:

Once again that is just a weird bug where only having mods that introduce new factions and change basic NPC behavior causes this to happen.  That is why I suggested a surrender hand off between two or more opposing factions.  The only other option is if there is a captive tag that can be applied to the PC instead of ally of violating faction tag 

I can't account for every custom faction and NPC behavior that other mods might introduce.  But the pacification method Violate uses is probably more reliable than using the vanilla CaptiveFaction.  Violate puts all the violators in its own Charm faction, which is allied with the Player and Companion factions.  That method will work with absolutely any NPC.  Using the vanilla CaptiveFaction will not always work with NPCs added by mods -- if they aren't a member of another vanilla faction like Raiders, Gunners, etc, it will have no effect.

Link to comment
2 hours ago, EgoBallistic said:

 A simple solution is for those mods to check the return value of Game.IsActivateControlsEnabled() and/or Game.IsMovementControlsEnabled().  If those return False, then their mods should not attempt to interact with the player. 

A) How do I check?  Is that a console command?  Do I wait for one of the mods to trigger before I check?  Do I need to be in a violate scenario for those checks to know?  If I give you the worst papyrus log ever when one of these instances occurs would that be a better way to know?  When it comes to checking to see if a mod is working I've been doing the tried and true test it first.  That is why these are always suggestions as I know from experience that this mod already works fine just fine and that it's some mod conflict on my end

2 hours ago, EgoBallistic said:

Violate puts all the violators in its own Charm faction, which is allied with the Player and Companion factions.  That method will work with absolutely any NPC. 

Yes and that is the issue.  For when I am in an intense battle IF I surrender I have now joined the bad guys.  People who fight the bad guys, but are not my ally do not join in on either side of the violation.  Bonus Problem, I become the number one target of my new found attackers/former enemy of their enemy. 

How to test on your part:  Use the console to Spawn in some hostile raiders in game, in DC and surrender to them.  You're now on their team.  Team Charm.  

Possible solution.  Instant outcome as your PC is now under fire IE teleport/lets get out of here/abduction/collared through raiders pet (good luck on that one lol)

Edit: my bad let me rephrase that small mistaken use of the enemy of my enemy.  
I am surrendering to a riot if you will.  I was on the side of the guards.  After I make a new(?) charm faction the guards/former rulers of the cell turn on me because _______________ (?)  

Edit number 2:
What if the Charm faction was only the player and anyone who is in the surrender state?!?!  Neutral to all factions!  That way when NPC's of any variety that are hostile to the violators treat you as a neutral!!  Once the violators are dead the new king of the cell will see you.  You'll get the standard line when all attackers have died before a violate happened  (Lol at least twice now in my series.  First time was an almost VERY LUCKY SM who ate my bullet as I was surrendering to him HAHAHAHA) 
Now the new NPC faction will see you and either be hostile or not as the PC has returned to the Player Faction!!! Boom!!!!

Edit 3:  ______ could be a bullet that hadn't connected yet.  That is why my Charm faction has hostile relations with DC guards

EDIT #4: see more realistic bullets, they create travel time variations for ballistic weapons.  This is why the bottom issue comes up for me and maybe that is why you're seeing everything as fine just fine?

Link to comment
3 hours ago, GoldenRain said:

How do I check?  Is that a console command?  Do I wait for one of the mods to trigger before I check?

No no, I mean those other mods need to do that check before starting a dialogue scene.

 

3 hours ago, GoldenRain said:

Yes and that is the issue.  For when I am in an intense battle IF I surrender I have now joined the bad guys.  People who fight the bad guys, but are not my ally do not join in on either side of the violation.  Bonus Problem, I become the number one target of my new found attackers/former enemy of their enemy. 

Ah I see.  In that case, what should happen is that any violators who are attacked will fight back.  And if anyone (you, a companion, a violator) who is in an animation is attacked, the violation ends immediately.  Is that not happening in your case?

Link to comment

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...

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