mojira.dev
MC-55996

Server: Regular freezing, chunk_loader chewing all CPU

Game freezes for at least 10 seconds, about 3 times in a row, then resumes ok for 5 minutes or so. Only happens in the eastern region of my base. The Shift_F3 screen says Chunk_Loader is chewing all the CPU (and Task manager shows massive CPU usage). It throws an error message, given below, but keeps on chugging after a frustrating delay of 0 FPS. Maybe a bad block somewhere? If so, how can I locate it? Happens both with and without Optifine. I haven't used summon commands or used 3rd party editors to add weird blocks.

Exception in thread "AWT-EventQueue-0" java.lang.InternalError: HTHEME is null
        at sun.awt.windows.ThemeReader.paintBackground(Native Method)
        at sun.awt.windows.ThemeReader.paintBackground(Unknown Source)
        at com.sun.java.swing.plaf.windows.XPStyle$SkinPainter.paintToImage(Unknown Source)
        at sun.swing.CachedPainter.paint0(Unknown Source)
        at sun.swing.CachedPainter.paint(Unknown Source)
        at com.sun.java.swing.plaf.windows.XPStyle$Skin.paintSkinRaw(Unknown Source)
        at com.sun.java.swing.plaf.windows.AnimationController.paintSkin(Unknown Source)
        at com.sun.java.swing.plaf.windows.XPStyle$Skin.paintSkin(Unknown Source)
        at com.sun.java.swing.plaf.windows.XPStyle$Skin.paintSkin(Unknown Source)
        at com.sun.java.swing.plaf.windows.WindowsScrollBarUI.paintTrack(Unknown Source)
        at javax.swing.plaf.basic.BasicScrollBarUI.paint(Unknown Source)
        at javax.swing.plaf.ComponentUI.update(Unknown Source)
        at javax.swing.JComponent.paintComponent(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JLayeredPane.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paintToOffscreen(Unknown Source)
        at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
        at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
        at javax.swing.RepaintManager.paint(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
        at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
        at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
        at java.awt.Container.paint(Unknown Source)
        at java.awt.Window.paint(Unknown Source)
        at javax.swing.RepaintManager$3.run(Unknown Source)
        at javax.swing.RepaintManager$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
        at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.access$1100(Unknown Source)
        at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$200(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

Linked issues

Attachments

Comments 8

What is the error we are looking at, and what caused it?

After experiencing this issue, please force a crash by pressing F3 + C for 10 seconds while in-game and attach the crash report ([minecraft/crash-reports/crash-<DATE>-client.txt|http://hopper.minecraft.net/help/finding-minecraft-data-folder]) here. Do this with only a pure vanilla setup - no optifine, no resource packs, etc.

and after having this issue please attach the complete output of the "Development console" which can be found on the second tab of the launcher.

That is a LOT of minecarts you have in the area, those could easily be causing a significant amount of lag by themselves. Given that this issue is localized to that area, I would strongly suspect that. Try making a backup of your world and removing most of those minecarts and see if the issue clears up.

You can also try increasing the amount of memory if you have enough although that may not help the issue either (and may cause others).

Your Java is also quite out of date and should be updated to 1.7.0_55 (manually since it is 64 bit) but that may not have a huge impact on performance.

If it was the minecarts, I would be expecting several things that aren't present:

#1 Lag in the chunks they are in. Doesn't happen. It's weird, there's a definite boundary where I get this issue, and that boundary is at the edge of my dense automation zone (spawn chunks). That is, I can be just one chunk away from 'error zone', still surrounded by automation, and have no issues.

#2: A gradual increase in lag time as I added the minecarts over time. Didn't happen. Just one day this was a none issue, the next day, a major issue out of nowhere with no special activities or events the day before.

Memory: Already doubled it from my previous usage. It claims to have allocated just 33% of the memory I have given it.

Java: oh! Thanks for the heads up, I will do so.

Updated Java, some interesting updates. #1: Server still threw the same none-crash error as first reported BEFORE I had logged in. #2: Client locked after loading a few blocks (not chunks) the first few times, seems ok now. (I am not in the spawn chunks at the moment, indeed, outside the regular 'error zone').

The Null HTHEME error was probably due to my configuring Game Booster to kill the Windows themes service. I reconfigured it, that error seems to have gone away. I have slashed the storage minecarts, killed the Iron Foundry chained village iron farm and reduced some automation, but the problem is still occurring.
The client log contains entries like this:

[19:00:01] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:none
...
[19:17:48] [Client thread/WARN]: Something's taking too long! 'root.tick.level.chunkCache.recheckGaps' took aprox 594.549324 ms

Resolved. See MC-56177 - Massive lag induced by carts on players lazy chunk fringe.

Stephen R Hudson

(Unassigned)

Unconfirmed

Minecraft 1.7.9

Retrieved