Jump to content

ExceptionDetector 1.1 [KSP ANY VERSION]


godarklight

Recommended Posts

15 hours ago, godarklight said:

I've updated ExceptionDetector. I still haven't got KSP to run, but I fixed the problems and gave it to Orum from kspmodders to test, and it seemed to work:

sjwayr.png

 

(This is the error you get when you shoot those whack-a-kerbal balls at your vessel in the VAB or SPH, which is a hilarious fringe case bug that has existed for ages, and my go-to method of creating exceptions if needed)

Also, it's now available on SpaceDock  (@godarklight shills the website he works on...) :P and it'll soon be back on CKAN. 

My hero!

Link to comment
Share on other sites

16 hours ago, godarklight said:

I've updated ExceptionDetector. I still haven't got KSP to run, but I fixed the problems and gave it to Orum from kspmodders to test, and it seemed to work:

sjwayr.png

 

(This is the error you get when you shoot those whack-a-kerbal balls at your vessel in the VAB or SPH, which is a hilarious fringe case bug that has existed for ages, and my go-to method of creating exceptions if needed)

Also, it's now available on SpaceDock  (@godarklight shills the website he works on...) :P and it'll soon be back on CKAN. 

Oh god this mod is amazing, already dropped 2 mods that were causing me problems...

Link to comment
Share on other sites

On 4/27/2016 at 5:11 AM, godarklight said:

I've updated ExceptionDetector. I still haven't got KSP to run, but I fixed the problems and gave it to Orum from kspmodders to test, and it seemed to work:

sjwayr.png

 

(This is the error you get when you shoot those whack-a-kerbal balls at your vessel in the VAB or SPH, which is a hilarious fringe case bug that has existed for ages, and my go-to method of creating exceptions if needed)

Also, it's now available on SpaceDock  (@godarklight shills the website he works on...) :P and it'll soon be back on CKAN. 

I know your super busy right now with the KSP  linux downgrade. Sorry new KSP patch :P

I was wondering if I could ask a question or two. It just that your one of the few people that has hands on experience of the whole mod supply chain. So any feedback would be useful.

I was wondering if the space dock entry is correct in not having the latest build. I assume that the CKAN is indexing from there as well. Does that mean the new version is pre-release and needs testing in 1.2? 

Another question is if the mod is version agnostic as the thread tile suggests. Is there a way for Spacedock to show that or does it insist on a fixed version number as opposed to a range?

   

 

Link to comment
Share on other sites

@nobodyhasthis2 it's agnostic as the title suggests because it uses only unity and some core .NET methods, nothing related to KSP at all: https://github.com/godarklight/ExceptionDetector/blob/master/ExceptionDetector/ExceptionDetector.cs

The only reason it broke is because unity5 slightly changed how the logger worked - before I had to hijack the log and then pass it back to KSP's logger, now it's an event and I can just add myself in.

 

Spacedock doesn't support version ranges, although that's something we probably should implement one day - it's handy for ckan too. I'm confident enough that it's not going to break while unity5 is a thing :)

Link to comment
Share on other sites

58 minutes ago, godarklight said:

@nobodyhasthis2 it's agnostic as the title suggests because it uses only unity and some core .NET methods, nothing related to KSP at all: https://github.com/godarklight/ExceptionDetector/blob/master/ExceptionDetector/ExceptionDetector.cs

The only reason it broke is because unity5 slightly changed how the logger worked - before I had to hijack the log and then pass it back to KSP's logger, now it's an event and I can just add myself in.

 

Spacedock doesn't support version ranges, although that's something we probably should implement one day - it's handy for ckan too. I'm confident enough that it's not going to break while unity5 is a thing :)

Ok that is cool. Thanks for helping me to understand this. Installing the manual 1.1+ version now. 

I am a big fan of this. Never had less than 100 mods installed and yet still running under windows. I know glutton for punishment by the old memory cap. Until now that is. I now have 129 mods on average and it is getting bigger every day. :confused:

Having exception detector is pretty much my first goto diagnostic tool. Thanks for making this. 

Edited by nobodyhasthis2
Link to comment
Share on other sites

Handy little mod! Helped me discover why I got severe lag in one specific circumstance, an out-of-date mod. I guess I could uninstall it now, but I'd like to leave it installed - but the window doesn't respect the F2 'hide ui' setting. Can this be done or is that too much of it being hooked into KSP?

Link to comment
Share on other sites

I closed the exceptiondetector window the other day & it told me to re-enable change something in a config file, for the life of me I cannot remember which config file or where to find it. Any suggestion?

Link to comment
Share on other sites

  • 1 month later...
On 6/21/2016 at 8:04 PM, LatiMacciato said:

would be awesome if this tiny helper logs in a seperate log file too additionally (like collecting etc)

nice work so far!

Why?  If it saved to a different file, those entries will be totally disassociated with whatever happened or what may have beeen logged in the log file

Link to comment
Share on other sites

1 hour ago, linuxgurugamer said:

Why?  If it saved to a different file, those entries will be totally disassociated with whatever happened or what may have beeen logged in the log file

Time stamps?... but yeah would be nice to have it log at ALL, whther seperately, OR in the KSP or output logs...

Link to comment
Share on other sites

Just now, Stone Blue said:

Time stamps?... but yeah would be nice to have it log at ALL, whther seperately, OR in the KSP or output logs...

Won't be that difficult to do, I'll see what I can do this evening.  It will be unofficial, although I will submit a pull so it can be included in the official version

Link to comment
Share on other sites

well, filtering purposes .. sometimes some modules report out-of-the-blue .. so you get the whole bunch together in 1 log instead a library of 1 log after playing 1 hour and crashing (yes i know if crashes occour its most likely the most last section then)

was just a suggestion and i appreciate developing tools and mechanics that also help improving others tools and mechanics that are made to help and enjoy :D

Link to comment
Share on other sites

19 minutes ago, LatiMacciato said:

well, filtering purposes .. sometimes some modules report out-of-the-blue .. so you get the whole bunch together in 1 log instead a library of 1 log after playing 1 hour and crashing (yes i know if crashes occour its most likely the most last section then)

was just a suggestion and i appreciate developing tools and mechanics that also help improving others tools and mechanics that are made to help and enjoy :D

I have it logging to a new file:  exception.log, need to do some more testing, but hope to post a link to an unofficial dll in this thread later this evening

 

Link to comment
Share on other sites

Here is a dll which adds logging to a new file of the exceptions.  It has been compiled for 1.1.3, but should work for any 1.1 build

The exceptions are logged to the file:  exceptions.log

This is an UNOFFICIAL dll.  Do NOT contact the author about any problems, contact me instead.

(deleted, new version below)

 

please let me know how it works.  If no problems, I'll send the chagnes to the author.

Thanks

 

LGG

Edited by linuxgurugamer
Link to comment
Share on other sites

its working flawless so far but i noticed its not writing all messages tho

exceptions log:

11.27974: Steamworks.SteamAPI.Init ()
Steamworks.SteamAPI.InitSafe ()
SteamController.KSPSteamController.Awake ()
UnityEngine.GameObject:AddComponent(Type)
AddonLoader:StartAddon(LoadedAssembly, Type, KSPAddon, Startup)
AddonLoader:StartAddons(Startup)
:MoveNext()
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
:MoveNext()
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
GameDatabase:StartLoad()
:MoveNext()
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
LoadingScreen:Start()


249.2229: KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
ModuleWheelBase.wheelSetup ()
CallbackUtil+<WaitUntil>d__12.MoveNext ()


249.2247: KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
ModuleWheelBase.wheelSetup ()
CallbackUtil+<WaitUntil>d__12.MoveNext ()


249.2261: KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
ModuleWheelBase.wheelSetup ()
CallbackUtil+<WaitUntil>d__12.MoveNext ()

ksp.log:

[LOG 02:32:40.874] AddonLoader: Instantiating addon 'KSPSteamController' from assembly 'KSPSteamCtrlr'
[EXC 02:32:40.891] DllNotFoundException: CSteamworks
	Steamworks.SteamAPI.Init ()
	Steamworks.SteamAPI.InitSafe ()
	SteamController.KSPSteamController.Awake ()
	UnityEngine.GameObject:AddComponent(Type)
	AddonLoader:StartAddon(LoadedAssembly, Type, KSPAddon, Startup)
	AddonLoader:StartAddons(Startup)
	:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	GameDatabase:StartLoad()
	:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	LoadingScreen:Start()

... cut...

[LOG 02:36:38.720] Unpacking #StationSupportVessel
[LOG 02:36:38.819] Can't add 'KSPWheelController' to miniFuelTank because a 'KSPWheelController' is already added to the game object!
A GameObject can only contain one 'VPVehicleBase' component
[EXC 02:36:38.834] NullReferenceException: Object reference not set to an instance of an object
	KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
	ModuleWheelBase.wheelSetup ()
	CallbackUtil+<WaitUntil>d__12.MoveNext ()
[LOG 02:36:38.834] Can't add 'KSPWheelController' to miniFuelTank because a 'KSPWheelController' is already added to the game object!
A GameObject can only contain one 'VPVehicleBase' component
[EXC 02:36:38.836] NullReferenceException: Object reference not set to an instance of an object
	KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
	ModuleWheelBase.wheelSetup ()
	CallbackUtil+<WaitUntil>d__12.MoveNext ()
[LOG 02:36:38.836] Can't add 'KSPWheelController' to miniFuelTank because a 'KSPWheelController' is already added to the game object!
A GameObject can only contain one 'VPVehicleBase' component
[EXC 02:36:38.837] NullReferenceException: Object reference not set to an instance of an object
	KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
	ModuleWheelBase.wheelSetup ()
	CallbackUtil+<WaitUntil>d__12.MoveNext ()

currently im happy about that the "StationPartsExpansion" (https://github.com/ChrisAdderley/StationPartsExpansion) still has some errors/fixes they need but i can live with that and its sorta working tho

the exception log is missing the lines: (in my opinion it would help identifying the mod at all)

[LOG 02:36:38.819] Can't add 'KSPWheelController' to miniFuelTank because a 'KSPWheelController' is already added to the game object!
A GameObject can only contain one 'VPVehicleBase' component

i cant complain so far .. but this way the exception detector is handing something to work with easier than in searching for years in the reg KSP.log LOL

as i said awesome work :)

Edited by LatiMacciato
Link to comment
Share on other sites

26 minutes ago, LatiMacciato said:

its working flawless so far but i noticed its not writing all messages tho

exceptions log:


11.27974: Steamworks.SteamAPI.Init ()
Steamworks.SteamAPI.InitSafe ()
SteamController.KSPSteamController.Awake ()
UnityEngine.GameObject:AddComponent(Type)
AddonLoader:StartAddon(LoadedAssembly, Type, KSPAddon, Startup)
AddonLoader:StartAddons(Startup)
:MoveNext()
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
:MoveNext()
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
GameDatabase:StartLoad()
:MoveNext()
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
LoadingScreen:Start()


249.2229: KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
ModuleWheelBase.wheelSetup ()
CallbackUtil+<WaitUntil>d__12.MoveNext ()


249.2247: KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
ModuleWheelBase.wheelSetup ()
CallbackUtil+<WaitUntil>d__12.MoveNext ()


249.2261: KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
ModuleWheelBase.wheelSetup ()
CallbackUtil+<WaitUntil>d__12.MoveNext ()

ksp.log:


[LOG 02:32:40.874] AddonLoader: Instantiating addon 'KSPSteamController' from assembly 'KSPSteamCtrlr'
[EXC 02:32:40.891] DllNotFoundException: CSteamworks
	Steamworks.SteamAPI.Init ()
	Steamworks.SteamAPI.InitSafe ()
	SteamController.KSPSteamController.Awake ()
	UnityEngine.GameObject:AddComponent(Type)
	AddonLoader:StartAddon(LoadedAssembly, Type, KSPAddon, Startup)
	AddonLoader:StartAddons(Startup)
	:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	GameDatabase:StartLoad()
	:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	LoadingScreen:Start()

