Jump to content

Need help with script spam caused by SexLab.


papawashere

Recommended Posts

Earlier I noticed SexLab mods started acting up: they'd fail to load in some areas but work fine in others.

 

So I went to investigate my Papyrus log after simply loading a game in QAsmoke then exiting. The Papyrus log was FOUR GIGABYTES and had over THREE MILLION entries of stuff like this: 

 

[sexLabThread01 (0B062452)].sslthreadcontroller.GetHighestPresentRelationshipRank() - "<savegame>" Line ?
[alias ActorAlias004 on quest SexLabThread01 (0B062452)].sslActorAlias.PrepareActor() - "<savegame>" Line ?
[10/13/2014 - 03:53:10PM] warning: Assigning None to a non-object variable named "::temp98"
stack:
[sexLabThread01 (0B062452)].sslthreadcontroller.GetHighestPresentRelationshipRank() - "<savegame>" Line ?
[alias ActorAlias004 on quest SexLabThread01 (0B062452)].sslActorAlias.PrepareActor() - "<savegame>" Line ?
[10/13/2014 - 03:53:10PM] Error: Cannot access an element of a None array
stack:
[sexLabThread01 (0B062452)].sslthreadcontroller.GetHighestPresentRelationshipRank() - "<savegame>" Line ?
[alias ActorAlias004 on quest SexLabThread01 (0B062452)].sslActorAlias.PrepareActor() - "<savegame>" Line ?
[10/13/2014 - 03:53:10PM] Error: Cannot call GetRelationshipRank() on a None object, aborting function call
 
post-218859-0-60131900-1413263473_thumb.jpg
I opened that save game in SaveTool and it shows 53 instances of sslActorAlias running. I tried to remove them by reinstalling SexLab, but it only got rid of 1 of the instances. I also tried deleting all sslActorAlias scripts and their references and then reinstalling SexLab, but the game crashes on save every time.
 
After retracing my steps and deducing how this could have happened, I think it may have been caused by trying to perform sex acts on the non SexLab enabled girls from hyd_slavegirls. I have the correct .esp in now to enable them, but the leftovers from various scenarios appear to be absolutely destroying my Papyrus. 
 
Is there any way I can get rid of all these sslActorAlias scripts without causing the game to crash on every save?
 
EDIT: Looks like I posted it this in the wrong place. Hopefully a mod moves it to the correct place.
 
Miscellaneous information:  
 
Save game size is 14 mb.
 
A small piece of the log: http://pastebin.com/Kis5EZay
 
 
Link to comment
  1. Uninstall SexLab and ALL related mods that use SexLab, including ZazAnimations, Devious Devices, MoreNastyCritters, anything and everything that makes use of SexLab
    • If not using mod organizer (which you should be), delete all scripts in your data folder that start with sslThread, sslActor, sslAnimation, sslExpression, sslVoice, sslSystem, and sslConfig
  2. Once all SexLab and SexLab related mods are disabled/uninstalled, load your save game and save into new slot
  3. Run that new save through papyrus script scalpel to delete unattached instances and anything else the tool recommends after it finishes parsing your save file and papyrus log
  4. Start Skyrim and load the cleaned/edited save file that papyrus script scalpel
  5. Wait a few moments after the game as finished loading to make sure everything is finished loading.
  6. Save your game into a new slot.
  7. Reinstall and enable the newest version of SexLab by itself, no other sexlab related mods should be loaded and isntalled.
  8. Start Skyrim and load the save you made in step 6.
  9. Wait for SexLab to finish installing then load the MCM to verify everything is as it should be
  10. Saving your game
  11. Install whatever other up to date sexlab mods no more than 1 or 2 at a time, loading the game, verifying they installed, then saving and installing more as needed.

 

 

Basically exactly what the pinned thread says to do.

Link to comment

Yeah I read the pinned thread and followed all the steps except reinstalling all the other SexLab mods. I figured I didn't need to reinstall everything since the only problem I have is related to the extra sslActorAlias scripts. 

 

