[NEW] SFS2X 2.16.0 is available!

Post here your questions about SFS2X. Here we discuss all server-side matters. For client API questions see the dedicated forums.

Moderators: Lapo, Bax

User avatar
Bax
Site Admin
Posts: 4515
Joined: 29 Mar 2005, 09:50
Location: Italy
Contact:

[NEW] SFS2X 2.16.0 is available!

Postby Bax » 18 May 2020, 07:49

SmartFoxServer 2X 2.16.0 is available as a cumulative update patch for all previous SFS2X 2.14 and 2.15 installations.

The focus of this release is the final version of the new HTML5 AdminTool, which now officially replaces the legacy, Flash-based tool. We completed the porting adding the last module, Analytics, but we also added a long-awaited feature: it is now possible to integrate your own custom administration modules in the AdminTool! Read all the details here: http://docs2x.smartfoxserver.com/Gettin ... om-modules

Download SFS2X 2.16.0 from here.

Edit: we updated the 2.16 patch to include a fix to a minor issue we have been reported by a user (see last entry below). If you download this patch before June 22nd 2020, please download and install it again.
______________

FULL RELEASE NOTES

Server Side
[FIX] Websocket session's buffer size now matches the maximum request size configured in SFS2X.

Admin Tool
[NEW] Final version of the new HTML5 AdminTool which officially replaces the legacy, Flash-based tool.
[NEW] Added the Analytics module.
[NEW] Added experimental support for custom AdminTool modules.
[NEW] Updated module icons.
[FIX] Wrong global Room count under the Dashboard module.
[FIX] In Zone Configurator module, adding a Room to an empty Zone throws a JavaScript error preventing the Room to show in the tree list.
Paolo Bax
The SmartFoxServer Team
trianglehead
Posts: 65
Joined: 13 Aug 2016, 04:28

Re: [NEW] SFS2X 2.16.0 is available!

Postby trianglehead » 26 May 2020, 20:29

Hi! I just upgraded to this version nice works! I have noticed 2 issues.

1.) When I set JVM xmx to 16g on my server with 32g ram. The CPU is very high constantly with 0 users. When I set the xmx to 8 g, it works fine.

2.) When the server manages to work with xmx8g I still notice a tomcat CPU time issue. Image attached and the dump is here:
Image

Code: Select all

"SFSWorker:Ext:4" Id=98 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1a4bc51b
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1a4bc51b
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"WebSocket background processing" Id=97 TIMED_WAITING
   at java.lang.Thread.sleep(Native Method)
   at org.apache.tomcat.websocket.BackgroundProcessManager$WsBackgroundThread.run(BackgroundProcessManager.java:136)

"https-jsse-nio-8443-Acceptor" Id=95 RUNNABLE (in native)
   at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
   at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
   at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
   at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:463)
   at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:73)
   at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:95)
   at java.lang.Thread.run(Thread.java:748)

"https-jsse-nio-8443-ClientPoller" Id=94 RUNNABLE (in native)
   at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
   at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
   at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
   at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
   at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
   at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:708)
   at java.lang.Thread.run(Thread.java:748)

"https-jsse-nio-8443-exec-10" Id=93 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"https-jsse-nio-8443-exec-9" Id=92 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"https-jsse-nio-8443-exec-8" Id=91 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"https-jsse-nio-8443-exec-7" Id=90 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"https-jsse-nio-8443-exec-6" Id=89 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"https-jsse-nio-8443-exec-5" Id=88 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"https-jsse-nio-8443-exec-4" Id=87 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"https-jsse-nio-8443-exec-3" Id=86 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"https-jsse-nio-8443-exec-2" Id=85 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"https-jsse-nio-8443-exec-1" Id=84 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@76c2b597
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"http-nio-7777-Acceptor" Id=83 RUNNABLE (in native)
   at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
   at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
   at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
   at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:463)
   at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:73)
   at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:95)
   at java.lang.Thread.run(Thread.java:748)

"http-nio-7777-ClientPoller" Id=82 RUNNABLE (in native)
   at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
   at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
   at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
   at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
   at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
   at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:708)
   at java.lang.Thread.run(Thread.java:748)

"http-nio-7777-exec-10" Id=81 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"http-nio-7777-exec-9" Id=80 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"http-nio-7777-exec-8" Id=79 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"http-nio-7777-exec-7" Id=78 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"http-nio-7777-exec-6" Id=77 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"http-nio-7777-exec-5" Id=76 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"http-nio-7777-exec-4" Id=75 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"http-nio-7777-exec-3" Id=74 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"http-nio-7777-exec-2" Id=73 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"http-nio-7777-exec-1" Id=72 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@3ee91940
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:107)
   at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:33)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   ...

