Netty Bug 327和535的修复是否也修复了devpoll问题以及Epoll?

Netty Bug 327和535的修复是否也修复了devpoll问题以及Epoll?,netty,java,epoll,Netty,Java,Epoll,以下是线程转储: "New I/O client worker #23-1" prio=3 tid=0x007c1400 nid=0x28bc runnable [0xed17f000..0xed17f920] java.lang.Thread.State: RUNNABLE at sun.nio.ch.DevPollArrayWrapper.poll0(Native Method) at sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapp

以下是线程转储:

"New I/O client worker #23-1" prio=3 tid=0x007c1400 nid=0x28bc runnable [0xed17f000..0xed17f920]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.DevPollArrayWrapper.poll0(Native Method)
at sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:164)
at sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:68)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
- locked <0xefd18e90> (a sun.nio.ch.Util$1)
- locked <0xefd18e80> (a java.util.Collections$UnmodifiableSet)
- locked <0xefd012d8> (a sun.nio.ch.DevPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:158)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

"device-factory-timer-114-thread-1" prio=3 tid=0x0092ac00 nid=0x28ba waiting on condition [0xedd7f000..0xedd7fc20]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0xefd01460> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:160)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
“新的I/O客户端工作程序#23-1”优先级=3 tid=0x007c1400 nid=0x28bc可运行[0xed17f000..0xed17f920]
java.lang.Thread.State:可运行
位于sun.nio.ch.DevPollArrayWrapper.poll0(本机方法)
在sun.nio.ch.DevPollArrayWrapper.poll上(DevPollArrayWrapper.java:164)
位于sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:68)
在sun.nio.ch.SelectorImpl.lock和doselect上(SelectorImpl.java:69)
-锁定(sun.nio.ch.Util$1)
-锁定(java.util.Collections$UnmodifiableSet)
-锁定(sun.nio.ch.DevPollSelectorImpl)
在sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
位于org.jboss.netty.channel.socket.nio.niower.run(niower.java:158)
位于org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
位于org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
运行(Thread.java:619)
“device-factory-timer-114-thread-1”prio=3 tid=0x0092ac00 nid=0x28ba等待状态[0xedd7f000..0xedd7fc20]
java.lang.Thread.State:等待(停车)
在sun.misc.Unsafe.park(本机方法)
-停车等待(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
位于java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
位于java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
位于java.util.concurrent.DelayQueue.take(DelayQueue.java:160)
位于java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
位于java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
位于java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
运行(Thread.java:619)

这与epoll问题非常相似。请让我知道问题是否已经解决,或者您是否有任何解决计划?

如果您认为存在问题,请打开一份包含所有必要信息的错误报告。

此问题见Netty 3.1.5。最新版本3.5.X使用死锁防护工作程序,内部称之为Epoll。3.1.5版本使用IoWorkerRunnable,它可能正在调用Devpoll。有人能告诉我netty3.5.7是否与3.1.5上开发的代码兼容吗?这些版本之间是否有API更改?我可以在没有任何更改的情况下将旧代码与新的Netty 3.5.7一起使用吗?虽然有一些更改,但它们很可能不会影响大多数用户。我肯定会尝试升级,看看它是否可以修复。3.1.5真的很老了