I'm not really sure what to do with the scalpel program. I followed the tutorial video and read all the stuff on that page. The active threads are not terminating for whatever reason; actually manually deleting them all causes crash on save. I guess I'll have to reinstall all the SL mods after all and see if it still crashes on save after I remove the references manually.

 

EDIT: Welp. Crash on startup for some reason. This is after uninstalling all SL framework mods. I did a mod check with Wyre Bash and I'm not missing any masters.

 

Ok running FNIS fixed the crash on startup, but now I have a crash on save when trying to make a save with no SL mods. Papyrus is pretty much having a heart attack from how much stuff is exploding trying to do that.

 

 

 

 

 

 

Link to comment

sslActorAlias is not an "extra" script. It's a core script that handles all of the processing for characters during animation. The fact that you had messages from it's prepare stage stuck and spamming suggests you at some point had a SexLab mod that tried to start a bunch of scenes and either saved your game in the middle of it, or gummed up the works by trying to do more at once than your computer was able to handle at the time. 

 

Looking at your log in any case, you have not uninstalled all SexLab mods.

 

According to your debug log there is still some mods running that are trying to access things, namely MoreNastyCritters and HentaiCreatures both appear to still be active in your log, possibly some others as well, those are just the two I noticed while skimming. Zaz or some Devious Devices mod looks like it might possibly still be active as well guessing off some portions of the log.

 

And if you aren't doing so, create a new Bashed Patch after uninstalling all these mods as well. Should also run LOOT after uninstalling so many mods to make sure things are still normalized and you didn't miss anything resulting in a missing master file.

 

