Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.98a is out! (03/27/25)

Author Topic: Null Pointer Exception on player colony  (Read 1880 times)

IHateTheReportSystem

  • Ensign
  • *
  • Posts: 4
    • View Profile
Null Pointer Exception on player colony
« on: August 08, 2024, 11:00:28 PM »

Title Basically.
I have a campaign that's been recently interrupted by this error repeatably and seemingly randomly that has made it rather frustrating to progress. As far as I can tell, as I am not familiar with xml or coding in general, its from some sort of conflict on a player colony that I didn't experience prior. In Recent events it grew to size 5, got a high command industry thrown on it, and increased its volatile deposit through TaSC. (Edit; no volatile deposit, wrong colony I'm a moron)

Here is the Error:
796807 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Loading C:\Program Files (x86)\Fractal Softworks\Starsector\starsector-core\..\saves\save_JustitiaNovia_5523313926726240186...
796812 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Loading stage 2
796812 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Loading stage 3
796902 [Thread-3] INFO  com.fs.starfarer.loading.LoadingUtils  - Loading CSV data from [DIRECTORY: C:\Program Files (x86)\Fractal Softworks\Starsector\starsector-core\..\mods\Industrial.Evolution-3.3.e]
796904 [Thread-3] INFO  com.fs.starfarer.loading.LoadingUtils  - Loading CSV data from [DIRECTORY: C:\Program Files (x86)\Fractal Softworks\Starsector\starsector-core\..\mods\Persean Chronicles-3.0.9]
798135 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Error loading
798135 [Thread-3] ERROR com.fs.starfarer.campaign.save.CampaignGameManager  - Failed calling method
---- Debugging information ----
message             : Failed calling method
cause-exception     : java.lang.NullPointerException
cause-message       : null
method              : com.fs.starfarer.campaign.econ.PlanetConditionMarket.readResolve()
class               : com.fs.starfarer.campaign.econ.PlanetConditionMarket
required-type       : com.fs.starfarer.campaign.econ.PlanetConditionMarket
converter-type      : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
line number         : 739913
class[1]            : com.fs.starfarer.campaign.CustomCampaignEntity
class[2]            : indevo.industries.artillery.projectiles.MissileCarrierEntityPlugin
class[3]            : java.util.HashMap
converter-type[1]   : com.thoughtworks.xstream.converters.collections.MapConverter
class[4]            : indevo.utils.trails.MagicCampaignTrailPlugin
class[5]            : indevo.utils.trails.MagicCustomCampaignTrailEntityScript
class[6]            : java.util.ArrayList
converter-type[2]   : com.thoughtworks.xstream.converters.collections.CollectionConverter
class[7]            : com.fs.util.container.repo.ObjectRepository
class[8]            : com.fs.starfarer.campaign.StarSystem
class[9]            : com.fs.starfarer.campaign.fleet.CampaignFleet
class[10]           : boggled.scripts.BoggledTerraformingRequirement$RequirementContext
class[11]           : boggled.campaign.econ.industries.BoggledCommonIndustry
class[12]           : boggled.campaign.econ.industries.BoggledBaseIndustry
class[13]           : com.fs.starfarer.campaign.econ.Market
class[14]           : indevo.industries.salvageyards.industry.SalvageYards
class[15]           : com.fs.starfarer.campaign.ai.CampaignFleetAI$FleetAssignmentData
class[16]           : com.fs.starfarer.campaign.ai.AssignmentModule
class[17]           : com.fs.starfarer.campaign.ai.ModularFleetAI
class[18]           : mmm.missions.DefenseMission$MissionData
class[19]           : java.util.LinkedHashMap
class[20]           : com.fs.starfarer.campaign.rules.Memory
class[21]           : com.fs.starfarer.campaign.econ.Submarket
class[22]           : com.fs.starfarer.campaign.CampaignPlanet
class[23]           : com.fs.starfarer.campaign.CircularOrbit
class[24]           : com.fs.starfarer.loading.specs.FactionProduction
class[25]           : com.fs.starfarer.campaign.Faction
class[26]           : com.fs.starfarer.campaign.econ.reach.ReachEconomy
class[27]           : com.fs.starfarer.campaign.econ.reach.ReachEconomyStepper
class[28]           : com.fs.starfarer.campaign.econ.Economy
class[29]           : com.fs.starfarer.campaign.StarSystem$UpdateFromHyperspaceLocation
class[30]           : com.fs.starfarer.campaign.BaseLocation$LocationToken
class[31]           : com.fs.starfarer.campaign.Hyperspace
class[32]           : com.fs.starfarer.campaign.CampaignEngine
converter-type[3]   : com.fs.starfarer.campaign.save.I
version             : not available
-------------------------------
com.thoughtworks.xstream.converters.ConversionException: Failed calling method
---- Debugging information ----
message             : Failed calling method
cause-exception     : java.lang.NullPointerException
cause-message       : null
method              : com.fs.starfarer.campaign.econ.PlanetConditionMarket.readResolve()
class               : com.fs.starfarer.campaign.econ.PlanetConditionMarket
required-type       : com.fs.starfarer.campaign.econ.PlanetConditionMarket
converter-type      : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
line number         : 739913
class[1]            : com.fs.starfarer.campaign.CustomCampaignEntity
class[2]            : indevo.industries.artillery.projectiles.MissileCarrierEntityPlugin
class[3]            : java.util.HashMap
converter-type[1]   : com.thoughtworks.xstream.converters.collections.MapConverter
class[4]            : indevo.utils.trails.MagicCampaignTrailPlugin
class[5]            : indevo.utils.trails.MagicCustomCampaignTrailEntityScript
class[6]            : java.util.ArrayList
converter-type[2]   : com.thoughtworks.xstream.converters.collections.CollectionConverter
class[7]            : com.fs.util.container.repo.ObjectRepository
class[8]            : com.fs.starfarer.campaign.StarSystem
class[9]            : com.fs.starfarer.campaign.fleet.CampaignFleet
class[10]           : boggled.scripts.BoggledTerraformingRequirement$RequirementContext
class[11]           : boggled.campaign.econ.industries.BoggledCommonIndustry
class[12]           : boggled.campaign.econ.industries.BoggledBaseIndustry
class[13]           : com.fs.starfarer.campaign.econ.Market
class[14]           : indevo.industries.salvageyards.industry.SalvageYards
class[15]           : com.fs.starfarer.campaign.ai.CampaignFleetAI$FleetAssignmentData
class[16]           : com.fs.starfarer.campaign.ai.AssignmentModule
class[17]           : com.fs.starfarer.campaign.ai.ModularFleetAI
class[18]           : mmm.missions.DefenseMission$MissionData
class[19]           : java.util.LinkedHashMap
class[20]           : com.fs.starfarer.campaign.rules.Memory
class[21]           : com.fs.starfarer.campaign.econ.Submarket
class[22]           : com.fs.starfarer.campaign.CampaignPlanet
class[23]           : com.fs.starfarer.campaign.CircularOrbit
class[24]           : com.fs.starfarer.loading.specs.FactionProduction
class[25]           : com.fs.starfarer.campaign.Faction
class[26]           : com.fs.starfarer.campaign.econ.reach.ReachEconomy
class[27]           : com.fs.starfarer.campaign.econ.reach.ReachEconomyStepper
class[28]           : com.fs.starfarer.campaign.econ.Economy
class[29]           : com.fs.starfarer.campaign.StarSystem$UpdateFromHyperspaceLocation
class[30]           : com.fs.starfarer.campaign.BaseLocation$LocationToken
class[31]           : com.fs.starfarer.campaign.Hyperspace
class[32]           : com.fs.starfarer.campaign.CampaignEngine
converter-type[3]   : com.fs.starfarer.campaign.save.I
version             : not available








And Here is the Planet in Question:
<market cl="PCMarket" z="264372">
<id>market_system_1f1d:planet_0</id>
<name>Yamayaquil</name>
<primaryEntity cl="Plnt" ref="2350"></primaryEntity>
<memory cl="Memory" ref="3803"></memory>
<surveyLevel>PRELIMINARY</surveyLevel>
<cond z="264373">
<st>no_atmosphere</st>
<st>IndEvo_ArtilleryStationCondition</st>
<st>rare_ore_ultrarich</st>
<st>IndEvo_RuinsCondition</st>
<st>pre_collapse_facility</st>
<st>very_hot</st>
<st>ore_rich</st>
<st>ruins_scattered</st>
</cond>
<surveyed z="264374">
<st>no_atmosphere</st>
<st>IndEvo_ArtilleryStationCondition</st>
<st>very_hot</st>
</surveyed>
</market>                                                  <----------------------------------------------------------------------------------------------------------------- line 739913
<sc z="264375">
<indevo.industries.artillery.scripts.CampaignAttackScript z="264376">
<targetMap z="264377"></targetMap>
<blockedAreas z="264378"></blockedAreas>
<stationFireInterval z="264379" i="2.0" a="3.0" c="2.356512" e="0.0" ie="false"></stationFireInterval>
<forcedTargetMap z="264380"></forcedTargetMap>
<terrain cl="CampaignTerrain" z="264381" type="IndEvo_artillery_range_terrain" radius="0.0">
<loc z="264382">592.4219|2385.9458</loc>
<vel z="264383">0.0|0.0</vel>
<j0>{"f6":90,"f0":"Null","f1":true,"f2":[255,240,200,255],"f4":"1e3822"}</j0>
<ow ref="13"></ow>
<orbit cl="COrbt" z="264384" r="0.0" op="0.0" ca="0.0">
<e cl="CampaignTerrain" ref="264381"></e>
<f cl="CCEnt" ref="264334"></f>
</orbit>
<cL cl="Sstm" ref="2326"></cL>
<ls cl="Plnt" ref="2323"></ls>
<me z="264385">
<d z="264386"></d>
</me>
<sc z="264387"></sc>
<tags z="264388">
<st>fading_out_and_expiring</st>
<st>terrain</st>
<st>non_clickable</st>
</tags>
<alwaysUseSensorFaderBrightness>true</alwaysUseSensorFaderBrightness>
<plugin cl="indevo.industries.artillery.terrain.ArtilleryTerrain" z="264389" tid="IndEvo_artillery_range_terrain" n="Unknown">
<entity cl="CampaignTerrain" ref="264381"></entity>
<params z="264390" bWIE="12000.0" mR="0.0" n="In artillery range">
<e cl="CCEnt" ref="264334"></e>
</params>
</plugin>
</terrain>
<range>12000.0</range>
<terrainRange>12000.0</terrainRange>
<disabled>false</disabled>
<isDone>true</isDone>
<entity cl="CCEnt" ref="264334"></entity>
<type>missile</type>
<devmodeInterval z="264391" i="5.0" a="5.0" c="5.0" e="2.4429994" ie="false"></devmodeInterval>
</indevo.industries.artillery.scripts.CampaignAttackScript>
</sc>
<tags z="264392">
<st>NO_ORBITAL_STATION</st>
<st>station</st>
<st>use_station_visual</st>
<st>IndEvo_Artillery</st>
</tags>
<j1>{"f0":55,"f1":55,"f2":40,"f3":-1,"f4":-1,"f5":"IndEvo_ArtilleryStation"}</j1>
<la z="264393" enum-type="CaEnLa">STATIONS</la>
<p cl="indevo.industries.artillery.entities.ArtilleryStationEntityPlugin" z="264394">
<e cl="CCEnt" ref="264334"></e>
<type>missile</type>
<disrupted>false</disrupted>
</p>
<fleetForVisual z="264395" sS="450.0" sP="450.0" mO="false" f="222.30408" n="Missile defence platform" aM="true" nFIN="true" sM="true" dF="90.0">
<loc z="264396">592.4219|2385.9458</loc>
<vel z="264397">0.0|0.0</vel>
<j0>{"f6":0,"f0":"Null","f2":[255,240,200,255],"f4":"1e37d4","f5":true}</j0>
<o ref="2361"></o>
<orbit cl="COrbt" z="264398" r="0.0" op="100.0" ca="0.0">
<e cl="Flt" ref="264395"></e>
<f cl="CCEnt" ref="264334"></f>
</orbit>
<cL cl="Sstm" ref="2326"></cL>
<ls cl="Plnt" ref="2323"></ls>
<me z="264399">
<d z="264400">
<e>
<st>$fleetType</st>
<st>patrolSmall</st>
</e>
<e>



I apologize for not using Pastebin or its alternatives, I couldn't get them to work. Is there anything I can do for my campaign? With this, it's really a coin flip if a save works or not. Occasionally it does, other times it does not, this also applies to the backups unfortunately. It may just be easier to abandon the colony or something, oh well.

Thank you for the help.
« Last Edit: August 09, 2024, 09:12:26 PM by IHateTheReportSystem »
Logged

Histidine

  • Admiral
  • *****
  • Posts: 5146
    • View Profile
    • GitHub profile
Re: Null Pointer Exception on player colony
« Reply #1 on: August 09, 2024, 06:46:29 PM »

The log should have a segment that starts with "Caused by", can you post that?
Logged

IHateTheReportSystem

  • Ensign
  • *
  • Posts: 4
    • View Profile
Re: Null Pointer Exception on player colony
« Reply #2 on: August 09, 2024, 09:08:31 PM »

Yes my apologies. Cut out a few hundred lines of 'at com.thoughtworks'.

   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unma rshallField(AbstractReflectionConverter.java:503)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUn marshal(AbstractReflectionConverter.java:429)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unma rshal(AbstractReflectionConverter.java:281)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
   at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:70)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
   at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
   at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
   at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1486)
   at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1466)
   at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1346)
   at com.fs.starfarer.campaign.save.CampaignGameManager.o00000(Unknown Source)
   at com.fs.starfarer.title.TitleScreenState.dialogDismissed(Unknown Source)
   at com.fs.starfarer.ui.O.dismiss(Unknown Source)
   at com.fs.starfarer.ui.impl.for.dismiss(Unknown Source)
   at com.fs.starfarer.campaign.save.LoadGameDialog.actionPerformed(Unknown Source)
   at com.fs.starfarer.ui.o0O0.buttonPressed(Unknown Source)
   at com.fs.starfarer.ui.int. 00000(Unknown Source)
   at com.fs.starfarer.ui.int.processInput(Unknown Source)
   at com.fs.starfarer.ui.W.o00000(Unknown Source)
   at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
   at com.fs.state.AppDriver.begin(Unknown Source)
   at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
   at com.fs.starfarer.StarfarerLauncher.super(Unknown Source)
   at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
   at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
   at com.fs.starfarer.campaign.rules.Memory.getString(Unknown Source)
   at com.fs.starfarer.campaign.rules.Memory.getBoolean(Unknown Source)
   at indevo.industries.derelicts.conditions.RuinsCondition.apply(RuinsCondition.java:25)
   at com.fs.starfarer.campaign.econ.PlanetConditionMarket.addCondition(Unknown Source)
   at com.fs.starfarer.campaign.econ.PlanetConditionMarket.addCondition(Unknown Source)
   at com.fs.starfarer.campaign.econ.PlanetConditionMarket.readResolve(Unknown Source)
   at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:498)
   at com.thoughtworks.xstream.core.util.SerializationMembers.callReadResolve(SerializationMembers.java:78)
   ... 496 more
Logged

Histidine

  • Admiral
  • *****
  • Posts: 5146
    • View Profile
    • GitHub profile
Re: Null Pointer Exception on player colony
« Reply #3 on: August 13, 2024, 05:32:54 AM »

Bit late, but Lukas04 looked into it enough to determine that it's a deserialization issue in Industrial.Evolution; might be fixable in a future update.
Logged

IHateTheReportSystem

  • Ensign
  • *
  • Posts: 4
    • View Profile
Re: Null Pointer Exception on player colony
« Reply #4 on: August 13, 2024, 07:39:43 AM »

Oh well, thank you for the help. If you need anything further from me such as a mod list or such, then feel free to ask.
Logged

StarstenKahl

  • Ensign
  • *
  • Posts: 1
    • View Profile
Re: Null Pointer Exception on player colony
« Reply #5 on: September 17, 2024, 08:57:33 AM »

Hi, I've had the exact same error and it made my save completely unplayable. Is there any way to avoid this in future saves other than just disabling the mod for now?
Logged