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):
With file extensions: