HOW TO REPORT CTD (CRASH-TO-DESKTOP) ISSUES
After the release of 0.8.1a version of Starsector and recent release of long awaited DynaSector and Nexerelin mods, people are starting to report the crash issues without providing the proper information. Without the proper information, Alex (Founder of Starsector), modders, and the community will not be able to narrow down the bugs that caused the crash to desktop (CTD).
So, I am typing this to show you the very simple methods of how to properly give the information about CTD issues.
STEPS:
1) Locate the starsector.log located in Starsector folder:
Starsector\starsector-core
2) Obtain the specific information from starsector.log. Posting the entire starsector.log is not necessary, it is not most effective way to provide information to modders. In order to provide the most useful information, scroll down to the bottom of starsector.log until you see the line that look similar to this:
ERROR (Any kind of error log) - java.lang.NullPointerException
Example:
Here is an example of CTD log:
179855 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException
java.lang.NullPointerException
at src.lt.data.scripts.campaign.Lt_CampaignSpawnSpecialFleet.advance(Lt_CampaignSpawnSpecialFleet.java:60)
at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source)
at com.fs.starfarer.campaign.CampaignState.advance(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$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
See where it say 179855 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException
java.lang.NullPointerException with the rest of lines below it? That's is what you want to provide when posting crash log.
3) Post the list of mods you activated in Starsector. THIS IS AN IMPORTANT PART because without it, we have no idea what mods could cause conflicts in Starsector.
4) Describe which mods you installed prior to CTD.
5) Describe the details of what you were doing in Starsector that led to CTD.
To anyone who want any more information added to the guide, please post reply and I will update the guide.
Credits:
Phelan Hood - Thank you for the advice with an English language.
3) Post the list of mods you activated in Starsector. THIS IS AN IMPORTANT PART because without it, we have no idea what mods could cause conflicts in Starsector.
As of 0.95.1a we have a full info regarding mogs in the main starsector.log. Sadly, it is difficult to extract it from a large file, but what can be done is: delete the starsector.log file, and launch the game. You will see something like this:
124 [main] INFO com.fs.starfarer.StarfarerLauncher - Running with the following mods (in order of priority):
124 [main] INFO com.fs.starfarer.StarfarerLauncher - Starpocalypse [id: starpocalypse] [version 2.2.1] (from C:\Starsector\starsector-core\..\mods\starpocalypse)
125 [main] INFO com.fs.starfarer.StarfarerLauncher - LazyLib [id: lw_lazylib] [version 2.7b] (from C:\Starsector\starsector-core\..\mods\lw_lazylib)
125 [main] INFO com.fs.starfarer.StarfarerLauncher - MagicLib [id: MagicLib] [version 0.42] (from C:\Starsector\starsector-core\..\mods\MagicLib)
125 [main] INFO com.fs.starfarer.StarfarerLauncher - Nexerelin [id: nexerelin] [version 0.10.3i] (from C:\Starsector\starsector-core\..\mods\nexerelin)
125 [main] INFO com.fs.starfarer.StarfarerLauncher - Stellar Networks [id: stelnet] [version 2.4.0] (from C:\Starsector\starsector-core\..\mods\stelnet)
125 [main] INFO com.fs.starfarer.StarfarerLauncher - Transponder Off [id: transpoffder] [version 1.1.2] (from C:\Starsector\starsector-core\..\mods\transpoffder)
128 [main] INFO com.fs.starfarer.StarfarerLauncher - Mod list finished
The deletion of starsector.log file should also be encouraged in order to get a cleaner, smaller log. Delete file, start the game again, load your save, trigger the CDT.
One of your mods has generated a blueprint for a ship that doesn't exist.
You can go into Starsector/saves and open your save's campaign.xml file (I recommend something like Notepad++). Ctrl+F for "ship_bp" and change the hull IDs to "paragon" or whatever.
Example of a blueprint entry from an old save of mine, with an Aurora blueprint:
<CIStack z="28120" rS="true" s="1.0" mS="1000000.0" cSPU="1.0" t="SPECIAL">
<d cl="SpID" z="28121" i="ship_bp" d="aurora"></d>
<c ref="28118"></c>
I know the OP hasn't been online in a couple of years, but this is pinned, so:
TLDR: When posting a crash, please also include the 5-10 lines above the crash.
See where it say 179855 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException
java.lang.NullPointerException with the rest of lines below it? That's is what you want to provide when posting crash log.
The lines above the crash can be critically important, not only the crash.
In some cases, a crash will occur when loading a specific json or csv file, but the crash itself will not say which. However, the lines above the crash will often say which file was loading, pointing you straight to the problem. Looking for the line on the same thread as the crash filters out the unrelated ones.
For example, this crash:
81957 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain - org.json.JSONException: JSONObject["id"] not found.
org.json.JSONException: JSONObject["id"] not found.
at org.json.JSONObject.get(JSONObject.java:406)
at org.json.JSONObject.getString(JSONObject.java:577)
at com.fs.starfarer.loading.WeaponSpecLoader.o00000(Unknown Source)
at com.fs.starfarer.loading.WeaponSpecLoader.o00000(Unknown Source)
at com.fs.starfarer.loading.SpecStore.O0000(Unknown Source)
at com.fs.starfarer.loading.ResourceLoaderState.init(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:750)
The crash itself is not very useful.
However, if we add the five lines above that
81906 [Thread-3] INFO com.fs.starfarer.loading.WeaponSpecLoader - Loading projectile [data\weapons\proj\heavyblaster_rem_shot.proj]
81906 [Thread-3] INFO com.fs.starfarer.loading.LoadingUtils - Loading JSON from [DIRECTORY: S:\My Games\Starsector 0.96\starsector-core\..\mods\ Dakkaholics Sprites-1.4 (data\weapons\proj\heavyblaster_rem_shot.proj)]
81924 [Thread-6] INFO com.fs.starfarer.loading.scripts.ScriptStore - Class [data.missions.eis_traitors.MissionDefinition] already loaded (perhaps from jar file, or due to a reference from another class), skipping compilation.
81954 [Thread-6] INFO com.fs.starfarer.loading.scripts.ScriptStore - Class [data.missions.eis_queens.MissionDefinition] already loaded (perhaps from jar file, or due to a reference from another class), skipping compilation.
[code]81957 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain - org.json.JSONException: JSONObject["id"] not found.
We can see that the last thing the game did on the same thread as the crash (Thread-3) was try to load " Dakkaholics Sprites-1.4 (data\weapons\proj\heavyblaster_rem_shot.proj)" and now we know where to look.
edit: Also
1) Locate the starsector.log located in Starsector folder:
Starsector\starsector-core
If the user doesn't have file extensions enabled, it will just appear as "starsector". Images help here, showing how it looks both with and without extensions.
Windows default (no file extensions):
(https://images-ext-2.discordapp.net/external/DcYphkcTRSnaBqOgAfg5yycQaIOFUSmqq_An3vg6CK0/https/i.imgur.com/QWk9Qxk.png)
With file extensions:
(https://images-ext-2.discordapp.net/external/mLvcFZqdsQOV7_SXaDfcgOamAtmTJixik61aEk1cwGI/https/i.imgur.com/Hlfzs7W.png)
Chrashes on loading into game after selecting how much credits and captains i want.
Report
Spoiler
216138 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException
java.lang.NullPointerException
at com.fs.starfarer.combat.entities.terrain.Planet.<init>(Unknown Source)
at com.fs.starfarer.combat.entities.terrain.Planet.<init>(Unknown Source)
at com.fs.starfarer.campaign.CampaignPlanet.<init>(Unknown Source)
at com.fs.starfarer.campaign.CampaignPlanet.<init>(Unknown Source)
at com.fs.starfarer.campaign.BaseLocation.addPlanet(Unknown Source)
at data.scripts.world.systems.HS_Neue_Jangala.generate(HS_Neue_Jangala.java:108)
at data.scripts.world.HyperionGen.generate(HyperionGen.java:67)
at data.scripts.HyperionModPlugin.onNewGame(HyperionModPlugin.java:34)
at com.fs.starfarer.campaign.save.CampaignGameManager.super(Unknown Source)
at com.fs.starfarer.title.TitleScreenState.dialogDismissed(Unknown Source)
at com.fs.starfarer.ui.public.dismiss(Unknown Source)
at com.fs.starfarer.ui.impl.L.dismiss(Unknown Source)
at com.fs.starfarer.campaign.save.J.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.n.buttonPressed(Unknown Source)
at com.fs.starfarer.ui.I.Ò00000(Unknown Source)
at com.fs.starfarer.ui.I.processInput(Unknown Source)
at com.fs.starfarer.ui.W.super(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.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Mods
Spoiler
{"enabledMods": [
"chatter",
"lw_console",
"edshipyard",
"gss",
"GrandColonies",
"hte",
"hyperionsystems",
"IndEvo",
"largerZoomOut",
"lw_lazylib",
"ArkLeg",
"lunalib",
"MagicLib",
"nexerelin",
"portrait_changer",
"scan_those_gates",
"sun_starship_legends",
"scf",
"tahlan",
"shaderLib"
]}
"edit" oh wait is this the right place to post or just the tutorial how to post? "endedit"
"edit2" how do i move it, or can someone move it for me"endedit2"
Hyperspace traveling from Askonia to Valhalla.
No mods.
Spoiler
227956 [Thread-3] INFO com.fs.starfarer.api.impl.campaign.fleets.EconomyFleetRouteManager - Added trade fleet route from Thulian Raider Base to Salamanca
228446 [Thread-3] INFO sound.oo0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOO - Cleaning up music with id [miscallenous_corvus_campaign_music.ogg]
228460 [Thread-7] INFO sound.oo0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOO - Cleaning up music with id [campaign_music_part_2_v28.ogg]
228566 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException
java.lang.NullPointerException
at com.fs.starfarer.api.impl.campaign.intel.bases.PirateBaseIntel.updateStationIfN eeded(PirateBaseIntel.java:486)
at com.fs.starfarer.api.impl.campaign.intel.bases.PirateBaseIntel.checkForTierChan ge(PirateBaseIntel.java:610)
at com.fs.starfarer.api.impl.campaign.intel.bases.PirateBaseIntel.advanceImpl(PirateBaseIntel.java:573)
at com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin.advance(BaseIntelPlugin.java:78)
at com.fs.starfarer.api.impl.campaign.intel.BaseEventManager.advance(BaseEventManager.java:114)
at com.fs.starfarer.api.impl.campaign.intel.bases.PirateBaseManager.advance(PirateBaseManager.java:59)
at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source)
at com.fs.starfarer.campaign.CampaignState.advance(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.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
228926 [Thread-9] INFO sound.oo0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOO - Creating streaming player for music with id [campaign_music_part_2_v28.ogg]
228926 [Thread-9] INFO sound.H - Playing music with id [campaign_music_part_2_v28.ogg]