ata4 / disunity

An experimental toolset for Unity asset and asset bundle files.
The Unlicense
2.69k stars 662 forks source link

Java: OutOfMemoryError; java heap space. Memory leak? #144

Open SoftwareGuy opened 8 years ago

SoftwareGuy commented 8 years ago

Sometimes when extracting everything from an .assets file, I get this:

    [error] DisUnityCli: Fatal error, caused by java.lang.OutOfMemoryError: Java heap space
    at java.util.ArrayList.<init>(Unknown Source)
    at info.ata4.unity.serdes.Deserializer.readArray(Deserializer.java:238)
    at info.ata4.unity.serdes.Deserializer.readCollection(Deserializer.java:250)
    at info.ata4.unity.serdes.Deserializer.readValue(Deserializer.java:126)
    at info.ata4.unity.serdes.Deserializer.readObject(Deserializer.java:95)
    at info.ata4.unity.serdes.Deserializer.deserialize(Deserializer.java:72)

    at info.ata4.unity.cli.extract.AssetExtractor.extract(AssetExtractor.java:160)
    at info.ata4.unity.cli.cmd.ExtractCmd.processAsset(ExtractCmd.java:43)
    at info.ata4.unity.cli.cmd.AssetCommand.processAssetFile(AssetCommand.java:100)
    at info.ata4.unity.cli.cmd.AssetCommand.processFile(AssetCommand.java:90)
    at info.ata4.unity.cli.cmd.FileCommand.processPath(FileCommand.java:58)
    at info.ata4.unity.cli.cmd.FileCommand.run(FileCommand.java:76)
    at info.ata4.unity.cli.DisUnityCli.run(DisUnityCli.java:110)
    at info.ata4.unity.cli.DisUnityCli.main(DisUnityCli.java:123)

It seems that increasing the heap size has no effect, I've given java 2GB of memory and it still throws out of memory. So I think it may have a memory leak somewhere and thus causes itself to break.

Other smaller asset files are OK. Just seems to bail out decoding big TGA files. Using version 0.3.4.

ghost commented 8 years ago

Have some issue!