"Catalina-utility-2" Id=71 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1d9aa3b
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1d9aa3b
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   ...

"Catalina-utility-1" Id=70 TIMED_WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1d9aa3b
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1d9aa3b
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   ...

"SFSWorker:Sys:4" Id=69 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@45fed406
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@45fed406
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"SFSWorker:Sys:3" Id=68 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@45fed406
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@45fed406
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"SFSWorker:Sys:2" Id=67 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@45fed406
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@45fed406
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"pool-11-thread-1" Id=63 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@26f3bf23
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@26f3bf23
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"https-jsse-nio-8443-BlockPoller" Id=62 RUNNABLE (in native)
   at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
   at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
   at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
   at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
   at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
   at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:313)

"http-nio-7777-BlockPoller" Id=61 RUNNABLE (in native)
   at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
   at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
   at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
   at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
   at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
   at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:313)

"pool-4-thread-1" Id=60 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@50a681a4
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@50a681a4
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"GC Daemon" Id=59 TIMED_WAITING on sun.misc.GC$LatencyLock@1ce271f9
   at java.lang.Object.wait(Native Method)
   -  waiting on sun.misc.GC$LatencyLock@1ce271f9
   at sun.misc.GC$Daemon.run(GC.java:117)

"SFSWorker:Ext:3" Id=58 RUNNABLE
   at sun.management.ThreadImpl.getThreadInfo1(Native Method)
   at sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:178)
   at com.smartfoxserver.v2.admin.handlers.requests.DashboardModuleReqHandler.getThreadDump(DashboardModuleReqHandler.java:250)
   at com.smartfoxserver.v2.admin.handlers.requests.DashboardModuleReqHandler.handleAdminRequest(DashboardModuleReqHandler.java:220)
   at com.smartfoxserver.v2.admin.handlers.requests.BaseAdminModuleReqHandler.handleClientRequest(BaseAdminModuleReqHandler.java:76)
   at com.smartfoxserver.v2.extensions.SFSExtension.handleClientRequest(SFSExtension.java:208)
   at com.smartfoxserver.v2.controllers.v290.ExtensionReqController.processRequest(ExtensionReqController.java:174)
   at com.smartfoxserver.v2.controllers.v290.ExtensionReqController$1.run(ExtensionReqController.java:68)
   ...

"SFSWorker:Ext:2" Id=57 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1a4bc51b
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1a4bc51b
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"SFSWorker:Ext:1" Id=56 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1a4bc51b
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1a4bc51b
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"DestroyJavaVM" Id=55 RUNNABLE

"TomcatRunner" Id=54 RUNNABLE (in native)
   at java.net.PlainSocketImpl.socketAccept(Native Method)
   at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
   at java.net.ServerSocket.implAccept(ServerSocket.java:545)
   at java.net.ServerSocket.accept(ServerSocket.java:513)
   at org.apache.catalina.core.StandardServer.await(StandardServer.java:609)
   at org.apache.catalina.startup.Catalina.await(Catalina.java:721)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:667)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   ...

"SFSWorker:Sys:1" Id=53 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@45fed406
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@45fed406
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"SocketAcceptor-1" Id=52 RUNNABLE (in native)
   at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
   at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
   at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
   at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
   at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
   at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
   at com.smartfoxserver.bitswarm.core.SocketAcceptor.acceptLoop(SocketAcceptor.java:203)
   at com.smartfoxserver.bitswarm.core.SocketAcceptor.run(SocketAcceptor.java:182)
   ...

"SocketReader" Id=51 TIMED_WAITING
   at java.lang.Thread.sleep(Native Method)
   at com.smartfoxserver.bitswarm.core.SocketReader.run(SocketReader.java:173)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"DatagramReader" Id=43 RUNNABLE (in native)
   at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
   at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
   at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
   at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
   at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
   at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
   at com.smartfoxserver.bitswarm.core.DatagramReader.readIncomingDatagrams(DatagramReader.java:123)
   at com.smartfoxserver.bitswarm.core.DatagramReader.run(DatagramReader.java:100)
   ...

"SocketWriter::UDP-3" Id=50 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2f0fd887
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2f0fd887
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at com.smartfoxserver.bitswarm.core.SocketWriterV3$UDPWriteRunner.run(SocketWriterV3.java:846)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"SocketWriter::UDP-2" Id=49 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2f0fd887
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2f0fd887
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at com.smartfoxserver.bitswarm.core.SocketWriterV3$UDPWriteRunner.run(SocketWriterV3.java:846)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"SocketWriter::UDP-1" Id=48 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2f0fd887
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2f0fd887
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at com.smartfoxserver.bitswarm.core.SocketWriterV3$UDPWriteRunner.run(SocketWriterV3.java:846)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"SocketWriter::TCP-3" Id=47 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@14be70e2
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@14be70e2
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at com.smartfoxserver.bitswarm.core.SocketWriterV3$TCPWriteRunner.run(SocketWriterV3.java:807)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"SocketWriter::TCP-2" Id=46 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@14be70e2
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@14be70e2
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at com.smartfoxserver.bitswarm.core.SocketWriterV3$TCPWriteRunner.run(SocketWriterV3.java:807)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"SocketWriter::TCP-1" Id=45 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@14be70e2
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@14be70e2
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
   at com.smartfoxserver.bitswarm.core.SocketWriterV3$TCPWriteRunner.run(SocketWriterV3.java:807)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"Scheduler1-thread-1" Id=44 TIMED_WAITING
   at java.lang.Thread.sleep(Native Method)
   at com.smartfoxserver.bitswarm.util.scheduling.Scheduler.run(Scheduler.java:153)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"Thread-12" Id=42 TIMED_WAITING
   at java.lang.Thread.sleep(Native Method)
   at com.vnlentertainment.coc.service.LocalTester$1.run(LocalTester.java:75)

"pool-13-thread-1" Id=41 TIMED_WAITING
   at java.lang.Thread.sleep(Native Method)
   at com.vnlentertainment.coc.service.MMOService4$5.run(MMOService4.java:472)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"pool-14-thread-1" Id=39 TIMED_WAITING
   at java.lang.Thread.sleep(Native Method)
   at com.vnlentertainment.coc.service.MMOService4$4.run(MMOService4.java:439)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"pool-6-thread-1" Id=37 TIMED_WAITING
   at java.lang.Thread.sleep(Native Method)
   at com.vnlentertainment.coc.service.MMOService4$3.run(MMOService4.java:418)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"pool-12-thread-1" Id=35 TIMED_WAITING
   at java.lang.Thread.sleep(Native Method)
   at com.vnlentertainment.coc.service.MMOService4$2.run(MMOService4.java:385)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

"java-sdk-http-connection-reaper" Id=33 TIMED_WAITING
   at java.lang.Thread.sleep(Native Method)
   at com.amazonaws.http.IdleConnectionReaper.run(IdleConnectionReaper.java:188)

"sample%0043ache1.data" Id=31 TIMED_WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@70716870
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@70716870
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   ...

"net.sf.ehcache.CacheManager@4007f65e" Id=30 TIMED_WAITING on java.util.TaskQueue@7f93a23e
   at java.lang.Object.wait(Native Method)
   -  waiting on java.util.TaskQueue@7f93a23e
   at java.util.TimerThread.mainLoop(Timer.java:552)
   at java.util.TimerThread.run(Timer.java:505)

"pool-1-thread-4" Id=29 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2e0986ab
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2e0986ab
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   ...

"Thread-5" Id=28 TIMED_WAITING
   at java.lang.Thread.sleep(Native Method)
   at org.apache.commons.vfs.impl.DefaultFileMonitor.run(DefaultFileMonitor.java:404)
   at java.lang.Thread.run(Thread.java:748)

"pool-1-thread-3" Id=27 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2e0986ab
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2e0986ab
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   ...

"pool-1-thread-2" Id=26 TIMED_WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2e0986ab
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2e0986ab
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   ...

"pool-1-thread-1" Id=25 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2e0986ab
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2e0986ab
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   ...

"pool-2-thread-1" Id=24 TIMED_WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@4957dae8
   at sun.misc.Unsafe.park(Native Method)
   -  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@4957dae8
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   ...

"org.apache.commons.vfs.cache.SoftRefFilesCache$SoftRefReleaseThread" Id=23 TIMED_WAITING on java.lang.ref.ReferenceQueue$Lock@321e095a
   at java.lang.Object.wait(Native Method)
   -  waiting on java.lang.ref.ReferenceQueue$Lock@321e095a
   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
   at org.apache.commons.vfs.cache.SoftRefFilesCache$SoftRefReleaseThread.run(SoftRefFilesCache.java:79)

"Thread-1" Id=19 TIMED_WAITING
   at java.lang.Thread.sleep(Native Method)
   at com.install4j.runtime.launcher.Launcher$StopWatcherThread.run(Unknown Source)

