Jump to content

[1.12.x] Kerbal Alarm Clock v3.13.0.0 (April 10)


TriggerAu

Recommended Posts

Hi TriggerAu,

My Win-x64 KSP installation seems surprisingly stable, except for one intermittent bug which keeps cropping up when high part count ships explode. After a LOT of testing today I've been able to isolate that it only occurs when ALL of the following are installed:

  • Windows 64-bit version of KSP
  • Kerbal Alarm Clock 3.4
  • Alternate Resource Panel 2.7.3

Although the issue is intermittent, I can reproduce it with reasonable frequency under the conditions above. But if any ONE of these three is taken away, it never happens. i.e. I can run 64-bit KSP, with one (but not both) of your mods, and even add my other 50 or so mods back into the mix, and no matter how hard I try cannot reproduce the issue. As soon as both mods are in place, I can reproduce it within about 1 to 5 tries.

Spoiler

y53gpcc.png

iiNXTeS.png

I recognize this is a hazardous landmine of unsupported misery, and that a lot of modders are (with good reason) simply refusing to deal with anything that bears the scent of Windows 64-bit. But I'm hoping you might nevertheless have some ideas. I'm not afraid to go hacking at the code myself, if you point me in the right direction.

Here's the craft file I've been testing with, and in case that doesn't reproduce it, here's a more complete Environment.zip which also includes my:

  • GameData directory, minus the Squad subtree. (Consists of just the two mods)
  • Savegame and test rocket (persistent.sfs and Crasher2.craft)
  • KSP game settings (settings.cfg)
  • Full log file captures for each permutation (both-installed, one-installed, 32-bit, 64-bit, etc)

Steps to reproduce are:

  1. Start with pristine KSP 1.0.5.1028 for Windows environment.
  2. Drop in the contents of the zip file, to the appropriate location.
  3. Replace KSP.exe and KSP_Data\Mono\mono.dll with the forbidden, contraband ones described here. (I can PM these to you if needed)
  4. Start KSP.exe, hit Resume Saved, select CrashTest, hit Continue.
  5. Click the launchpad (clear / recover any existing craft if needed), select Crasher2.craft and click Launch.
  6. Once on the launchpad, max out throttle, enable SAS, and hit Launch (spacebar)
  7. Hit Alt + . several times to increment to 4x physics timewarp (helps increase likelihood of collision)
  8. Just after liftoff, activate the first stage (space) to try and cause an explosion. The more destruction the better. Seems to happen more often when the noses of the released pylons crash in toward the center stack, rather than when they drift outward.
  9. Freeze occurs pretty quickly into the explosions. If it doesn't occur within a few seconds, revert to the launchpad and repeat up to 10 times. I can usually get it to happen within about 1 to 5 tries. You can also try wobbling the craft a bit just before staging.

Some other things I've tried / observed:

Spoiler
  • The behavior is identical under both KSP 1.0.4 and 1.0.5.1028. I've only tested on Windows (no convenient access to a Linux box).
  • Haven't been able to reproduce with low part count ships.
  • Seems just as easy to reproduce immediately after launch of KSP as it is after a long time of playing
  • FPS always crawls right before it happens (around 0.5 FPS if measured using GCmonitor)
  • Happens regardless of whether any alarms are set
  • Happens even when x64 version of the game is moved out of the C:\Program Files (x86) directory (thought it might be some kind of weird thunking special handling thing).
  • Tried updating my graphics drivers, no help
  • Reproduced on two different computers with different nVidia cards
  • Happens whether or not you launch directly from KSC or from VAB Editor
  • Alt+Tab behavior to/from game does not seem to affect the issue (no worse / better)
  • Using or not using command line arguments (-force-d3d11, -popupwindow) also seems to have no impact
  • VSync setting doesn't affect
  • Doesn't seem to matter whether the mod windows are shown/hidden.

Here are some anomalies I've noticed in my logs over the course of my testing, although after investigation I haven't tied any of them explicitly to the issue:

Log highlight 1:

Spoiler

[HighLogic]: =========================== Scene Change : From SPACECENTER to FLIGHT (Async) =====================

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

11/26/2015 8:32:49 PM,KerbalAlarmClock,Scene Change from 'SPACECENTER' to 'FLIGHT'

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

11/26/2015 8:32:49 PM,KerbalAlarmClock,Active Vessel unreadable - resetting inqueue flag

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

