webbukkit / dynmap

A set of Minecraft mods that provide a real time web-based map system for various Minecraft server implementations.
https://www.reddit.com/r/Dynmap/
Apache License 2.0
2.06k stars 420 forks source link

Memory leak with Dynmap 1.5 (Bukkit) when used with MCPC+ 1.4.7-R1.1 b245 and FTB/Ultimate 1.01 #1191

Closed WebMaka closed 11 years ago

WebMaka commented 11 years ago

Greetings Dynmap crew!

I'm running a test server to make sure all is well on Feed The Beast, Ultimate 1.01 running on MCPC+ 1.4.7-R1.1 build 245, and discovered a memory leak that ultimately crashes out the server with "out of heap space" errors. Removing only Dynmap (by adding ".disabled" to the filename so MCPC won't "see" it) resolved the issue, so it was pretty easy to narrow down.

Here's how MCPC reported its shutdown after its deadlock detector fired...

2013-03-13 18:26:59 [INFO] Stopping server 2013-03-13 18:26:12 [SEVERE] The server has stopped responding! 2013-03-13 18:29:02 [SEVERE] Please report this to http://www.mcportcentral.co.za/ 2013-03-13 18:28:43 [INFO] [EssentialsAntiBuild] Disabling EssentialsAntiBuild v2.10.1 2013-03-13 18:29:48 [SEVERE] Spigot version: 1.4.7-R1.1-SNAPSHOT 2013-03-13 18:29:48 [SEVERE] Begin Exception Trace For All Threads: 2013-03-13 18:29:41 [SEVERE] Exception in thread "Spigot Metrics Gatheri 2013-03-13 18:29:52 [SEVERE] ng Thread" Exception in thread "Listen thread" 2013-03-13 18:30:00 [SEVERE] Exception in thread "Immibis Core background task" 2013-03-13 18:30:00 [SEVERE] java.lang.OutOfMemoryError: Java heap space 2013-03-13 18:30:00 [SEVERE] java.lang.OutOfMemoryError: Java heap space 2013-03-13 18:30:03 [INFO] [EssentialsSpawn] Disabling EssentialsSpawn v2.10.1 2013-03-13 18:30:03 [INFO] [EssentialsChat] Disabling EssentialsChat v2.10.1 2013-03-13 18:30:24 [SEVERE] ------------------------------ 2013-03-13 18:30:41 [SEVERE] Current Thread: Server thread 2013-03-13 18:30:41 [SEVERE] PID: 18 | Alive: true | State: RUNNABLE 2013-03-13 18:30:45 [SEVERE] Stack: 2013-03-13 18:30:51 [INFO] [dynmap] Disabling dynmap v1.5-612 2013-03-13 18:31:09 [SEVERE] java.util.LinkedHashMap.createEntry(LinkedHashMap.java:421) 2013-03-13 18:31:12 [SEVERE] java.util.LinkedHashMap.addEntry(LinkedHashMap.java:403) 2013-03-13 18:31:12 [SEVERE] java.util.HashMap.put(HashMap.java:412) 2013-03-13 18:31:12 [SEVERE] org.anjocaido.groupmanager.permissions.BukkitPermissions.collectPermissions(Unknown Source) 2013-03-13 18:31:12 [SEVERE] org.anjocaido.groupmanager.permissions.BukkitPermissions$BukkitEvents.onPluginDisable(Unknown Source) 2013-03-13 18:31:12 [SEVERE] sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2013-03-13 18:31:12 [SEVERE] sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 2013-03-13 18:31:12 [SEVERE] sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2013-03-13 18:31:12 [SEVERE] java.lang.reflect.Method.invoke(Unknown Source) 2013-03-13 18:31:12 [SEVERE] org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:361) 2013-03-13 18:31:12 [SEVERE] org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 2013-03-13 18:31:12 [SEVERE] org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) 2013-03-13 18:31:12 [SEVERE] org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) 2013-03-13 18:31:12 [SEVERE] org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:416) 2013-03-13 18:31:12 [SEVERE] org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:400) 2013-03-13 18:31:12 [SEVERE] org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:393) 2013-03-13 18:31:12 [SEVERE] org.bukkit.craftbukkit.v1_4_R1.CraftServer.disablePlugins(CraftServer.java:286) 2013-03-13 18:31:12 [SEVERE] net.minecraft.server.MinecraftServer.k(MinecraftServer.java:641) 2013-03-13 18:31:12 [SEVERE] net.minecraft.server.MinecraftServer.run(MinecraftServer.java:799) 2013-03-13 18:31:12 [SEVERE] fy.run(ThreadMinecraftServer.java:16) 2013-03-13 18:31:12 [SEVERE] ------------------------------ 2013-03-13 18:31:12 [SEVERE] Current Thread: pool-4-thread-1 Selector0 2013-03-13 18:31:12 [SEVERE] PID: 53 | Alive: true | State: RUNNABLE 2013-03-13 18:31:12 [SEVERE] Stack: 2013-03-13 18:31:12 [SEVERE] sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method) 2013-03-13 18:31:16 [SEVERE] sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(Unknown Source) 2013-03-13 18:31:20 [SEVERE] sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(Unknown Source) 2013-03-13 18:31:20 [SEVERE] sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source) 2013-03-13 18:31:20 [SEVERE] sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source) 2013-03-13 18:31:20 [SEVERE] sun.nio.ch.SelectorImpl.select(Unknown Source) 2013-03-13 18:31:20 [SEVERE] org.dynmap.jetty.io.nio.SelectorManager$SelectSet.doSelect(Unknown Source) 2013-03-13 18:31:20 [SEVERE] org.dynmap.jetty.io.nio.SelectorManager$1.run(Unknown Source) 2013-03-13 18:31:20 [SEVERE] java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 2013-03-13 18:31:20 [SEVERE] java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 2013-03-13 18:31:20 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:31:20 [SEVERE] ------------------------------ 2013-03-13 18:31:20 [SEVERE] Current Thread: RMI TCP Accept-0 2013-03-13 18:31:20 [SEVERE] PID: 11 | Alive: true | State: RUNNABLE 2013-03-13 18:31:20 [SEVERE] Stack: 2013-03-13 18:31:20 [SEVERE] java.net.DualStackPlainSocketImpl.accept0(Native Method) 2013-03-13 18:31:20 [SEVERE] java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source) 2013-03-13 18:31:20 [SEVERE] java.net.AbstractPlainSocketImpl.accept(Unknown Source) 2013-03-13 18:31:20 [SEVERE] java.net.PlainSocketImpl.accept(Unknown Source) 2013-03-13 18:31:20 [SEVERE] java.net.ServerSocket.implAccept(Unknown Source) 2013-03-13 18:31:37 [SEVERE] java.net.ServerSocket.accept(Unknown Source) 2013-03-13 18:31:37 [SEVERE] sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(Unknown Source) 2013-03-13 18:31:40 [SEVERE] sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(Unknown Source) 2013-03-13 18:32:03 [SEVERE] Error occurred while disabling dynmap v1.5-612 (Is it up to date?) java.lang.NoClassDefFoundError: org/dynmap/snakeyaml/serializer/Serializer at org.dynmap.snakeyaml.Yaml.dumpAll(Unknown Source) at org.dynmap.snakeyaml.Yaml.dumpAll(Unknown Source) at org.dynmap.snakeyaml.Yaml.dump(Unknown Source) at org.dynmap.ConfigurationNode.save(Unknown Source) at org.dynmap.DynmapCore.saveIDsByIP(Unknown Source) at org.dynmap.DynmapCore.disableCore(Unknown Source) at org.dynmap.bukkit.DynmapPlugin.onDisable(Unknown Source) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:219) at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:422) at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:400) at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:393) at org.bukkit.craftbukkit.v1_4_R1.CraftServer.disablePlugins(CraftServer.java:286) at net.minecraft.server.MinecraftServer.k(MinecraftServer.java:641) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:799) at fy.run(ThreadMinecraftServer.java:16) Caused by: java.lang.ClassNotFoundException: Failed to remap class org.dynmap.snakeyaml.serializer.Serializer at org.bukkit.plugin.java.PluginClassLoader.remappedFindClass(PluginClassLoader.java:344) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:265) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:243) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 15 more Caused by: java.lang.OutOfMemoryError: Java heap space 2013-03-13 18:32:09 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:32:59 [SEVERE] ------------------------------ 2013-03-13 18:32:59 [INFO] [Essentials] Disabling Essentials v2.10.1 2013-03-13 18:33:04 [SEVERE] Current Thread: RMI TCP Accept-12323 2013-03-13 18:33:21 [SEVERE] PID: 12 | Alive: true | State: RUNNABLE 2013-03-13 18:33:21 [SEVERE] Stack: 2013-03-13 18:33:21 [SEVERE] java.net.DualStackPlainSocketImpl.accept0(Native Method) 2013-03-13 18:33:21 [SEVERE] java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source) 2013-03-13 18:33:21 [SEVERE] java.net.AbstractPlainSocketImpl.accept(Unknown Source) 2013-03-13 18:33:21 [SEVERE] java.net.PlainSocketImpl.accept(Unknown Source) 2013-03-13 18:33:21 [SEVERE] java.net.ServerSocket.implAccept(Unknown Source) 2013-03-13 18:33:21 [SEVERE] java.net.ServerSocket.accept(Unknown Source) 2013-03-13 18:33:21 [SEVERE] sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(Unknown Source) 2013-03-13 18:33:21 [SEVERE] sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(Unknown Source) 2013-03-13 18:33:21 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:33:21 [SEVERE] ------------------------------ 2013-03-13 18:33:21 [SEVERE] Current Thread: Signal Dispatcher 2013-03-13 18:33:21 [SEVERE] PID: 5 | Alive: true | State: RUNNABLE 2013-03-13 18:33:21 [SEVERE] Stack: 2013-03-13 18:33:21 [SEVERE] ------------------------------ 2013-03-13 18:33:21 [SEVERE] Current Thread: DestroyJavaVM 2013-03-13 18:33:21 [SEVERE] PID: 20 | Alive: true | State: RUNNABLE 2013-03-13 18:33:21 [SEVERE] Stack: 2013-03-13 18:33:21 [SEVERE] ------------------------------ 2013-03-13 18:33:21 [SEVERE] Current Thread: Dynmap Render Thread 2013-03-13 18:33:21 [SEVERE] PID: 48 | Alive: true | State: RUNNABLE 2013-03-13 18:33:21 [SEVERE] Stack: 2013-03-13 18:33:21 [SEVERE] sun.misc.Unsafe.park(Native Method) 2013-03-13 18:33:25 [SEVERE] java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) 2013-03-13 18:33:25 [SEVERE] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) 2013-03-13 18:33:25 [SEVERE] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) 2013-03-13 18:33:25 [SEVERE] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) 2013-03-13 18:33:30 [INFO] [Permissions] Disabling Permissions v3.1.6 2013-03-13 18:33:30 [SEVERE] java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) 2013-03-13 18:33:33 [SEVERE] java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 2013-03-13 18:33:33 [SEVERE] java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 2013-03-13 18:33:33 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:33:33 [SEVERE] ------------------------------ 2013-03-13 18:33:33 [INFO] WEPIF: GroupManager detected! Using GroupManager for permissions. 2013-03-13 18:33:33 [SEVERE] Current Thread: File IO Thread 2013-03-13 18:33:33 [INFO] Fake Permissions version 3.1.6 is disabled! 2013-03-13 18:33:33 [SEVERE] PID: 69 | Alive: true | State: RUNNABLE 2013-03-13 18:33:33 [SEVERE] Stack: 2013-03-13 18:33:33 [SEVERE] java.util.zip.DeflaterOutputStream.write(Unknown Source) 2013-03-13 18:33:33 [SEVERE] java.io.DataOutputStream.writeByte(Unknown Source) 2013-03-13 18:33:33 [SEVERE] cd.a(NBTBase.java:107) 2013-03-13 18:33:37 [INFO] [WorldEdit] Disabling WorldEdit v1372-48c3c3e 2013-03-13 18:33:38 [SEVERE] bq.a(NBTTagCompound.java:41) 2013-03-13 18:33:43 [SEVERE] by.a(NBTTagList.java:51) 2013-03-13 18:33:50 [SEVERE] cd.a(NBTBase.java:112) 2013-03-13 18:33:50 [SEVERE] bq.a(NBTTagCompound.java:41) 2013-03-13 18:33:50 [SEVERE] cd.a(NBTBase.java:112) 2013-03-13 18:33:50 [SEVERE] bq.a(NBTTagCompound.java:41) 2013-03-13 18:33:50 [SEVERE] cd.a(NBTBase.java:112) 2013-03-13 18:33:50 [SEVERE] ca.a(CompressedStreamTools.java:140) 2013-03-13 18:33:50 [SEVERE] aam.a(AnvilChunkLoader.java:274) 2013-03-13 18:33:50 [SEVERE] aam.c(AnvilChunkLoader.java:260) 2013-03-13 18:33:50 [SEVERE] aiw.b(ThreadedFileIOBase.java:39) 2013-03-13 18:33:50 [SEVERE] aiw.run(ThreadedFileIOBase.java:27) 2013-03-13 18:33:50 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:33:50 [SEVERE] ------------------------------ 2013-03-13 18:33:50 [SEVERE] Current Thread: RMI TCP Accept-0 2013-03-13 18:33:50 [SEVERE] PID: 13 | Alive: true | State: RUNNABLE 2013-03-13 18:33:50 [SEVERE] Stack: 2013-03-13 18:33:50 [SEVERE] java.net.DualStackPlainSocketImpl.accept0(Native Method) 2013-03-13 18:33:50 [SEVERE] java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source) 2013-03-13 18:33:50 [SEVERE] java.net.AbstractPlainSocketImpl.accept(Unknown Source) 2013-03-13 18:33:50 [SEVERE] java.net.PlainSocketImpl.accept(Unknown Source) 2013-03-13 18:33:50 [SEVERE] java.net.ServerSocket.implAccept(Unknown Source) 2013-03-13 18:33:50 [SEVERE] java.net.ServerSocket.accept(Unknown Source) 2013-03-13 18:33:50 [INFO] [GroupManager] Disabling GroupManager v2.0 (2.10.1) (Phoenix) 2013-03-13 18:33:50 [SEVERE] sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(Unknown Source) 2013-03-13 18:33:50 [SEVERE] sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(Unknown Source) 2013-03-13 18:33:50 [SEVERE] sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(Unknown Source) 2013-03-13 18:33:50 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:33:50 [SEVERE] ------------------------------ 2013-03-13 18:33:50 [SEVERE] Current Thread: Attach Listener 2013-03-13 18:33:50 [SEVERE] PID: 6 | Alive: true | State: RUNNABLE 2013-03-13 18:33:50 [SEVERE] Stack: 2013-03-13 18:33:50 [SEVERE] ------------------------------ 2013-03-13 18:33:50 [SEVERE] Current Thread: pool-2-thread-1 2013-03-13 18:33:50 [SEVERE] PID: 44 | Alive: true | State: TIMED_WAITING 2013-03-13 18:33:50 [SEVERE] Stack: 2013-03-13 18:33:50 [SEVERE] sun.misc.Unsafe.park(Native Method) 2013-03-13 18:33:50 [SEVERE] java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) 2013-03-13 18:33:50 [SEVERE] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) 2013-03-13 18:33:54 [SEVERE] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) 2013-03-13 18:33:54 [SEVERE] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) 2013-03-13 18:33:54 [INFO] GroupManager version 2.0 (2.10.1) (Phoenix) is disabled! 2013-03-13 18:33:54 [SEVERE] java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) 2013-03-13 18:33:54 [SEVERE] java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 2013-03-13 18:33:54 [SEVERE] java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 2013-03-13 18:33:54 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:33:54 [SEVERE] ------------------------------ 2013-03-13 18:33:54 [SEVERE] Current Thread: Snooper Timer 2013-03-13 18:33:54 [SEVERE] PID: 15 | Alive: true | State: TIMED_WAITING 2013-03-13 18:33:54 [SEVERE] Stack: 2013-03-13 18:33:54 [SEVERE] java.lang.Object.wait(Native Method) 2013-03-13 18:33:54 [SEVERE] java.util.TimerThread.mainLoop(Unknown Source) 2013-03-13 18:33:54 [SEVERE] java.util.TimerThread.run(Unknown Source) 2013-03-13 18:33:54 [SEVERE] ------------------------------ 2013-03-13 18:33:54 [INFO] [PerformanceMonitor] Disabling PerformanceMonitor v1.7.0 2013-03-13 18:33:54 [SEVERE] Current Thread: Thread-5 2013-03-13 18:33:54 [SEVERE] PID: 19 | Alive: true | State: TIMED_WAITING 2013-03-13 18:33:54 [INFO] [PerformanceMonitor 1.7.0] Plugin disabled! 2013-03-13 18:33:54 [SEVERE] Stack: 2013-03-13 18:33:54 [SEVERE] java.lang.Thread.sleep(Native Method) 2013-03-13 18:33:54 [SEVERE] hp.run(DedicatedServerSleepThread.java:23) 2013-03-13 18:33:54 [SEVERE] ------------------------------ 2013-03-13 18:33:54 [SEVERE] Current Thread: pool-4-thread-4 2013-03-13 18:33:54 [SEVERE] PID: 80 | Alive: true | State: TIMED_WAITING 2013-03-13 18:33:54 [SEVERE] Stack: 2013-03-13 18:33:54 [SEVERE] java.util.Arrays.copyOfRange(Unknown Source) 2013-03-13 18:33:54 [SEVERE] java.lang.String.(Unknown Source) 2013-03-13 18:33:54 [SEVERE] java.lang.String.substring(Unknown Source) 2013-03-13 18:33:54 [SEVERE] org.dynmap.web.HandlerRouter.handle(Unknown Source) 2013-03-13 18:33:54 [SEVERE] org.dynmap.web.FilterHandler$1.doFilter(Unknown Source) 2013-03-13 18:33:55 [SEVERE] org.dynmap.web.CustomHeaderFilter.doFilter(Unknown Source) 2013-03-13 18:33:55 [SEVERE] org.dynmap.web.FilterHandler$1.doFilter(Unknown Source) 2013-03-13 18:33:55 [INFO] Saving players 2013-03-13 18:33:59 [SEVERE] org.dynmap.web.BanIPFilter.doFilter(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.web.FilterHandler$1.doFilter(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.web.FilterHandler.handle(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.server.handler.HandlerList.handle(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.server.handler.HandlerWrapper.handle(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.server.Server.handle(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.server.AbstractHttpConnection.handleRequest(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.server.AbstractHttpConnection.headerComplete(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.http.HttpParser.parseNext(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.http.HttpParser.parseAvailable(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.server.AsyncHttpConnection.handle(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.io.nio.SelectChannelEndPoint.handle(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.io.nio.SelectChannelEndPoint$1.run(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:33:59 [SEVERE] ------------------------------ 2013-03-13 18:33:59 [SEVERE] Current Thread: pool-4-thread-6 2013-03-13 18:33:59 [SEVERE] PID: 82 | Alive: true | State: RUNNABLE 2013-03-13 18:33:59 [SEVERE] Stack: 2013-03-13 18:33:59 [SEVERE] sun.misc.Unsafe.park(Native Method) 2013-03-13 18:33:59 [SEVERE] java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.util.concurrent.LinkedBlockingQueue.poll(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:33:59 [SEVERE] ------------------------------ 2013-03-13 18:33:59 [SEVERE] Current Thread: Immibis Core background task 2013-03-13 18:33:59 [SEVERE] PID: 22 | Alive: false | State: TERMINATED 2013-03-13 18:33:59 [SEVERE] Stack: 2013-03-13 18:33:59 [SEVERE] java.io.PrintStream.write(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.io.PrintStream.print(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.lang.ThreadGroup.uncaughtException(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.lang.ThreadGroup.uncaughtException(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.lang.Thread.dispatchUncaughtException(Unknown Source) 2013-03-13 18:33:59 [SEVERE] ------------------------------ 2013-03-13 18:33:59 [SEVERE] Current Thread: Thread-11 2013-03-13 18:33:59 [SEVERE] PID: 29 | Alive: true | State: TIMED_WAITING 2013-03-13 18:33:59 [SEVERE] Stack: 2013-03-13 18:33:59 [SEVERE] java.lang.Thread.sleep(Native Method) 2013-03-13 18:33:59 [SEVERE] appeng.common.VersionChecker.run(VersionChecker.java:37) 2013-03-13 18:33:59 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:33:59 [SEVERE] ------------------------------ 2013-03-13 18:33:59 [SEVERE] Current Thread: Spigot Watchdog Thread 2013-03-13 18:33:59 [SEVERE] PID: 35 | Alive: true | State: RUNNABLE 2013-03-13 18:33:59 [SEVERE] Stack: 2013-03-13 18:33:59 [SEVERE] java.lang.Thread.dumpThreads(Native Method) 2013-03-13 18:33:59 [SEVERE] java.lang.Thread.getAllStackTraces(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.bukkit.craftbukkit.v1_4_R1.util.WatchdogThread.run(WatchdogThread.java:60) 2013-03-13 18:33:59 [SEVERE] ------------------------------ 2013-03-13 18:33:59 [SEVERE] Current Thread: pool-4-thread-2 Acceptor0 SelectChannelConnector@0.0.0.0:8125 2013-03-13 18:33:59 [SEVERE] PID: 54 | Alive: true | State: RUNNABLE 2013-03-13 18:33:59 [SEVERE] Stack: 2013-03-13 18:33:59 [SEVERE] sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) 2013-03-13 18:33:59 [SEVERE] sun.nio.ch.ServerSocketChannelImpl.accept(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.server.nio.SelectChannelConnector.accept(Unknown Source) 2013-03-13 18:33:59 [SEVERE] org.dynmap.jetty.server.AbstractConnector$Acceptor.run(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:33:59 [SEVERE] ------------------------------ 2013-03-13 18:33:59 [SEVERE] Current Thread: Thread-6 2013-03-13 18:33:59 [SEVERE] PID: 21 | Alive: true | State: RUNNABLE 2013-03-13 18:33:59 [SEVERE] Stack: 2013-03-13 18:33:59 [SEVERE] java.io.FileInputStream.readBytes(Native Method) 2013-03-13 18:33:59 [SEVERE] java.io.FileInputStream.read(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.io.BufferedInputStream.fill(Unknown Source) 2013-03-13 18:33:59 [SEVERE] java.io.BufferedInputStream.read(Unknown Source) 2013-03-13 18:34:03 [SEVERE] java.io.FilterInputStream.read(Unknown Source) 2013-03-13 18:34:03 [SEVERE] org.bukkit.craftbukkit.libs.jline.console.ConsoleReader$1.read(ConsoleReader.java:167) 2013-03-13 18:34:03 [SEVERE] org.bukkit.craftbukkit.libs.jline.internal.InputStreamReader.read(InputStreamReader.java:267) 2013-03-13 18:34:03 [SEVERE] org.bukkit.craftbukkit.libs.jline.internal.InputStreamReader.read(InputStreamReader.java:204) 2013-03-13 18:34:03 [INFO] Unloading Player: Xathras420 2013-03-13 18:34:03 [SEVERE] org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readCharacter(ConsoleReader.java:995) 2013-03-13 18:34:03 [SEVERE] org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readLineSimple(ConsoleReader.java:1506) 2013-03-13 18:34:03 [SEVERE] org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readLine(ConsoleReader.java:1153) 2013-03-13 18:34:03 [SEVERE] org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readLine(ConsoleReader.java:1117) 2013-03-13 18:34:03 [SEVERE] org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readLine(ConsoleReader.java:1105) 2013-03-13 18:34:03 [SEVERE] hq.run(DedicatedServerCommandThread.java:41) 2013-03-13 18:34:03 [SEVERE] ------------------------------ 2013-03-13 18:34:03 [SEVERE] Current Thread: pool-4-thread-3 2013-03-13 18:34:03 [SEVERE] PID: 79 | Alive: true | State: TIMED_WAITING 2013-03-13 18:34:03 [SEVERE] Stack: 2013-03-13 18:34:03 [SEVERE] sun.misc.Unsafe.park(Native Method) 2013-03-13 18:34:03 [SEVERE] java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) 2013-03-13 18:34:03 [SEVERE] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) 2013-03-13 18:34:03 [SEVERE] java.util.concurrent.LinkedBlockingQueue.poll(Unknown Source) 2013-03-13 18:34:08 [INFO] Saving worlds 2013-03-13 18:34:08 [SEVERE] java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) 2013-03-13 18:34:08 [INFO] Saving chunks for level 'world'/Overworld 2013-03-13 18:34:08 [SEVERE] java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 2013-03-13 18:34:08 [SEVERE] java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 2013-03-13 18:34:12 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:34:12 [SEVERE] ------------------------------ 2013-03-13 18:34:12 [SEVERE] Current Thread: HashSessionScavenger-0 2013-03-13 18:34:12 [SEVERE] PID: 52 | Alive: true | State: TIMED_WAITING 2013-03-13 18:34:12 [SEVERE] Stack: 2013-03-13 18:34:12 [SEVERE] java.lang.Object.wait(Native Method) 2013-03-13 18:34:12 [SEVERE] java.util.TimerThread.mainLoop(Unknown Source) 2013-03-13 18:34:12 [SEVERE] java.util.TimerThread.run(Unknown Source) 2013-03-13 18:34:12 [SEVERE] ------------------------------ 2013-03-13 18:34:12 [SEVERE] Current Thread: Chunk I/O Executor Thread-1 2013-03-13 18:34:12 [SEVERE] PID: 78 | Alive: true | State: RUNNABLE 2013-03-13 18:34:12 [SEVERE] Stack: 2013-03-13 18:34:12 [SEVERE] cd.a(NBTBase.java:128) 2013-03-13 18:34:12 [SEVERE] cd.b(NBTBase.java:83) 2013-03-13 18:34:12 [SEVERE] bq.a(NBTTagCompound.java:55) 2013-03-13 18:34:12 [SEVERE] by.a(NBTTagList.java:67) 2013-03-13 18:34:12 [SEVERE] cd.b(NBTBase.java:87) 2013-03-13 18:34:12 [SEVERE] bq.a(NBTTagCompound.java:55) 2013-03-13 18:34:12 [SEVERE] cd.b(NBTBase.java:87) 2013-03-13 18:34:12 [SEVERE] bq.a(NBTTagCompound.java:55) 2013-03-13 18:34:12 [SEVERE] by.a(NBTTagList.java:67) 2013-03-13 18:34:12 [SEVERE] cd.b(NBTBase.java:87) 2013-03-13 18:34:12 [SEVERE] bq.a(NBTTagCompound.java:55) 2013-03-13 18:34:12 [SEVERE] by.a(NBTTagList.java:67) 2013-03-13 18:34:12 [SEVERE] cd.b(NBTBase.java:87) 2013-03-13 18:34:12 [SEVERE] bq.a(NBTTagCompound.java:55) 2013-03-13 18:34:12 [SEVERE] cd.b(NBTBase.java:87) 2013-03-13 18:34:12 [SEVERE] bq.a(NBTTagCompound.java:55) 2013-03-13 18:34:12 [SEVERE] cd.b(NBTBase.java:87) 2013-03-13 18:34:12 [SEVERE] ca.a(CompressedStreamTools.java:126) 2013-03-13 18:34:15 [SEVERE] aam.loadChunk__Async_CB(AnvilChunkLoader.java:124) 2013-03-13 18:34:15 [SEVERE] org.bukkit.craftbukkit.v1_4_R1.chunkio.ChunkIOProvider.callStage1(ChunkIOProvider.java:16) 2013-03-13 18:34:15 [SEVERE] org.bukkit.craftbukkit.v1_4_R1.chunkio.ChunkIOProvider.callStage1(ChunkIOProvider.java:10) 2013-03-13 18:34:18 [SEVERE] org.bukkit.craftbukkit.v1_4_R1.util.AsynchronousExecutor$Task.init(AsynchronousExecutor.java:150) 2013-03-13 18:35:04 [SEVERE] org.bukkit.craftbukkit.v1_4_R1.util.AsynchronousExecutor$Task.initAsync(AsynchronousExecutor.java:95) 2013-03-13 18:35:04 [SEVERE] org.bukkit.craftbukkit.v1_4_R1.util.AsynchronousExecutor$Task.run(AsynchronousExecutor.java:85) 2013-03-13 18:35:04 [SEVERE] java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 2013-03-13 18:35:00 [SEVERE] java.lang.OutOfMemoryError: Java heap space 2013-03-13 18:35:04 [SEVERE] java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 2013-03-13 18:35:12 [SEVERE] java.lang.Thread.run(Unknown Source) 2013-03-13 18:35:12 [SEVERE] ------------------------------ 2013-03-13 18:35:12 [SEVERE] Current Thread: Listen thread 2013-03-13 18:35:17 [SEVERE] PID: 34 | Alive: false | State: TERMINATED 2013-03-13 18:35:24 [SEVERE] Stack: 2013-03-13 18:35:24 [SEVERE] java.util.logging.StreamHandler.publish(Unknown Source) 2013-03-13 18:35:24 [SEVERE] java.util.logging.ConsoleHandler.publish(Unknown Source) 2013-03-13 18:35:24 [SEVERE] java.util.logging.Logger.log(Unknown Source) 2013-03-13 18:35:24 [SEVERE] java.util.logging.Logger.doLog(Unknown Source) 2013-03-13 18:35:24 [SEVERE] java.util.logging.Logger.logp(Unknown Source) 2013-03-13 18:35:24 [SEVERE] org.bukkit.craftbukkit.v1_4_R1.LoggerOutputStream.flush(LoggerOutputStream.java:27) 2013-03-13 18:35:24 [SEVERE] java.io.PrintStream.write(Unknown Source) 2013-03-13 18:35:24 [SEVERE] sun.nio.cs.StreamEncoder.writeBytes(Unknown Source) 2013-03-13 18:35:24 [SEVERE] sun.nio.cs.StreamEncoder.implWrite(Unknown Source) 2013-03-13 18:35:24 [SEVERE] sun.nio.cs.StreamEncoder.write(Unknown Source) 2013-03-13 18:35:24 [SEVERE] java.io.OutputStreamWriter.write(Unknown Source) 2013-03-13 18:35:24 [SEVERE] java.io.BufferedWriter.flushBuffer(Unknown Source) 2013-03-13 18:35:24 [SEVERE] java.io.PrintStream.write(Unknown Source) 2013-03-13 18:35:24 [SEVERE] java.io.PrintStream.print(Unknown Source) 2013-03-13 18:35:24 [SEVERE] java.lang.ThreadGroup.uncaughtException(Unknown Source) 2013-03-13 18:35:24 [SEVERE] java.lang.ThreadGroup.uncaughtException(Unknown Source) 2013-03-13 18:35:24 [SEVERE] java.lang.Thread.dispatchUncaughtException(Unknown Source) 2013-03-13 18:35:24 [SEVERE] ------------------------------ 2013-03-13 18:35:24 [SEVERE] Current Thread: Connection #14 read thread 2013-03-13 18:35:24 [SEVERE] PID: 307 | Alive: true | State: TIMED_WAITING 2013-03-13 18:35:24 [SEVERE] Stack: 2013-03-13 18:35:24 [SEVERE] java.lang.Thread.sleep(Native Method) 2013-03-13 18:35:24 [SEVERE] ch.run(TcpReaderThread.java:27) 2013-03-13 18:35:24 [SEVERE] ------------------------------ 2013-03-13 18:35:20 [INFO] Stopping server

