Is it possible that this bug is from modifying settings.json? I changed up a few values from there a while ago.
Mods:
Arsenal expansion 1.4 (new)
autosave
combat chatter
common radar
console commands
disassembleReassemble_v0.6 (new)
dynasector
graphicslib
lazylib
nexerelin
officership program (a console command, this might cause the crash, idk)
ship and weapon pack
unknownSkies
usable [redacted]
I've had this bug for a while, that SS hangs during the campaign for no reason or during saving.
It keeps looping like this for a while:
711894 [Thread-12] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Saving progress: 0.3528414
711903 [Thread-4] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Error saving game
711911 [Thread-12] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Saving progress: 0.3528414
711927 [Thread-12] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Saving progress: 0.3528414
711944 [Thread-12] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Saving progress: 0.3528414
711961 [Thread-12] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Saving progress: 0.3528414
711977 [Thread-12] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Saving progress: 0.3528414
711994 [Thread-12] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Saving progress: 0.3528414
712010 [Thread-12] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Saving progress: 0.3528414
712027 [Thread-12] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Saving progress: 0.3528414
712033 [Thread-4] ERROR com.fs.starfarer.campaign.save.CampaignGameManager -
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
at java.util.HashMap$EntryIterator.next(Unknown Source)
at java.util.HashMap$EntryIterator.next(Unknown Source)
at com.thoughtworks.xstream.converters.collections.MapConverter.marshal(MapConverter.java:75)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshallField(AbstractReflectionConverter.java:256)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.writeField(AbstractReflectionConverter.java:232)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.<init>(AbstractReflectionConverter.java:195)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:141)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:89)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshallField(AbstractReflectionConverter.java:256)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.writeField(AbstractReflectionConverter.java:232)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.<init>(AbstractReflectionConverter.java:195)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:141)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:89)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshallField(AbstractReflectionConverter.java:256)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.writeField(AbstractReflectionConverter.java:232)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.<init>(AbstractReflectionConverter.java:195)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:141)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:89)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:74)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
Then it says a lot of these:
740648 [Thread-12] INFO com.fs.starfarer.campaign.save.CampaignGameManager - Saving progress: 0.0