RemoteTechnologiesGroup / RemoteTech

Community developed continuation of Kerbal Space Program's RemoteTech mod.
http://remotetechnologiesgroup.github.io/RemoteTech
GNU General Public License v2.0
233 stars 102 forks source link

Terrain corruption, satellite duplication #18

Closed Starstrider42 closed 7 years ago

Starstrider42 commented 10 years ago

Original issues at Cilph/RemoteTech2#187, Cilph/RemoteTech2#189.

This bug was supposed to have been fixed by the community hotfix. Unfortunately, reports of its demise seem to have been exaggerated:

Zardizz wrote:

Yeah I am also experiencing this with the updated DLL.

Xiong wrote:

I, too, have been running the "community hotfix": http://www.mediafire.com/download/dncc8qu44t30a90/RemoteTech2_2014.01.08.22.30.zip

I had not seen the issue described here previously but I just now caught something looking like it: lots of ugly UI issues, Space Center does not show; and when I quit and restarted, my station (with RT2 parts on, of course) had been duplicated -- exact superimposed duplicate leading to instant self-destruct. Resolved this by reloading and simply terminating all but the first duplicate station.

Starstrider42 commented 10 years ago

Staged to develop as part of #78. This issue will need to be manually closed.

Starstrider42 commented 10 years ago

Re-reported in 1.4.0. :frowning:

MOARdV commented 10 years ago

I saw this happen this afternoon. I was on the 3rd consecutive launch of a commsat to 450km (that is, I had already launched two satellites to orbit during this gameplay session). This configuration includes a small commsat with an AIES EXP VR2T antenna (the one from AIES, not the one included with 1.4.0) and a launcher that has the 500km fixed antenna + a probe core for controlled de-orbit. I separated the launcher and deorbited it, and after switching back to the satellite in Map View, the GUI didn't redraw and it was tumbling. I returned to Space Center, and the planet didn't draw, and the game appeared to have hung, so I Alt-F4 quit and restarted. Once I returned to the satellite, there were two there. One was tumbling away with a broken solar panel, but the other was intact. I was able to deorbit the damaged clone sat.

I did not get logs (didn't think about it - will do so if I see it again). I have a number of plug-ins, including KAS, MJ, Toolbar, Active Texture Management, Environmental Visual Enhancements, Chatterer, Firespitter, Procedural Fairings, ... and more).

MOARdV commented 10 years ago

I reproduced it again with the same steps. I have put the log files, notes, and the save game persistence files in this dropbox location: https://www.dropbox.com/s/g6uv4vens51b96a/rt-crash.zip

Edit: If the behavior is the same as before, if you load that save and try to load the most recent Orbiter 2 satellite from the Map View, you should see the duplication happen.

Starstrider42 commented 10 years ago

Nominating this for 1.4.1, for obvious reasons.

Pezmc commented 10 years ago

Is there a fix? Or are you nominating it to be fixed ;-)

MOARdV commented 10 years ago

As a follow on to my previous posts, the save that I posted doesn't show a duplicated ship. That may be because the first time I had tried to switch to the space center before quitting. Since then, I've seen one more "missing kerbin when switching to space center" bug, but no more duplicating ships. That may be because I'm launching different craft - the ones that were causing problems all had two probe cores with active omni antennae that separated on orbit. After separation, one of those cores would deorbit to crash.

I've noticed that RT draws communication lines to where the booster stage crashed on Kerbin. The crash is done on rails (it's not an active vessel). Eventually RT removes the crashed booster from the communication network, but it's not immediate. Maybe that's where the failure is happening?

Starstrider42 commented 10 years ago

For quick reference, this seems to be the initial point of failure in MOARdV's example. Still trying to reproduce it on my end. There are a LOT of mods here, some of which are no longer available for download.

[FLIGHT GLOBALS]: Switching To Vessel Orbiter 2 ---------------------- 
Flight State Captured
Saving Achievements Tree...
Saving Achievements Tree...
Saving Achievements Tree...
[HighLogic]: =========================== Scene Change : From FLIGHT to FLIGHT =====================
Camera Mode: AUTO
NullReferenceException: Object reference not set to an instance of an object
  at DistantObject.FlareDraw.UpdateVar () [0x00000] in <filename unknown>:0 

  at DistantObject.FlareDraw.Update () [0x00000] in <filename unknown>:0 

(Filename:  Line: -1)

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

(Filename:  Line: -1)