ThatDorkyGuy commented 11 years ago

No idea then Mike. I mean I can pinpoint it directly to Dynmap because my server doesn't have OOM issue otherwise. It stays stable and running with our restarts every 8 hours. Every single time I add dynmap back in, within 3 hours or less we get an OOM. The only thing I would suggest is for you to NOT do a full render, set it to pause and see what happens? Like on a brand new install of it, pause it. The only thing I can think of at this point. But I know 100% that we don't have this issue without dynmap installed.

Xavura commented 11 years ago

Fixed? I don't think this is fixed. What version of MCPC+ etc were you using for your tests @mikeprimm?

It's definitely Dynmap that is crashing the server because we've had rendering turned off for days and it hasn't crashed since...

mikeprimm commented 11 years ago

Need a reproduce scenario - cannot reproduce it with stress tests on current FTB Ultimate nor on MindCrack with MCPC+ recommended build. If you're getting it with a paused render, it isn't us - period. We use some memory, and you might be on the edge of OOM before pulling in the static memory overhead we have (for loading texture packs and the like), but there is no fixing that. If a mod leaks storage because of chunks being loaded and unloaded, we're going to drive them to failure, and there is NOTHING I can do to fix that, and unless you're running something else, or flying around every corner of your existing map, to drive loading and unloading of your whole world, you are NOT driving the same use case without us. If the problem doesn't happen with us, but without MCPC+, do the math - its either a) MCPC+, b) a problem with another mod when running with MCPC+, given the load we generate, or c) a problem with us with MCPC+. If we cannot reproduce the issue with us plus MCPC+, do the math, with all due respect.

