Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Simulator Enhancements (03/13/24)

Author Topic: GC overhead limit exceeded crash(solved)  (Read 3799 times)

samsaq

  • Ensign
  • *
  • Posts: 40
    • View Profile
GC overhead limit exceeded crash(solved)
« 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. ???
« Last Edit: April 28, 2016, 04:24:29 PM by samsaq »
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23988
    • View Profile
Re: GC overhead limit exceeded crash
« Reply #1 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.
Logged

Dark.Revenant

  • Admiral
  • *****
  • Posts: 2806
    • View Profile
    • Sc2Mafia
Re: GC overhead limit exceeded crash
« Reply #2 on: April 27, 2016, 11:31:26 PM »

samsaq, you're running the game from the launcher, correct?  vmparams has the higher memory allocation?
Logged

samsaq

  • Ensign
  • *
  • Posts: 40
    • View Profile
Re: GC overhead limit exceeded crash
« Reply #3 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
Logged