NullReferenceException: Object reference not set to an instance of an object
at KerbalAlarmClock.KerbalAlarmClock.UpdateDetails () [0x00000] in <filename unknown>:0
at KerbalAlarmClock.KerbalAlarmClock.RepeatingWorker () [0x00000] in <filename unknown>:0
at KSPPluginFramework.MonoBehaviourExtended.RepeatingWorkerWrapper () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

11/26/2015 8:32:50 PM,KerbalAlarmClock,Removing DrawGUI from PostRender Queue

Log highlight 2 (only in non-freezing):

Spoiler

11/27/2015 12:40:18 AM,KerbalAlarmClock,API Ready

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

NullReferenceException: Object reference not set to an instance of an object
at UIManager.Update () [0x00000] in <filename unknown>:0
at UIManager.DidAnyPointerHitUI () [0x00000] in <filename unknown>:0
at SpaceCenterCamera2.InputCamera () [0x00000] in <filename unknown>:0
at SpaceCenterCamera2.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

11/27/2015 12:40:19 AM,KerbalAlarmClock,Searching for KER

I also noticed some messages about VOIDWrappers etc. Are you using generic exception handlers and dynamically wrapping KSP or Unity types (like VOID, KER)? Is it possible that due to either 64-bit or due to using 1.0.4 dll's for compile, there are typename differences resulting in them not being wrapped?

Appreciate any help you can offer.

I'd also be grateful if another intrepid Windows x64 Kerbalite out there could test this out and confirm whether they see similar behavior.

Quote

They told me this was a bad idea. That it couldn't end well. But did that ever stop Jeb? I say, Judge me not by the size of my bits, but by the fervor of my Kerboneering spirit!  --Fwiffo, just before launching his "Windows x64 Mk1" toward the NullReferenceException Void

 

Edited by Fwiffo
Fixed post after new forums made it look horrendous
Link to comment
Share on other sites

@TriggerAu I have a feature request:  A Quarter Burn option on the Maneuver Node would be useful for longer burns using Dawn or NERV.  Sometimes you just have to do the whole maneuver in two orbits, having the alarm one quarter before the node (with Margin) would be nice for these situations. (i.e. Burn 1/4 before, 1/4 after, orbit once, burn 1/4 before, 1/4 after)

Edited by Alshain
Link to comment
Share on other sites

On 12/1/2015, 9:59:24, Alshain said:

I have a feature request:  A Quarter Burn option on the Maneuver Node would be useful for longer burns using Dawn or NERV

I'll add it to the list, shouldnt bee too hard - biggest issue will be fitting stuff in

Link to comment
Share on other sites

v3.5.0.0 Now Available

Download from GitHub or Download from Curse or Download from Kerbal Stuff

