TweakScale

TweakScale

1M Downloads

KSPe.Light.TweakScale.dll problem.

CuboidRaptor opened this issue · 11 comments

commented

I'm sure you're tired of getting these reports, but it's happened to me too.
I got the same "Houston, we got a problem" error where some problem was reported with "KSPe.Light.TweakScale.dll".
It does seem to fix itself after I reinstall from CKAN, only to break itself again.

Also, here are my logs when KSP broke.
I filtered my name out of the logs for privacy reasons. My username has been replaced with <name>.
My modlist is:

  • Airplane Plus
  • BDArmory for Multiplayer
  • BetterTimeWarpContinued
  • Click Through Blocker (dependency of BTW)
  • Firespitter Core (dependency of Airplane+)
  • Harmony (dependency of LMP)
  • KER
  • KSP Recall (dependency of Tweakscale)
  • LMP
  • MechJeb2
  • Module Manager (dependency of MechJeb2)
  • PRE (dependency of BDA)
  • Toolbar Controller (dependency of BTW)
  • Tweakscale
  • Zero MiniAVC

My KSP version: 1.12.3
Tweakscale version: 2.4.6.8
OS is Windows 10.

commented

If it helps, I took a look into my logs myself (because I understand people can't instantly be here) but anyways here's the first exception I found

[EXC 18:38:53.564] NullReferenceException: Object reference not set to an instance of an object
	BDArmory.Modules.MissileFire.set_Team (BDArmory.Misc.BDTeam value) (at <539823ca32d44b2a9b32627b450d985b>:0)
	BDArmory.Modules.MissileFire.Start () (at <539823ca32d44b2a9b32627b450d985b>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

I still don't know how I can fix this, preferably without uninstalling BDA.

commented

Reinstalled Tweakscale, this time didn't do anything, but since the Exception mentioned BDA I reinstalled that and all seems to be well. However, I don't know if KSP will still break itself again later... ig I'll check back if it does.

commented

Welcome to the Rubber Duck development process! :)

By describing the issue to me, you ended up finding the solution yourself!

If anything goes wrong , @CuboidRaptor , mention my name using "@" - github will notify me on the UI and I will be able to note it faster!

Cheers!

commented

Yeah, I use CKAN. Should I try turning off automatic updates and reinstalling everything on CKAN?
Also might be worth noting that I'm using a branch of BDA for LMP.

commented

Logs.

This time this is completely unrelated to DLLs. BDArmory is throwing up Null Reference Exceptions everywhere!

[EXC 14:25:56.865] NullReferenceException: Object reference not set to an instance of an object
        BDArmory.Modules.MissileFire.set_Team (BDArmory.Misc.BDTeam value) (at <539823ca32d44b2a9b32627b450d985b>:0)
        BDArmory.Modules.MissileFire.Start () (at <539823ca32d44b2a9b32627b450d985b>:0)
        UnityEngine.DebugLogHandler:LogException(Exception, Object)
        ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
        UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 14:36:52.398] NullReferenceException: Object reference not set to an instance of an object
        BDArmory.UI.BDArmorySetup.UpdateCursorState () (at <539823ca32d44b2a9b32627b450d985b>:0)
        BDArmory.Modules.RocketLauncher+<DeployAnimRoutine>d__66.MoveNext () (at <539823ca32d44b2a9b32627b450d985b>:0)
        UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <12e76cd50cc64cf19e759e981cb725af>:0)
        UnityEngine.DebugLogHandler:LogException(Exception, Object)
        ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
        UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
        BDArmory.Modules.RocketLauncher:EnableTurret()
        BDArmory.Modules.MissileFire:SetRocketTurrets()
        BDArmory.Modules.MissileFire:UpdateSelectedWeaponState()
        BDArmory.Modules.MissileFire:PrepareWeapons()
        BDArmory.Modules.MissileFire:UpdateList()
        BDArmory.Modules.MissileFire:OnPartJointBreak(PartJoint, Single)
        EventData`2:Fire(PartJoint, Single)
        PartJoint:DestroyJoint()
        Part:ReleaseAutoStruts()
        Part:OnDestroy()
[EXC 14:36:56.236] NullReferenceException: Object reference not set to an instance of an object
        BDArmory.Modules.BDModulePilotAI.FixedUpdate () (at <539823ca32d44b2a9b32627b450d985b>:0)
        UnityEngine.DebugLogHandler:LogException(Exception, Object)
        ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
        UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

There's no other exception on your log other than NullReferenceException being thrown by BDArmory.

you need to reach the BDA guys for help on this one.

Do you use CKAN? An automatic update on a add'on can cause this.

commented

Damnit.
Yes, it broke again.
So, like reinstalling, that only appeared to be a temporary fix.
Logs.
@Lisias
EDIT: what the heck it fixed by relaunching? Why can't this error be consistent?

commented

Now that I think about it, I remember a previous case with NWjs where I found that if I deleted certain cache files, a bug I found where bgm never played, was fixed.
Maybe something similar is happening here?
EDIT: Checked, there's only one file that only exists in one folder. (I mean, at least for BDA since I assume that's causing the problem here.)

commented

y'know, if reinstalling fixes the problem, then since "installing" it just consists of adding a folder, I can automate that.
EDIT: *WHEEZE* I'm literally running out of disk space because KSP (or, ig BDA) is filling it with NullReferenceExceptions.
EDIT: So I wrote a script that just reinstalls Tweakscale/BDA every time I launch KSP. Seems to have solved the problem.

commented

Damn… I forgot about this.

How about truncating the KSP.log file each 15 minutes?

for /l %%x in (1, 1, 99999999) do {
    FSUTIL file seteof C:\path\tp\ksp\KSP.log 0
    REM 15 minutes = 15 * 60 = 900
    timeout 900
}

Source : https://superuser.com/questions/299329/resize-a-file-in-command-prompt/1634250

Note: I didn't tested it, @CuboidRaptor , as I don't have a Windows machine available yet.

commented

Well, it was only filling disk because of all the NullReferenceExceptions, which seem to be fixed by reinstalling every time I launch KSP. Also, I may want those logs should problems arise (which they probably will.)

commented

@CuboidRaptor ,

Well, it was only filling disk because of all the NullReferenceExceptions, which seem to be fixed by reinstalling every time I launch KSP. Also, I may want those logs should problems arise (which they probably will.)

I find amusing the need to reinstall BDA every time. I think there's a problem on reading some configuration data (or a cache?), perhaps instead of reinstalling removing only the configuration file would be enough?