... cut...

[LOG 02:36:38.720] Unpacking #StationSupportVessel
[LOG 02:36:38.819] Can't add 'KSPWheelController' to miniFuelTank because a 'KSPWheelController' is already added to the game object!
A GameObject can only contain one 'VPVehicleBase' component
[EXC 02:36:38.834] NullReferenceException: Object reference not set to an instance of an object
	KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
	ModuleWheelBase.wheelSetup ()
	CallbackUtil+<WaitUntil>d__12.MoveNext ()
[LOG 02:36:38.834] Can't add 'KSPWheelController' to miniFuelTank because a 'KSPWheelController' is already added to the game object!
A GameObject can only contain one 'VPVehicleBase' component
[EXC 02:36:38.836] NullReferenceException: Object reference not set to an instance of an object
	KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
	ModuleWheelBase.wheelSetup ()
	CallbackUtil+<WaitUntil>d__12.MoveNext ()
[LOG 02:36:38.836] Can't add 'KSPWheelController' to miniFuelTank because a 'KSPWheelController' is already added to the game object!
A GameObject can only contain one 'VPVehicleBase' component
[EXC 02:36:38.837] NullReferenceException: Object reference not set to an instance of an object
	KSPWheelController.Create (UnityEngine.Rigidbody rb, UnityEngine.GameObject host, UnityEngine.GameObject wheelColliderHost, System.Func`1 UpAxis)
	ModuleWheelBase.wheelSetup ()
	CallbackUtil+<WaitUntil>d__12.MoveNext ()

currently im happy about that the "StationPartsExpansion" (https://github.com/ChrisAdderley/StationPartsExpansion) still has some errors/fixes they need but i can live with that and its sorta working tho

the exception log is missing the lines: (in my opinion it would help identifying the mod at all)


[LOG 02:36:38.819] Can't add 'KSPWheelController' to miniFuelTank because a 'KSPWheelController' is already added to the game object!
A GameObject can only contain one 'VPVehicleBase' component

i cant complain so far .. but this way the exception detector is handing something to work with easier than in searching for years in the reg KSP.log LOL

as i said awesome work :)

Can you tell me how to recreate this?  In my (admittedly limited) testing, I don't see any missing exceptions.

A save file would be awesum

Link to comment
Share on other sites

I love your mod.

Two feature requests (I realize you dont have to do them, they are suggests and "would be nice" features):

* Ability to reset the counters back to blank/nothing/no-exceptions

* Ability to toggle the detector on and off. Leave it always installed, but only turn it (detection, tracking, logging, and notifying) on when you want to trouble shoot. No need to restart to toggle the troubleshooting off and on. Heavily modded installs can take several minutes to start.

The next is not so important, but could be useful:

* Filtering. Some exceptions you dont want to be informed about. Really only a handful of exception would ever need to be filtered at a time. Doesnt even have to be wildcard matching.

Link to comment
Share on other sites

11 hours ago, LabRats said:

I love your mod.

Two feature requests (I realize you dont have to do them, they are suggests and "would be nice" features):

* Ability to reset the counters back to blank/nothing/no-exceptions

* Ability to toggle the detector on and off. Leave it always installed, but only turn it (detection, tracking, logging, and notifying) on when you want to trouble shoot. No need to restart to toggle the troubleshooting off and on. Heavily modded installs can take several minutes to start.

The next is not so important, but could be useful:

* Filtering. Some exceptions you dont want to be informed about. Really only a handful of exception would ever need to be filtered at a time. Doesnt even have to be wildcard matching.

This is a small, lightweight mod.  It has as little interactions with KSP as possible, other than detecting errors.

The more that is added, the less universal it becomes.  I already added code to this unofficial release to hide the windows, use ctrl-f2.  Beyond that, it's a debugging tool

Edited by linuxgurugamer
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...