"Signal Dispatcher" Id=4 RUNNABLE

"Finalizer" Id=3 WAITING on java.lang.ref.ReferenceQueue$Lock@507edf75
   at java.lang.Object.wait(Native Method)
   -  waiting on java.lang.ref.ReferenceQueue$Lock@507edf75
   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165)
   at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:216)

"Reference Handler" Id=2 WAITING on java.lang.ref.Reference$Lock@3220270f
   at java.lang.Object.wait(Native Method)
   -  waiting on java.lang.ref.Reference$Lock@3220270f
   at java.lang.Object.wait(Object.java:502)
   at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
   at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
Attachments
Annotation 2020-05-26 143106.jpg
(125.15 KiB) Not downloaded yet
User avatar
Lapo
Site Admin
Posts: 21522
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: [NEW] SFS2X 2.16.0 is available!

Postby Lapo » 27 May 2020, 07:18

Hello,
the CPU usage is at zero in the graph. Don't mistake the thread % usage, with the actual CPU usage.
When you see that the TomcatRunner thread takes 89% we're not talking about 89% of the CPU resources. It's 89% of the 0.06% of CPU used by the SFS2X process.

In other words the thread list just tells which thread is working more, within the CPU usage of the SFS2X process itself.

Cheers
Lapo
--
gotoAndPlay()
...addicted to flash games
trianglehead
Posts: 65
Joined: 13 Aug 2016, 04:28

Re: [NEW] SFS2X 2.16.0 is available!

Postby trianglehead » 27 May 2020, 11:29

I had thought that's the case. But what about when I startup with 16G xmx the server will not start and process is very high when I use uptime in linux and I could not login to the web console at all until I change the jvm options down to 12G xmx.
User avatar
Lapo
Site Admin
Posts: 21522
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: [NEW] SFS2X 2.16.0 is available!

Postby Lapo » 27 May 2020, 13:23

trianglehead wrote:But what about when I startup with 16G xmx the server will not start ...

If the process doesn't start then there is a problem. You should check the startup logs (under SFS2X/logs/) and see what it is going on.
Also keep in mind that for most uses it's best to let the JVM auto-allocate the heap size, instead of forcing a large size for the sake of it.

Thanks
Lapo

--

gotoAndPlay()

...addicted to flash games
pogsdbest
Posts: 16
Joined: 08 Feb 2019, 10:09

Re: [NEW] SFS2X 2.16.0 is available!

Postby pogsdbest » 27 May 2020, 19:40

Hi i upgraded to 2.16.0 and Add Room seems not working on the Zone Configurator Page, when im pressing submitt nothing happens

Edit:
i tried to edit my ..SmartFoxServer_2X/SFS2X/zones/MyZone.zone.xml and copy my existing <rooms>..</rooms> on my old project to MyZone.zone.xml and restarted the server and it works, i can finally add rooms. the submitt button is now working. however if i create new Zone on the Zone configurator page of admin tool, and add a Room with it, then the submitt button is not working.

Capture.PNG
(32.5 KiB) Not downloaded yet
User avatar
Bax
Site Admin
Posts: 4515
Joined: 29 Mar 2005, 09:50
Location: Italy
Contact:

Re: [NEW] SFS2X 2.16.0 is available!

Postby Bax » 28 May 2020, 07:24

pogsdbest wrote:Hi i upgraded to 2.16.0 and Add Room seems not working on the Zone Configurator Page, when im pressing submitt nothing happens

Edit:
i tried to edit my ..SmartFoxServer_2X/SFS2X/zones/MyZone.zone.xml and copy my existing <rooms>..</rooms> on my old project to MyZone.zone.xml and restarted the server and it works, i can finally add rooms. the submitt button is now working. however if i create new Zone on the Zone configurator page of admin tool, and add a Room with it, then the submitt button is not working.

Capture.PNG

Thank you for reporting the error. We investigated it and there seems to be an issue with the TreeView component, preventing a child item to be added unless it already has children. We will fix this in a patch soon.
Paolo Bax
The SmartFoxServer Team
snehil89
Posts: 15
Joined: 25 Sep 2014, 08:52

Re: [NEW] SFS2X 2.16.0 is available!

Postby snehil89 » 04 Jun 2020, 19:27

Hello Lapo/Bax,

Is there anything changed in sfsApi.removeRoom() on server side because I am getting the following exception which was not there in previous release 2.13.X