Heres the simple list version...

  • Fixed issue with dropdown pages and alignment
  • Fixed issue with settings bleed (Issue #152)
  • Solved limit on Target Distance Alamrs - for solar orbits (Issue #151)
  • Updated KERWrapper to better handle the KER window not being open (Issue #150)
  • Added AngleRenderer for ejection angle displays of TWP Alarms

More excitingly here's the video showing the TWP Angle Renderer addition and its hook into KAC: 

 

Link to comment
Share on other sites

I'm still getting this exception with the latest version on scene change:

 


 

NullReferenceException: Object reference not set to an instance of an object
  at KerbalAlarmClock.KerbalAlarmClock.UpdateDetails () [0x00000] in <filename unknown>:0

  at KerbalAlarmClock.KerbalAlarmClock.RepeatingWorker () [0x00000] in <filename unknown>:0

  at KSPPluginFramework.MonoBehaviourExtended.RepeatingWorkerWrapper () [0x00000] in <filename unknown>:0

Edit: What in the wierd? The code tags didn't even put the text into the box.........

 

Edited by smjjames
Link to comment
Share on other sites

3 hours ago, TriggerAu said:

v3.5.0.0 Now Available

Download from GitHub or Download from Curse or Download from Kerbal Stuff

Heres the simple list version...

  • Fixed issue with dropdown pages and alignment
  • Fixed issue with settings bleed (Issue #152)
  • Solved limit on Target Distance Alamrs - for solar orbits (Issue #151)
  • Updated KERWrapper to better handle the KER window not being open (Issue #150)
  • Added AngleRenderer for ejection angle displays of TWP Alarms

More excitingly here's the video showing the TWP Angle Renderer addition and its hook into KAC: 

Curse still tries to feed me v3.4.0.0. GitHub and kerbal Stuff are showing v3.5.0.0

Link to comment
Share on other sites

3 hours ago, smjjames said:

I'm still getting this exception with the latest version on scene change:

.........

Can you perhaps share a save where its happening and some steps for me - just PM me is fine. I cant get it to happen here

 

2 hours ago, Tex_NL said:

Curse still tries to feed me v3.4.0.0. GitHub and kerbal Stuff are showing v3.5.0.0

They have a moderation queue and have to tick the box to release it. I'll check it when I get to work - was in the queue for review when I went to bed last night

Link to comment
Share on other sites

6 hours ago, TriggerAu said:

More excitingly here's the video showing the TWP Angle Renderer...

 

That is indeed exciting, nice one! Finally i can let go of using mechjeb for interplanetary burns :) 

How does it handle ejections to an inclined orbit?

Link to comment
Share on other sites

On 12/3/2015, 7:26:31, eddiew said:

That is indeed exciting, nice one! Finally i can let go of using mechjeb for interplanetary burns :) 

How does it handle ejections to an inclined orbit?

The math is all still the same, so it caters to that. The display draws the arcs on the plane of the source body, as thats what the calculated ejection angle is worked on

 

In other news the download on Curse seems to have got lost - it dropped out of the list for me today so I uploaded it again - lets see how that goes

Link to comment
Share on other sites

how can i get my current alarms transferred from 3.4v to 3.5v? I thought I had the most recent one, but the mod ingame was telling me on the settings button that I need to update.

When ever I click "jump to ship" on an alarm, the loading screen stays loading eternally. It was all of a sudden, and was working fine for many days.

Edited by fireblade274
Link to comment
Share on other sites

I guess my question is, is importing alarms from v2 to v3 different then importing alarms from v3.4 to v3.5?

Ok, so I updated to 3.5 and my alarms were all kept, which is great, but im still getting infinite loading screens when "jump to ship" is clicked. I can navigate to the ship just fine using the tracking station, but yea clicking that, all of a sudden, now just "crashes" the game. this started right before i switched to 3.5

Edited by fireblade274
Link to comment
Share on other sites

  • 2 weeks later...
On ‎11‎/‎27‎/‎2015 at 2:51 AM, Fwiffo said:

Hi TriggerAu,

My Win-x64 KSP installation seems surprisingly stable, except for one intermittent bug which keeps cropping up when high part count ships explode. After a LOT of testing today I've been able to isolate that it only occurs when ALL of the following are installed:

  • Windows 64-bit version of KSP
  • Kerbal Alarm Clock 3.4
  • Alternate Resource Panel 2.7.3

Although the issue is intermittent, I can reproduce it with reasonable frequency under the conditions above. But if any ONE of these three is taken away, it never happens. i.e. I can run 64-bit KSP, with one (but not both) of your mods, and even add my other 50 or so mods back into the mix, and no matter how hard I try cannot reproduce the issue. As soon as both mods are in place, I can reproduce it within about 1 to 5 tries.

  Reveal hidden contents

y53gpcc.png

iiNXTeS.png

I recognize this is a hazardous landmine of unsupported misery, and that a lot of modders are (with good reason) simply refusing to deal with anything that bears the scent of Windows 64-bit. But I'm hoping you might nevertheless have some ideas. I'm not afraid to go hacking at the code myself, if you point me in the right direction.

Here's the craft file I've been testing with, and in case that doesn't reproduce it, here's a more complete Environment.zip which also includes my:

  • GameData directory, minus the Squad subtree. (Consists of just the two mods)
  • Savegame and test rocket (persistent.sfs and Crasher2.craft)
  • KSP game settings (settings.cfg)
  • Full log file captures for each permutation (both-installed, one-installed, 32-bit, 64-bit, etc)

Steps to reproduce are:

  1. Start with pristine KSP 1.0.5.1028 for Windows environment.
  2. Drop in the contents of the zip file, to the appropriate location.
  3. Replace KSP.exe and KSP_Data\Mono\mono.dll with the forbidden, contraband ones described here. (I can PM these to you if needed)
  4. Start KSP.exe, hit Resume Saved, select CrashTest, hit Continue.
  5. Click the launchpad (clear / recover any existing craft if needed), select Crasher2.craft and click Launch.
  6. Once on the launchpad, max out throttle, enable SAS, and hit Launch (spacebar)
  7. Hit Alt + . several times to increment to 4x physics timewarp (helps increase likelihood of collision)
  8. Just after liftoff, activate the first stage (space) to try and cause an explosion. The more destruction the better. Seems to happen more often when the noses of the released pylons crash in toward the center stack, rather than when they drift outward.
  9. Freeze occurs pretty quickly into the explosions. If it doesn't occur within a few seconds, revert to the launchpad and repeat up to 10 times. I can usually get it to happen within about 1 to 5 tries. You can also try wobbling the craft a bit just before staging.

Some other things I've tried / observed:

  Reveal hidden contents
  • The behavior is identical under both KSP 1.0.4 and 1.0.5.1028. I've only tested on Windows (no convenient access to a Linux box).
  • Haven't been able to reproduce with low part count ships.
  • Seems just as easy to reproduce immediately after launch of KSP as it is after a long time of playing
  • FPS always crawls right before it happens (around 0.5 FPS if measured using GCmonitor)
  • Happens regardless of whether any alarms are set
  • Happens even when x64 version of the game is moved out of the C:\Program Files (x86) directory (thought it might be some kind of weird thunking special handling thing).
  • Tried updating my graphics drivers, no help
  • Reproduced on two different computers with different nVidia cards
  • Happens whether or not you launch directly from KSC or from VAB Editor
  • Alt+Tab behavior to/from game does not seem to affect the issue (no worse / better)
  • Using or not using command line arguments (-force-d3d11, -popupwindow) also seems to have no impact
  • VSync setting doesn't affect
  • Doesn't seem to matter whether the mod windows are shown/hidden.

Here are some anomalies I've noticed in my logs over the course of my testing, although after investigation I haven't tied any of them explicitly to the issue:

Log highlight 1:

  Reveal hidden contents

[HighLogic]: =========================== Scene Change : From SPACECENTER to FLIGHT (Async) =====================

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

11/26/2015 8:32:49 PM,KerbalAlarmClock,Scene Change from 'SPACECENTER' to 'FLIGHT'

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

11/26/2015 8:32:49 PM,KerbalAlarmClock,Active Vessel unreadable - resetting inqueue flag

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

NullReferenceException: Object reference not set to an instance of an object
at KerbalAlarmClock.KerbalAlarmClock.UpdateDetails () [0x00000] in <filename unknown>:0
at KerbalAlarmClock.KerbalAlarmClock.RepeatingWorker () [0x00000] in <filename unknown>:0
at KSPPluginFramework.MonoBehaviourExtended.RepeatingWorkerWrapper () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

11/26/2015 8:32:50 PM,KerbalAlarmClock,Removing DrawGUI from PostRender Queue

Log highlight 2 (only in non-freezing):

  Reveal hidden contents

11/27/2015 12:40:18 AM,KerbalAlarmClock,API Ready

(Filename: C:/buildslave/unity/build/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)

NullReferenceException: Object reference not set to an instance of an object
at UIManager.Update () [0x00000] in <filename unknown>:0
at UIManager.DidAnyPointerHitUI () [0x00000] in <filename unknown>:0
at SpaceCenterCamera2.InputCamera () [0x00000] in <filename unknown>:0
at SpaceCenterCamera2.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

11/27/2015 12:40:19 AM,KerbalAlarmClock,Searching for KER

I also noticed some messages about VOIDWrappers etc. Are you using generic exception handlers and dynamically wrapping KSP or Unity types (like VOID, KER)? Is it possible that due to either 64-bit or due to using 1.0.4 dll's for compile, there are typename differences resulting in them not being wrapped?

Appreciate any help you can offer.

I'd also be grateful if another intrepid Windows x64 Kerbalite out there could test this out and confirm whether they see similar behavior.

 

Id like to bump this inquiry if I may. I'm experiencing the same thing both on Win64 and the 64bit client on Linux as well.

Link to comment
Share on other sites

On 12/26/2015 at 7:00 AM, Motokid600 said:

Id like to bump this inquiry if I may. I'm experiencing the same thing both on Win64 and the 64bit client on Linux as well.

I'm having issues replicating it here. If you are OK to share a save file I'll give it a go - Scratch that now I found the save file :P

 

 

On 12/30/2015 at 3:40 PM, WuphonsReach said:

One item for the wishlist - the ability to set an alarm (on landed vessels) for the next sunrise (and sunset).

Its in the git list already - just need some maths time to work that one out :)

Edited by TriggerAu
Link to comment
Share on other sites

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