Java 7, bukkit, and the experimental GC

Discussion in 'Bukkit Help' started by Incendia, Mar 13, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    Incendia

    So, when I run my server like this:

    Code:
    java -server -Xms8192M -Xmx8192M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:parallelGCThreads=6 -XX:+AggressiveOpts -jar $SERVER_FILE nogui
    It works fine, but if I run it like this:

    Code:
    java -server -Xms8192M -Xmx8192M -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -jar $SERVER_FILE nogui
    I get crap like this:

    Code:
    13:03:55 [INFO] Loaded world: world
    13:03:55 [SEVERE] java.lang.NullPointerException
    13:03:55 [SEVERE]       at net.minecraft.server.World.h(World.java:1468)
    13:03:55 [SEVERE]       at net.minecraft.server.World.g(World.java:1434)
    13:03:55 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:348)
    13:03:55 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    13:03:55 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    13:03:55 [SEVERE] Unexpected exception
    java.lang.NullPointerException
            at net.minecraft.server.World.h(World.java:1468)
            at net.minecraft.server.World.g(World.java:1434)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:348)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    
    http://pastie.org/1667332

    if I try to make a new world, it generates one, then as soon as someone comes in, errors with ^ error, and when the server is restarted generates again.

    Any idea why the experimental GC would cause that?
     
  2. Are you using tmpfs?
     
  3. Offline

    Incendia

    Yea, server runs on a ramdisk, why? I haven't touched any swap as of yet.
     
  4. I have been experimenting with JVM/GC settings for months now. And recently I have noticed the same issue you just posted in this combination only:

    - tmpfs
    - Java 7
    - G1GC

    Not using tmpfs solves the issue, so does using Java 7 without G1GC. Very odd, but G1GC does some very fancy things, and it's far from the first application-level issue I have seen with it..
     
  5. Offline

    Incendia

    Ah, darn, I was hoping to get some lower mem usage with mc :/
    Not using my ramdisk isn't really an option
     
  6. Well then I suggest dropping G1GC, for us, G1GC is actually giving less performance with MC 1.3, even though it did better with 1.2
     
  7. Offline

    Incendia

    Aye, the first line is what I'm using anyway (like I said, the second doesn't work at all).
    If you've got any tips on what I could add/remove to the first string then feel free :3
    [MERGETIME="1300077821"][/MERGETIME]
    Heh, it doesn't like a standard disk either. Oh well, abandoning that.
     
  8. It worked fine in 1.2, but I also used it for a while in 1.3, so I am not sure what's happening. It could be that any 1.3 map which has been used by non-G1GC, can no longer use G1GC, how ridiculous it may sound <_<

    Hmm did you test on 132+ ?

    Seems 131 does not have this issue :eek:

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 12, 2016
  9. Offline

    Incendia

    Say again? 131? 132?
     
  10. Offline

    mutiny

    been tryin g1gc with java7, pauses are extremely fast, however it behaves oddly, not sure if i am going to stay with it
     
Thread Status:
Not open for further replies.

Share This Page