Exception Cannot remove: [ SFSGame: STT6#4714774, Id: 1429, Group: default, public: true, minPlayers: 6 ] when users are still joined.,[ERROR],[04 Jun 2020 17:17:00,560]
java.lang.IllegalStateException: Cannot remove: [ SFSGame: STT6#4714774, Id: 1429, Group: default, public: true, minPlayers: 6 ] when users are still joined.
at com.smartfoxserver.v2.api.SFSApi.removeRoom(SFSApi.java:379)
at com.smartfoxserver.v2.api.SFSApi.removeRoom(SFSApi.java:371)
at....

Regards
User avatar
Lapo
Site Admin
Posts: 21522
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: [NEW] SFS2X 2.16.0 is available!

Postby Lapo » 05 Jun 2020, 06:45

No,
nothing changed in that regards. The error is simply telling you that you cannot remote a Room with users still joined inside. This is always been the default behavior in SFS2X.

Cheers
Lapo

--

gotoAndPlay()

...addicted to flash games
snehil89
Posts: 15
Joined: 25 Sep 2014, 08:52

Re: [NEW] SFS2X 2.16.0 is available!

Postby snehil89 » 05 Jun 2020, 07:25

Hi Lapo,

but how come there was no exception even when there were players joined in room and then removing room, in 2.13.X versions. I have again tried on previous versions, it behaves differently after 2.16 release update.

Method used:-
"getApi().removeRoom(room)"

Room settings used in both tests :-
CreateSFSGameSettings gameSettings = new CreateSFSGameSettings();
gameSettings.setName(tableName);
gameSettings.setGroupId("default");
gameSettings.setMinPlayersToStartGame(gc.getMinPlayersToStart());
gameSettings.setMaxUsers(gc.getMaxPlayers());
gameSettings.setMaxSpectators(5000);
gameSettings.setGamePublic(true);
gameSettings.setLeaveLastJoinedRoom(false);//settings for multiple tab.
gameSettings.setMaxVariablesAllowed(10);
gameSettings.setRoomSettings(EnumSet.of(SFSRoomSettings.ROOM_NAME_CHANGE, SFSRoomSettings.PASSWORD_STATE_CHANGE, SFSRoomSettings.PUBLIC_MESSAGES,
SFSRoomSettings.CAPACITY_CHANGE, SFSRoomSettings.USER_ENTER_EVENT, SFSRoomSettings.USER_EXIT_EVENT, SFSRoomSettings.USER_VARIABLES_UPDATE_EVENT));


Regards
User avatar
Lapo
Site Admin
Posts: 21522
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: [NEW] SFS2X 2.16.0 is available!

Postby Lapo » 06 Jun 2020, 07:48

Yes this is fix introduced since 2.14.
From the release notes:

Code: Select all

[FIX] SFSApi.removeRoom() might log that a Room is removed when in fact it isn't.

The error now signals when the room is not removed and why.

Cheers
Lapo

--

gotoAndPlay()

...addicted to flash games
User avatar
Bax
Site Admin
Posts: 4515
Joined: 29 Mar 2005, 09:50
Location: Italy
Contact:

Re: [NEW] SFS2X 2.16.0 is available!

Postby Bax » 22 Jun 2020, 13:19

We updated the 2.16 patch to include a fix to a minor issue in the AdminTool we have been reported by a user.
If you download this patch before June 22nd 2020, please download and install it again.
Paolo Bax
The SmartFoxServer Team
epicever
Posts: 5
Joined: 18 Mar 2020, 15:22

Re: [NEW] SFS2X 2.16.0 is available!

Postby epicever » 30 Jun 2020, 03:59

I downloaded the patch yesterday from this page https://www.smartfoxserver.com/download/sfs2x#p=updates and the error still occurs. Also the patch there says it is still dated to May 18th 2020.
User avatar
Bax
Site Admin
Posts: 4515
Joined: 29 Mar 2005, 09:50
Location: Italy
Contact:

Re: [NEW] SFS2X 2.16.0 is available!

Postby Bax » 30 Jun 2020, 08:29

epicever wrote:I downloaded the patch yesterday from this page https://www.smartfoxserver.com/download/sfs2x#p=updates and the error still occurs. Also the patch there says it is still dated to May 18th 2020.

Did you clear your browser's cache?
Paolo Bax
The SmartFoxServer Team
epicever
Posts: 5
Joined: 18 Mar 2020, 15:22

Re: [NEW] SFS2X 2.16.0 is available!

Postby epicever » 02 Jul 2020, 04:57

Yup cleared cache on two browsers and as well as my phone browser and the following page loads.
Attachments
Untitled.png
(94.9 KiB) Not downloaded yet

Return to “SFS2X Questions”

Who is online

Users browsing this forum: No registered users and 5 guests