BBBRV commented 11 years ago

@mikeprimm what version of MCPC/Dynmap are you running it with? I'll give it a shot after work tonight.

mikeprimm commented 11 years ago

Last round of tests (1 of which is still running since last week) was on #244 , with v1.6 release candidate code (same as v1.6 GA) dynmap for Forge v1.4.7 and DynmapCBBridge v1.6. All done with a 5.6k x 5.6k map on MindCrack with -Xmx1024M.

Also, if you can, run with -XX:+HeapDumpOnOutOfMemoryError on your JVM. If you get an OOM, that will drive a heap dump we can analyse.

ThatDorkyGuy commented 11 years ago

Mike I think you need to calm down. We are all here to try and get results and fix issues. If this is wasting your time then just say so and don't respond any longer. You've started to have an attitude your last few posts. This is happening to others they just aren't posting so if you personally think your wasting your time you aren't. With my scenerio, that I've already helped you reproduce with Mindcrack which led you to a fix you released is still out there with a paused rendering issue. Your mod/plugin may not be 'allocating resources' when it's paused but its definitely doing something because the server crashes with an OOM. Perhaps while the 'pause' rendering isn't working as it should and its still trying. I don't know...I'm not a technical guru nor know modding code but it seems like its still trying to render with it paused when you specify max players on server. Like its bottlenecking or something. Regardless as my suggestion 4 days ago stand, if you could do a test with an uninstall of Dynmap on your current Mindcrack 8.2 world you did. Reinstall the mod, set the Max players to 1 or whatever. Leave a player logged in, see if it still crashes. If we can at least reproduce that's one thing. Then if its not your mod doin it, it's clashing with something. I'm just trying to help.