Script scalpel is simple.

 

  • After loading your save in the program, wait for it to complete its analysis, it can take a long time. It will say "Analysis complete"  at the bottom of the Analysis tab once it finishes.
  • Follow any directions the finished analysis suggests. It usually suggests these two things which are fairly safe to do regardless.
    • Click "Remove Unattached Instances"
    • Click "Clear Filter" -> "Remove Instances" -> if anything is in the filter expression box that pops up, delete it out -> Check the "Remove instances with undefined classes only" box -> click "Remove"
  • You shouldn't terminate any active threads unless it's specifically related to a mod you know you're having trouble with or are uninstalling. Terminating all of them or ones you aren't sure about is a surefire way to break something.
    • If you have active threads related to sslActorAlias or other sexlab related scripts, then click the Script Data tab
    • Navigate the tree to script_data -> Section: Active Threads; 
    • Under each "StackID: xxxx" look for any threads with sslActorAlias, or other sexlab scripts or associated mods scripts as their "Class"
    • Click "Show filter" on the right, if it's not currently cleared and you don't recognize the stuff currently in it, click "Clear filter"
    • right the Class: line under the StackID to automatically copy it over to the filter window on the right
    • Click "Terminate Active Threads"
    • The stuff from the filter window should copy automatically into the popup window
    • Click "Terminate"
    • For an additional paranoid insurance, run "Remove Instances" (don't click the checkbox this time) and "Remove Script References" using the same copied filter.

Copy paste the results here from the Analysis tab if you're unsure.

Link to comment

Now I'm trying to figure out why PDTwrapper keeps pooping its pants. I loaded the papyrus data, then when I get back to script data and right click one of the active threads it only selects that one thread. If I clear filter, I can't show filter anymore until I restart the program and reload papyrus. 

 

To make matters worse, when I had the selected data in the terminate box, it actually did nothing upon hitting terminate. Not even any logs or indication. I'm restarting the program now to see what the deal is.

 

After restarting, I hit terminate on one of the threads and heres what I got: 

 

Executing operation -terminate
Papyrus Data Transfer v1.2 by flexcreator
The following filter expression will be used:
(   sslActorAlias ( [script_name] ), [and],   cc0400 ( [ref_id] ) )
 sslActorAlias ( [script_name] )
(   sslActorAlias ( [script_name] ), [and],   d50400 ( [ref_id] ) )
(   sslActorAlias ( [script_name] ), [and],   cf0400 ( [ref_id] ) )
Preparing to terminate active threads (will replace the bytecode with NOPs)
The resource is TESV Skyrim savegame
Found the globalDataTable3 offset = 7244321
globalDataTable3 sections count = 5
Found the Papyrus section, Offset = 7247307, Size = 7277444
Strings count = 41119
Stored script definitions = 5994
Current position = 8491949, Instance binders count = 103364, Parsing binders..
Current position = 9939049, References = 13
Current position = 9939131, Arrays count = 2695; Parsing array definitions
Current position = 9964898, Current script runtime (ID) = 10866972
Current position = 9964902, Active script stacks = 53
Current position = 9965167, Loading script instance data
Current position = 14220445, Searching for arrays..
Current position = 14470830, Disassembling bytecode...
Parsing complete. Current position = 14524753
Terminated 0 threads
 
Command was executed successfully
 
Each one I tried never terminated any threads. In addition, I just tried this method earlier when I made the original post and it still reported the threads as being active in papyrus when I loaded the actual save. I don't have any loose scripts reported, and no unused references. I already cleaned those with SaveTool and TES5 edit.

post-218859-0-39710900-1413280791_thumb.jpg

Link to comment

post the contents of the left analysis window, not the operation & filter window. And you have to right click each individual thread class you want to terminate. 

 

If you can't figure it out then just type "sslActorAlias" and "sslThreadController" on a seperate line manually into the popup window. 

Link to comment

Right now the analysis window has this: 

 

If true, consider removing instances/references or terminating threads (don't forget to specify the filter)
[None].Actor#Class: Actor.WornHasKeyword() - "<native>" Line ?
[None].zbfbondageshell.ApplyOffsetIdle#Class: Idle() - "zbfBondageShell.psc" Line 497
[None].zbfbondageshell#Class: zbfbondageshell.ApplyModifiersMask() - "zbfBondageShell.psc" Line 612
[Active effect 3 on <NULL actor> (00000000)].zbfEffectBondage#Class: zbfEffectBondage.ApplyEffects() - "zbfEffectBondage#Class: zbfEffectBondage.psc" Line 24
[Active effect 3 on <NULL actor> (00000000)].zbfEffectBondage#Class: zbfEffectBondage.OnUpdate() - "zbfEffectBondage#Class: zbfEffectBondage.psc" Line ?
[None].zbfbondageshell.ApplyOffsetIdle#Class: Idle() - "zbfBondageShell.psc" Line 497
[None].zbfbondageshell#Class: zbfbondageshell.ApplyModifiersMask() - "zbfBondageShell.psc" Line 612
[Active effect 3 on <NULL actor> (00000000)].zbfEffectBondage#Class: zbfEffectBondage.ApplyEffects() - "zbfEffectBondage#Class: zbfEffectBondage.psc" Line 24
[Active effect 3 on <NULL actor> (00000000)].zbfEffectBondage#Class: zbfEffectBondage.OnUpdate() - "zbfEffectBondage#Class: zbfEffectBondage.psc" Line ?
[10/14/2014 - 02:14:12AM] Error: Unable to call PlayIdle#Class: Idle - no native object bound to the script object, or object is of incorrect type
[None].Actor#Class: Actor.PlayIdle() - "<native>" Line ?
[None].zbfbondageshell.ApplyOffsetIdle#Class: Idle() - "zbfBondageShell.psc" Line 503
[None].zbfbondageshell#Class: zbfbondageshell.ApplyModifiersMask() - "zbfBondageShell.psc" Line 612
[Active effect 3 on <NULL actor> (00000000)].zbfEffectBondage#Class: zbfEffectBondage.ApplyEffects() - "zbfEffectBondage#Class: zbfEffectBondage.psc" Line 24
[Active effect 3 on <NULL actor> (00000000)].zbfEffectBondage#Class: zbfEffectBondage.OnUpdate() - "zbfEffectBondage#Class: zbfEffectBondage.psc" Line ?
[None].zbfbondageshell.ApplyOffsetIdle#Class: Idle() - "zbfBondageShell.psc" Line 503
[None].zbfbondageshell#Class: zbfbondageshell.ApplyModifiersMask() - "zbfBondageShell.psc" Line 612
[Active effect 3 on <NULL actor> (00000000)].zbfEffectBondage#Class: zbfEffectBondage.ApplyEffects() - "zbfEffectBondage#Class: zbfEffectBondage.psc" Line 24
[Active effect 3 on <NULL actor> (00000000)].zbfEffectBondage#Class: zbfEffectBondage.OnUpdate() - "zbfEffectBondage#Class: zbfEffectBondage.psc" Line ?
 
Note that this is with all the SL mods disabled. I couldn't follow your method because of the crash on save issue I mentioned earlier. When I first used this program in my original post, it was pretty much just listing the sslActorAlias spam in the analysis window. I did have ZaZ and critters on, so I'll try without and see if I can save.
Link to comment

Zaz and critters both use and rely on SexLab. You can't just disable sexlab and then leave those ones. Like I said, disable everything sexlab related. 

 

Add zbfBondageShell and zbfEffectBondage both to your filter as well in either case.

Link to comment

Welp with all sex mods disabled it still crashes on save. Even if I run it with no mods at all, all of the saves that had SL mods crash on save. 

 

That's why I skipped to step three. Going back to step three again.

 

The log is simply my attempt to load with every single sex mod I could find (I have them all tagged in Wyre Bash) disabled.

 

Here is the latest analysis with ZaZ and critters + other stuff uninstalled: 

 

Analysis...
 
Scripts from the following resources still have active threads. It's NOT recommended to update these resources until active scripts finish their work
[Resource : Threads count]
Requiem - Hard Times#Resource: Requiem - Hard Times:  1
 
The most "Heavy" non-basic classes. There are a lot of instances of these classes in the game, in some cases this can lead to performance drop. Some scripts are designed and expected to have a lot of instances. However, if they don't suppose to hold any long term data, such design is not optimal at all. If you experience a performance issues, try temporary removing the corresponding resources.
[script class: Current instances count]
(Requiem#Resource: Requiem) AA000XarrianLockBreakScriptNormal#Class: AA000XarrianLockBreakScriptNormal:3147
(Skyrim#Resource: Skyrim) mineorefurniturescript#Class: mineorefurniturescript:1767
(Skyrim#Resource: Skyrim) critterSpawn01#Class: critterSpawn01:1257
(Skyrim#Resource: Skyrim) critterspawn#Class: critterspawn:1237
(Skyrim#Resource: Skyrim) MineOreScript#Class: MineOreScript:1110
 
The following classes were mentioned in the log just before the game exited. If any crashes occured and if the crash time equals the time of the last line in the Papyrus log, then it's most likely related to those classes  
If true, consider removing instances/references or terminating threads (don't forget to specify the filter)
_PlayerLoadGameAlias#Class: Alias.psc" Line 6
<unknown self>.Game.GetForm#Class: FormFromFile() - "<native>" Line ?
[ARTHLALVersionTracking (52049F33)].arth_lal_versiontrackingscript#Class: arth_lal_versiontrackingscript.DLCSupportCheck() - "ARTH_LAL_VersionTrackingScript.psc" Line 173
[alias Player on quest ARTHLALVersionTracking (52049F33)].ARTH_LAL_VersionTrackingAlias#Class: AliasScript.OnPlayerLoadGame() - "ARTH_LAL_VersionTrackingAlias#Class: AliasScript.psc" Line 6
<unknown self>.Game.GetForm#Class: FormFromFile() - "<native>" Line ?
[ARTHLALVersionTracking (52049F33)].arth_lal_versiontrackingscript#Class: arth_lal_versiontrackingscript.DLCSupportCheck() - "ARTH_LAL_VersionTrackingScript.psc" Line 185
[alias Player on quest ARTHLALVersionTracking (52049F33)].ARTH_LAL_VersionTrackingAlias#Class: AliasScript.OnPlayerLoadGame() - "ARTH_LAL_VersionTrackingAlias#Class: AliasScript.psc" Line 6
<unknown self>.Game.GetForm#Class: FormFromFile() - "<native>" Line ?
[ARTHLALVersionTracking (52049F33)].arth_lal_versiontrackingscript#Class: arth_lal_versiontrackingscript.DLCSupportCheck() - "ARTH_LAL_VersionTrackingScript.psc" Line 193
[alias Player on quest ARTHLALVersionTracking (52049F33)].ARTH_LAL_VersionTrackingAlias#Class: AliasScript.OnPlayerLoadGame() - "ARTH_LAL_VersionTrackingAlias#Class: AliasScript.psc" Line 6
[10/14/2014 - 03:22:25AM] [sic_configmenuscript <SIC_ConfigMenuQuest#Class: Quest (2A0C4C3A)>]: Loaded user settings. 
 
 
Analysis complete
 
The screenshot called "classes" is the result of when I searched for sslActorAlias and tried to terminate threads from there. Neither active threads nor the class actually terminates anything. Same thing for the Zbf stuff.
 
Remove instances removed 75 instances on the first sslActorAlias, and zero on the rest. I'm guessing that is working as intended.
 
Unfortunately, game still crashes on save after removing those instances.
 
EDIT: BREAKTHROUGH I managed to actually save the game after deleting anything starting with ssl with SaveTool!

post-218859-0-58971200-1413282850_thumb.jpg

Link to comment

You're either not reading or understanding the instructions i'm giving or that papyrus scalpel is giving. 

 

[Resource : Threads count]

Requiem - Hard Times#Resource: Requiem - Hard Times:  1

 

You have 1 active thread, and it's not sslActorAlias, it's Requiem and that's perfectly safe to ignore. So of course telling it to terminate sslActorAlias threads doesn't remove anything, because there aren't any.

 

 

What you're looking at in the screenshot is script references NOT active threads. That screenshot is not where I said to look for active threads. To reiterate my instructions.

 

  • If you have active threads related to sslActorAlias or other sexlab related scripts, then click the Script Data tab
  • Navigate the tree to script_data -> Section: Active Threads; 
  • Under each "StackID: xxxx" look for any threads with sslActorAlias, or other sexlab scripts or associated mods scripts as their "Class"

 

The fact that they are showing up in the section you ARE looking in at all suggests you have in fact not uninstalled SexLab + mods and removed unattached instances. If the mod was uninstalled and unattached instances removed, they simply would not be showing up there.

 

If you can't save your game after disabling certain sexlab mods, then you are not uninstalling them correctly, or are trying to save to quickly after loading. Follow the individual mods specific uninstall instructions. Wait a minute or two after loading to save your game so scripts have time to settle. 

 

I've given you all the instructions you should need to fix it. There is nothing more I can explain here that I haven't already explained. 

 

Properly uninstall ALL mods related to sexlab, no exceptions. Remove script instances with papyrus scalpel. Re-save edited file. Install latest version of SexLab. Install latest version of other mods you want to renable. That's it. 

 

Link to comment

Even uninstalling the mods through a mod manager did not remove all the files from the save of course.

 

So as I said towards the end (and my new post) I had to delete all ssl files from the save with Savetool. I finally got rid of the active scripts and now im going down your original list for reinstalling.

 

Also I was confused since Savetool listed the actoraliases as active scripts so I guess I thought they were threads. My bad.

 

 

EDIT: Lol. Welp. The clean save I made claims to be corrupt and can't be loaded...even though it loads enough to tell me that.

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