Fractal Softworks Forum

Starsector => Bug Reports & Support => Bug Reports & Support (modded) => Topic started by: samsaq on April 27, 2016, 06:06:33 PM

Title: GC overhead limit exceeded crash(solved)
Post by: samsaq on April 27, 2016, 06:06:33 PM
I've been having this issue off and on for a while, and it has gotten much worse since I got my 7.2a version of starsector modded. The game stutters while saving, with music resuming, freezing, resuming, freezing, and so on, until it either crashes or saves the game (it usually only lets me save once or twice after I create a new game)

Crash log for the latest crash below:

6596154 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain  - java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
   at java.nio.CharBuffer.wrap(Unknown Source)
   at sun.nio.cs.StreamEncoder.implWrite(Unknown Source)
   at sun.nio.cs.StreamEncoder.write(Unknown Source)
   at sun.nio.cs.StreamEncoder.write(Unknown Source)
   at java.io.OutputStreamWriter.write(Unknown Source)
   at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeEndElement(Unknown Source)
   at com.sun.xml.internal.txw2.output.DelegatingXMLStreamWriter.writeEndElement(Unknown Source)
   at com.sun.xml.internal.txw2.output.IndentingXMLStreamWriter.writeEndElement(Unknown Source)
   at com.thoughtworks.xstream.io.xml.StaxWriter.endNode(StaxWriter.java:147)
   at com.thoughtworks.xstream.io.WriterWrapper.endNode(WriterWrapper.java:37)
   at com.thoughtworks.xstream.io.path.PathTrackingWriter.endNode(PathTrackingWriter.java:48)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.writeField(AbstractReflectionConverter.java:234)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.<init>(AbstractReflectionConverter.java:195)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMa rshal(AbstractReflectionConverter.java:141)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.mars hal(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.wri teItem(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)
   at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.mars hallField(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.doMa rshal(AbstractReflectionConverter.java:141)
   at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.mars hal(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)

The 2+ ram allocation fix is something I already have installed, and I can confirm that it works, with the allocated 8 gigs of ram, as I had to install it for my modded game to launch.
Any ideas as to why this is happening? I use nexrelin and all compatible faction mods, but this has already occurred off and on in 6.2a and my non-nexrelin 7.2a, and I would rather like being able to play the game modded. ???
Title: Re: GC overhead limit exceeded crash
Post by: Alex on April 27, 2016, 09:26:37 PM
If you can only save once or twice and this consistently happens after that, my best guess is a memory leak in either Nexerelin or one of the other mods. If it took longer to get to that point, it might be something like the number of entities in the game increasing as time goes on (which would be another problem), but since it happens this quickly and reliably, that seems to point to a major leak.
Title: Re: GC overhead limit exceeded crash
Post by: Dark.Revenant on April 27, 2016, 11:31:26 PM
samsaq, you're running the game from the launcher, correct?  vmparams has the higher memory allocation?
Title: Re: GC overhead limit exceeded crash
Post by: samsaq on April 28, 2016, 04:24:18 PM
Its ok now I managed to fix he issue, for some reason my vprams was not updating when I saved it, I had to copy it to another place change it, then replace the file in the directory, no idea why this save issue happend, but that issue is over now