On Apr 8, 2013, at 1:52 PM, mikeprimm notifications@github.com wrote:

Need a reproduce scenario - cannot reproduce it with stress tests on current FTB Ultimate nor on MindCrack with MCPC+ recommended build. If you're getting it with a paused render, it isn't us - period. We use some memory, and you might be on the edge of OOM before pulling in the static memory overhead we have (for loading texture packs and the like), but there is no fixing that. If a mod leaks storage because of chunks being loaded and unloaded, we're going to drive them to failure, and there is NOTHING I can do to fix that, and unless you're running something else, or flying around every corner of your existing map, to drive loading and unloading of your whole world, you are NOT driving the same use case without us. If the problem doesn't happen with us, but without MCPC+, do the math - its either a) MCPC+, b) a problem with another mod when running with MCPC+, given the load we generate, or c) a problem with us with MCPC+. If we cannot reproduce the issue with us pl us MCPC+, do the math, with all due respect.

— Reply to this email directly or view it on GitHub.

BBBRV commented 11 years ago

@mikeprimm thanks, will give it a shot with this build : http://ci.md-5.net/job/MCPC-Plus-Legacy/8/

MCPC's jenkins was rearranged so i'm not sure which build is 244.

mikeprimm commented 11 years ago

244 is back on the "MCPC-Plus" job thread - before the 1.5 builds started (there were some grass/crop grow issues reported on some of the later 1.4.7 builds - I can only assume that they're fixed on the later legacy builds). I'll give the #8 legacy build a go tonight, including the pause scenario suggested by @ThatDorkyGuy .

Guys, understand that I've got about 25k active server customers, of which 2% are MCPC+, of which only a few are complaining about this problem. I appreciate the help and the concern to get it addressed, but do understand that my ability to spend time on this is limited by the fact that I work for a living, have a family, and what time I can find to work dynmap needs to be prioritized around cost/benefit math. I've got 200 other open issues right now because I don't have the time to work them: not a complaint, or an excuse - just a fact. As I've requested before, getting copies of worlds (or, better, full server configuration including mods and world data) with a reproduce scenario makes diagnosing these things practical. Getting heap dumps of failing servers running the current code, along with relevant mod details, will also make it practical. Telling me you 'still have the problem' with no details as to what configuration you're running, much less what builds of dynmap and MCPC+ you're using, is just going to make me quit wasting my time on this.

snake2332 commented 11 years ago

Thank you for spending time on this, MikePrimm. I know you helped me a lot getting Biomes-O-Plenty working well. I also had the memory heap problems at one point, but I don't anymore. My FTB Ultimate-based server is running on MCPC+ Legacy #8 with 113 mods and 25 bukkit plugins, DynMap build # 638 being one of them. I even tested DynMap set to use all 4 cores (i5-2550k @ 4.62ghz) and did a full render (not too big, around 200,000 tiles) and had no problems.

MCPC+ only makes up 2%? Man, don't people know what glorious things they could behold if they played with forge mods?

I feel bad for you, DorkyGuy. I forgot, did you remove XyCraft? That is what was doing it to me. DynMap was bringing out the flaw in XyCraft. It was almost working with XyCraft at one point - at least it wasn't running out of memory - but it was causing random crashes still so I removed XyCraft and moved on with life, hehe (I also removed ExtraBiomesXL, GregTech, & integrated.soundpacks.litemod for various reasons).

On Mon, Apr 8, 2013 at 12:21 PM, mikeprimm notifications@github.com wrote:

244 https://github.com/webbukkit/dynmap/issues/244 is back on the

"MCPC-Plus" job thread - before the 1.5 builds started (there were some grass/crop grow issues reported on some of the later 1.4.7 builds - I can only assume that they're fixed on the later legacy builds). I'll give the

8 https://github.com/webbukkit/dynmap/issues/8 legacy build a go

tonight, including the pause scenario suggested by @ThatDorkyGuyhttps://github.com/ThatDorkyGuy.

Guys, understand that I've got about 25k active server customers, of which 2% are MCPC+, of which only a few are complaining about this problem. I appreciate the help and the concern to get it addressed, but do understand that my ability to spend time on this is limited by the fact that I work for a living, have a family, and what time I can find to work dynmap needs to be prioritized around cost/benefit math. I've got 200 other open issues right now because I don't have the time to work them: not a complaint, or an excuse - just a fact. As I've requested before, getting copies of worlds (or, better, full server configuration including mods and world data) with a reproduce scenario makes diagnosing these things practical. Getting heap dumps of failing servers running the current code, along with relevant mod details, will also make it practical. Telling me you 'still have the problem' with no details as to what configuration you're running, much less what builds of dy nmap and MCPC+ you're using, is just going to make me quit wasting my time on this.

— Reply to this email directly or view it on GitHubhttps://github.com/webbukkit/dynmap/issues/1191#issuecomment-16068501 .

BBBRV commented 11 years ago

@mikeprimm did you remove xycraft in order to get that fullrender working over the weekend like @snake2332 did? just want to know before i bother testing it tonight. I can't really remove it at this point without doing a server restart.

mikeprimm commented 11 years ago

My main test case (the 244 Mindcrack I mentioned) was 'clean' - no changes, so XyCraft was there. It didn't include any Bukkit plugins beyond DynmapCRBridge - if folks have concerns about specific Bukkit plugins, please chime in and I'll add them. I've updated and restarted my test MindCrack to Legacy-8, and plan to do the same with the FTB Ultimate test system I have (if anyone has a FTB Ultimate world of some size they are willing to share privately with me, I'd appreciate it - the MindCrack I'm using was shared by another user a couple weeks back, and was pretty key to the progress made so far on this issue).

While the lion's share of my numbers are still Bukkit (85%) + Spigot (4%), the remainder - mostly Forge (8%) and MCPC+ (2.7%) - have been where I've been investing most of my development time (because the mods are so damn cool :) ). Please don't take my occasional moments of frustration as a lack of sincere desire to iron out any problems you guys are having - this can just be a bit of an overwhelming project, at times, to be doing solo. :)

BBBRV commented 11 years ago

@mikeprimm I can try and send you a copy of my Ultimate world (6k by 6k). Probably won't be able to get it to you until tomorrow though. I can send you my plugins as well, if you want.

mikeprimm commented 11 years ago

@Absolutist - that sounds great: if its modified from stock FTB Ultimate, I'll either need the specifics, or a ZIP of the server folks (mods + config files and such). Obviously, don't post download link here - PM me on bukkit.org or on minecraftforums.net.

ThatDorkyGuy commented 11 years ago

For my server, we are hosted by pytohost.com on an SSD with 3GB of ram. My plugins are:

ChestShop Essentials Essentials GroupManager WorldGuard WorldEdit Iconomy Logblock GriefPrevention

All are updated to their latest versions, including worldedit which is on 5.5.5 (it does work with 1.4.7)

I have xycraft installed (as part of the Mindcrack 8.2 modpack), but I have disabled xycraft machines in it's config due to the viewing glass and some other thing crashing my server.

When I load in dynmap, it is usually between 12am-4am EDT when there are about 5 or less players on. I have set the config with dynmap to pause a render at 5 or more players. Upon initial running of the server, once dynmap is all set up, it will begin to render (due to no one on the server) as players join and we reach 5, it will pause (I can verify all this through console), we will fluctuate between 3-7 during those hours so dynmap will try on and off again to run the full render. Thats the exact scenario. As far as my world, I do not limit my players, we have some that have stayed near spawn and others are are out at 37000 or so.

mikeprimm commented 11 years ago

@ThatDorkyGuy - I'll make a go at a plugin configuration consistent with what you're reporting.

BBBRV commented 11 years ago

@mikeprimm alright, i'll just make a zip of the entire server, sans the extra worlds (nether, twilight, etc) and coreprotect's log.

mikeprimm commented 11 years ago

@Absolutist Thanks! Working on updating test server for FTB Ultimate now

BBBRV commented 11 years ago

It'll take quite a while to upload. I still haven't gotten around to deleting my old dynmap renders (those won't be included)

BBBRV commented 11 years ago

Meh. had a memory leak. couldnt get much of an error log except for this

02:47:07 [SEVERE] Exception in thread "Thread-35" 02:47:13 [SEVERE] Exception in thread "process reaper" 02:47:16 [SEVERE] Exception in thread "Connection #39 read thread"

gc Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Thread-35"

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "process reaper"

first leak since re-adding dynmap back, it was also paused with the same configuration as @thatdorkyguy (pause when 5+ players)

mikeprimm commented 11 years ago

Did you run with the -XX:+HeapDumpOnOutOfMemoryError JVM flag, so we could get a heap dump?

BBBRV commented 11 years ago

Unfortunately no. It wasn't an OOM crash, it just totally froze up on me forcing me to do a server reboot. I did however manage to zip up a copy of my server folder, i'm uploading it to my dropbox now. (it's about 2gb or so, compressed)

mikeprimm commented 11 years ago

Huh - looked like OOM in your post (at least that an OOM happened during the handling of the unhandled exception). I've been looping a 4k x 4k FTB Ultimate world since last night, with Legacy_8 and with WorldBorder, with -Xmx1024M with no issues yet. Ditto for the 5.6k x 5.6k Mindcract with Legacy_8. Haven't done the pause test yet.

BBBRV commented 11 years ago

After work i'll try it again with heapdump enabled. World is about halfway done uploading to dropbox.

BBBRV commented 11 years ago

@mikeprimm sent the world link via bukkit.org PM.

BBBRV commented 11 years ago

@mikeprimm to add that flag i just put "-XX:+HeapDumpOnOutOfMemoryError" after java in the .sh file right?

BBBRV commented 11 years ago

Had another case of the server going unresponsive, couldn't even force restart. had to restart the machine itself via SSH.

mikeprimm commented 11 years ago

Try kill -6 if a normal kill or ctrl-C doesn't work. MC isn't smart enough to make sure that its shutdown exception handlers will work after an OOM has already happened.

mikeprimm commented 11 years ago

@Absolutist finished the download of your files overnight, but the world data for overworld appears to be in a ZIP that isn't 'normal' as far as stock linux 'unzip' is concerned - any tips on how that zip is saved? Also, after renaming the Dynmap-1.6.zip.LOCKED to Dynmap-1.6.zip, I saw a bunch of errors during startup - missing files from the dynmap install: texture related files, mostly - so the setup I've got was freshened with a clean extract of GA Dynmap 1.6 for 6.5.0, which resulted in a clean startup. Just need to get the world data.

BBBRV commented 11 years ago

@mikeprimm is it that zip at the bottom that is really tiny? You can ignore that if so, it was a failed linux zip. Pardon the mess also, i've been meaning to clean up the server folder (what i sent you isn't as bad as what i have - 4 old dynmap renders that have to be deleted, lol)

BBBRV commented 11 years ago

@mikeprimm oh wait i think i see what you mean, server/world/overworld.zip? Not sure where that came from. I'd ignore it, it's last modified date was 3/16. will delete that as well!

edit: scratch that. Seeing now that there is no region folder in the backup i sent you. want me to compress and upload that folder? not sure why it wasn't in the full compression.

mikeprimm commented 11 years ago

@Absolutist OK - trouble is that there isn't a world/region directory, so I was sort of assuming that the world data was in that overworld.zip :)

BBBRV commented 11 years ago

Bah. Nevermind again. Turns out the region folder didn't fully copy over from filezilla. One of my cats probably turned off the computer...

re-downloading the region folder. going to take a while though. 1850 files.

edit: Yeah, looking at what was downloaded, something definitely interrupted the download, missing a bunch of world information in almost every world folder

BBBRV commented 11 years ago

@mikeprimm ok, region done downloading and is compressed. Slight problem though. It's far too large for me to upload to my dropbox.

mikeprimm commented 11 years ago

@Absolutist Just how big? The last one was just under 2GB - are the region files alone bigger than that?

BBBRV commented 11 years ago

@mikeprimm Twice as big. 3.9GB compressed. It's a fully explored 6k by 6k world with maybe a few branches off of that.

mikeprimm commented 11 years ago

@Absolutist Split into to set of files?

BBBRV commented 11 years ago

@mikeprimm i could do that. only problem is my dropbox right now is limited to i believe 2.5GB. So i'd have to upload the first half, then you'd have to download it, then i'd have to delete it and upload the second half, then you'd have to download it again.

mikeprimm commented 11 years ago

@Absolutist That would be fine with me - I can kick the download to my home from work easily enough

BBBRV commented 11 years ago

@mikeprimm Okay. I'll start uploading the first half now.

BBBRV commented 11 years ago

@mikeprimm First half of the region done uploading, sent link via bukkit PM

mikeprimm commented 11 years ago

@Absolutist Got it - downloaded and verified

BBBRV commented 11 years ago

@mikeprimm Alright. Sorry for the delay, uploading second half right now

BBBRV commented 11 years ago

@mikeprimm part two uploaded and message sent via bukkit

mikeprimm commented 11 years ago

OK - got it. Finished set up last night, and ran render fine until 2am, when you've got a plugin that apparently does a planned shutdown/restart. Just restarted now, and continuing to render fine (it finished the flat map, and about a 1k radius of the surface map when the planned shutdown hit). I'm running with java 7, with only the -Xmx1024M and -XX:+HeapDumpOnOutOfMemoryError options (none of the other stuff I see in your start.sh - I'm a bit concerned about some of those, so if its all the same for you, lets try to see if we have the problem with clean options: options like disabling explicit GC and OOP compression are worrisome).

BBBRV commented 11 years ago

I had actually removed all of those extra tags shortly after downloading that backup - turns out they were killing our TPS


From: mikeprimm Sent: 4/13/2013 10:30 AM To: webbukkit/dynmap Cc: Absolutist Subject: Re: [dynmap] Memory leak with Dynmap 1.5 (Bukkit) when used with MCPC+ 1.4.7-R1.1 b245 and FTB/Ultimate 1.01 (#1191)

OK - got it. Finished set up last night, and ran render fine until 2am, when you've got a plugin that apparently does a planned shutdown/restart. Just restarted now, and continuing to render fine (it finished the flat map, and about a 1k radius of the surface map when the planned shutdown hit). I'm running with java 7, with only the -Xmx1024M and -XX:+HeapDumpOnOutOfMemoryError options (none of the other stuff I see in your start.sh - I'm a bit concerned about some of those, so if its all the same for you, lets try to see if we have the problem with clean options: options like disabling explicit GC and OOP compression are worrisome).


Reply to this email directly or view it on GitHub: https://github.com/webbukkit/dynmap/issues/1191#issuecomment-16334060

mikeprimm commented 11 years ago

@Absolutist : Grr..the RestartEvolution thing shut me down again - now removed, but I've not seen any issues yet with running with a 1 GB heap (-Xmx1024M) and doing a fullrender on world (flat fully rendered, and about a 2.8k radius around spawn on surface completed before clean shutdown by RestartEvolution plugin).

BBBRV commented 11 years ago

Hmm. Wonder what's causing my problems then :(


From: mikeprimm Sent: 4/13/2013 6:27 PM To: webbukkit/dynmap Cc: Absolutist Subject: Re: [dynmap] Memory leak with Dynmap 1.5 (Bukkit) when used with MCPC+ 1.4.7-R1.1 b245 and FTB/Ultimate 1.01 (#1191)

@Absolutist : Grr..the RestartEvolution thing shut me down again - now removed, but I've not seen any issues yet with running with a 1 GB heap (-Xmx1024M) and doing a fullrender on world (flat fully rendered, and about a 2.8k radius around spawn on surface completed before clean shutdown by RestartEvolution plugin).


Reply to this email directly or view it on GitHub: https://github.com/webbukkit/dynmap/issues/1191#issuecomment-16342100

mikeprimm commented 11 years ago

@Absolutist Dunno - how are you doing with the cleaner JVM command line? I'm still going strong with just -Xmx1024M -XX:+HeapDumpOnOutOfMemoryError - 450,000 tiles so far on the 'surface' map since I restarted the fullrender yesterday without the RestartEvolution stuff.

BBBRV commented 11 years ago

I'm doing it with no command lines besides the standard min/max ram usage ones. (Xmx and I forgot the other one)

mikeprimm commented 11 years ago

Which JVM version are you running?