robertjanetzko / LegendsBrowser

Legends Browser is an multi-platform, open source, java-based legends viewer for dwarf fortress 0.42.
MIT License
63 stars 19 forks source link

Out of memory error #1

Closed whachoe closed 8 years ago

whachoe commented 8 years ago

Hi,

I get an out-of-memory error with the latest version, running on the attached legends-export. OS: Windows 10 df: 0.42.04 java -version java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b18) Java HotSpot(TM) Client VM (build 25.66-b18, mixed mode, sharing)

region3-00258-07-01-legends.zip

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Thread-213" Exception in thread "Thread-20" java.lang.OutOfMemoryError: Java heap space at java.util.HashMap.newNode(Unknown Source) at java.util.HashMap.merge(Unknown Source) at java.util.stream.Collectors.lambda$toMap$172(Unknown Source) at java.util.stream.Collectors$$Lambda$49/24700072.accept(Unknown Source) at java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) at java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) at java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.util.stream.ReferencePipeline.collect(Unknown Source) at legends.model.World.setHistoricalEvents(World.java:311) at legends.xml.WorldContentHandler$$Lambda$37/6657591.accept(Unknown Source) at legends.xml.handlers.ListContentHandler.popContentHandler(ListContentHandler.java:48) at legends.xml.handlers.XMLContentHandler.endElement(XMLContentHandler.java:96) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at legends.LegendsReader.read(LegendsReader.java:33) at legends.model.World$1.run(World.java:481)

robertjanetzko commented 8 years ago

i will have a look at it.

in the meantime you can increase the memory assignment by placing that file next to your .exe make sure it has the same name without ".exe" but ".l4j.ini" instead. You can change the parameter inside to set the amount of memory. (e.g. -Xmx2G or -Xmx1024M)

LegendsBrowser-1.0.7.l4j.ini.zip

robertjanetzko commented 8 years ago

the next release will be able to open the file. it needs about 700MB of free memory.

ps. it would be nice if you could send me your complete world save. it contains several events and data that I would like to add to the legends browser.

whachoe commented 8 years ago

Thanks! Your workaround -Xmx1024M did the trick as well.

I uploaded my save-folder to DFFD