Cannot find preset 'Default' for pqs 'Eeloo'
Cannot find preset 'Default' for pqs 'Pol'
Cannot find preset 'Default' for pqs 'Dres'
Tac.FuelBalanceController[FFE816A8][1152.01]: OnDestroy
RemoteTech: SatelliteManager: OnVesselDestroy(8ede230a-9f47-4168-89f2-060ad1b0b3ab, Main Belt Ast. HSJ-227)
RemoteTech: SatelliteManager: UnregisterProto(8ede230a-9f47-4168-89f2-060ad1b0b3ab)
6/18/2014 4:49:23 PM,KerbalAlarmClock,Destroying the KerbalAlarmClock-KACFlight
6/18/2014 4:49:23 PM,KerbalAlarmClock,Destroying Toolbar Button
6/18/2014 4:49:23 PM,KSPAlternateResourcePanel,Destroying the AlternateResourcePanel (ARP)
6/18/2014 4:49:23 PM,KSPAlternateResourcePanel,API Cleaned up
RemoteTech: SatelliteManager: OnVesselDestroy(eb292ef0-d28c-4a14-8acc-e71651d12870, Orbiter 1)
RemoteTech: SatelliteManager: UnregisterProto(eb292ef0-d28c-4a14-8acc-e71651d12870)
RemoteTech: SatelliteManager: OnUnregister(VesselSatellite(Orbiter 1, eb292ef0-d28c-4a14-8acc-e71651d12870))
RemoteTech: NetworkManager: SatelliteUnregister(VesselSatellite(Orbiter 1, eb292ef0-d28c-4a14-8acc-e71651d12870))
RemoteTech: SatelliteManager: OnVesselDestroy(b961b340-3689-4823-a0f2-3e852cfe01c8, Orbiter 1)
RemoteTech: SatelliteManager: UnregisterProto(b961b340-3689-4823-a0f2-3e852cfe01c8)
RemoteTech: SatelliteManager: OnUnregister(VesselSatellite(Orbiter 1, b961b340-3689-4823-a0f2-3e852cfe01c8))
RemoteTech: NetworkManager: SatelliteUnregister(VesselSatellite(Orbiter 1, b961b340-3689-4823-a0f2-3e852cfe01c8))
RemoteTech: ModuleSPU: OnDestroy
RemoteTech: SatelliteManager: Unregister(ModuleSPU(Orbiter 2 Probe, 89316b0e-bb1a-4b40-87ce-ce5a58946dce))
RemoteTech: FlightComputer: Dispose
RemoteTech: ModuleRTAntennaPassive: OnDestroy
RemoteTech: AntennaManager: Unregister(ModuleRTAntennaPassive(Name: RC-001S Remote Guidance Unit, Guid: 89316b0e-bb1a-4b40-87ce-ce5a58946dce, Omni: 3000))
RemoteTech: AntennaManager: OnUnregister(RC-001S Remote Guidance Unit)
[PlanetariumCamera]: Focus: Kerbin
RemoteTech: SatelliteManager: OnVesselDestroy(5d28a33c-2fcd-4918-b149-88776cb5e620, Orbiter 2)
RemoteTech: SatelliteManager: UnregisterProto(5d28a33c-2fcd-4918-b149-88776cb5e620)
RemoteTech: SatelliteManager: OnUnregister(VesselSatellite(Orbiter 2, 5d28a33c-2fcd-4918-b149-88776cb5e620))
RemoteTech: NetworkManager: SatelliteUnregister(VesselSatellite(Orbiter 2, 5d28a33c-2fcd-4918-b149-88776cb5e620))
RemoteTech: SatelliteManager: OnVesselDestroy(0a658500-f2b6-4ae0-8271-6c6a42343a7b, Orbiter 2)
RemoteTech: SatelliteManager: UnregisterProto(0a658500-f2b6-4ae0-8271-6c6a42343a7b)
RemoteTech: SatelliteManager: OnUnregister(VesselSatellite(Orbiter 2, 0a658500-f2b6-4ae0-8271-6c6a42343a7b))
RemoteTech: NetworkManager: SatelliteUnregister(VesselSatellite(Orbiter 2, 0a658500-f2b6-4ae0-8271-6c6a42343a7b))
RemoteTech: SatelliteManager: OnVesselDestroy(18d2d66a-3668-433c-a071-249b3d564d09, Main Belt Ast. YOE-639)
RemoteTech: SatelliteManager: UnregisterProto(18d2d66a-3668-433c-a071-249b3d564d09)
RemoteTech: ModuleRTAntenna: OnDestroy
RemoteTech: AntennaManager: Unregister(ModuleRTAntenna(Name: Reflectron DP-10, Guid: 89316b0e-bb1a-4b40-87ce-ce5a58946dce, Dish: -1, Omni: 500000, Target: 00000000-0000-0000-0000-000000000000, Radians: 1))
RemoteTech: AntennaManager: OnUnregister(Reflectron DP-10)
RemoteTech: ModuleSPUPassive: OnDestroy
RemoteTech: SatelliteManager: Unregister(ModuleSPUPassive(Orbiter 2 Probe, 89316b0e-bb1a-4b40-87ce-ce5a58946dce))
RemoteTech: SatelliteManager: OnUnregister(VesselSatellite(Orbiter 2 Probe, 89316b0e-bb1a-4b40-87ce-ce5a58946dce))
RemoteTech: NetworkManager: SatelliteUnregister(VesselSatellite(Orbiter 2 Probe, 89316b0e-bb1a-4b40-87ce-ce5a58946dce))
RemoteTech: SatelliteManager: OnVesselDestroy(89316b0e-bb1a-4b40-87ce-ce5a58946dce, Orbiter 2 Probe)
RemoteTech: SatelliteManager: UnregisterProto(89316b0e-bb1a-4b40-87ce-ce5a58946dce)
RemoteTech: SatelliteManager: OnVesselDestroy(db489bae-cf93-45e9-97c7-a9e26c168373, Orbiter 2)
RemoteTech: SatelliteManager: UnregisterProto(db489bae-cf93-45e9-97c7-a9e26c168373)
RemoteTech: SatelliteManager: OnUnregister(VesselSatellite(Orbiter 2, 00000000-0000-0000-0000-000000000000))
RemoteTech: NetworkManager: SatelliteUnregister(VesselSatellite(Orbiter 2, 00000000-0000-0000-0000-000000000000))
ArgumentOutOfRangeException: Argument is out of range.

Parameter name: index
  at System.Collections.Generic.List`1[RemoteTech.ISignalProcessor].get_Item (Int32 index) [0x00000] in <filename unknown>:0 
  at RemoteTech.VesselSatellite.get_SignalProcessor () [0x00000] in <filename unknown>:0 
  at RemoteTech.VesselSatellite.get_Guid () [0x00000] in <filename unknown>:0 
  at RemoteTech.VesselSatellite.GetHashCode () [0x00000] in <filename unknown>:0 
  at RemoteTech.BidirectionalEdge`1[RemoteTech.ISatellite].GetHashCode () [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.GenericEqualityComparer`1[RemoteTech.BidirectionalEdge`1[RemoteTech.ISatellite]].GetHashCode (RemoteTech.BidirectionalEdge`1 obj) [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.HashSet`1[RemoteTech.BidirectionalEdge`1[RemoteTech.ISatellite]].GetItemHashCode (RemoteTech.BidirectionalEdge`1 item) [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.HashSet`1[RemoteTech.BidirectionalEdge`1[RemoteTech.ISatellite]].Remove (RemoteTech.BidirectionalEdge`1 item) [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.HashSet`1[RemoteTech.BidirectionalEdge`1[RemoteTech.ISatellite]].RemoveWhere (System.Predicate`1 predicate) [0x00000] in <filename unknown>:0 
  at RemoteTech.NetworkRenderer.OnSatelliteUnregister (ISatellite s) [0x00000] in <filename unknown>:0 
  at (wrapper delegate-invoke) System.Action`1<RemoteTech.VesselSatellite>:invoke_void__this___VesselSatellite (RemoteTech.VesselSatellite)
  at (wrapper delegate-invoke) System.Action`1<RemoteTech.VesselSatellite>:invoke_void__this___VesselSatellite (RemoteTech.VesselSatellite)
  at (wrapper delegate-invoke) System.Action`1<RemoteTech.VesselSatellite>:invoke_void__this___VesselSatellite (RemoteTech.VesselSatellite)
  at RemoteTech.SatelliteManager.UnregisterProto (Guid key) [0x00000] in <filename unknown>:0 
  at RemoteTech.SatelliteManager.OnVesselDestroy (.Vessel v) [0x00000] in <filename unknown>:0 
  at EventData`1[Vessel].Fire (.Vessel data) [0x00000] in <filename unknown>:0 
  at Vessel.OnDestroy () [0x00000] in <filename unknown>:0 
MOARdV commented 10 years ago

I can try stripping down the install to see if it's still reproducible (ditching DLLs that "shouldn't" be in play). If you'd like me to instrument RT to dump more debug info, let me know what to change and where, and I can do that as well.

Starstrider42 commented 10 years ago

I don't think that will be necessary, but can you post a copy of your MM tweaks (presumably in GameData/MOARdV)? Orbiter 2 seems to rely on them quite heavily.

Also, how the heck did you manage to make an SSTO rocket? I didn't think that was possible.

KSP-TaxiService commented 7 years ago

Hi,

It seems no further reports on both issues are received nowadays. Given that KSP underwent a great deal of changes and improvements, it is presumed that the issues are no longer replicated now.

Should either issue re-surface, kindly open a new ticket and provide required logs.