[ https://issues.apache.org/jira/browse/THRIFT-4251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16124912#comment-16124912 ]
ASF GitHub Bot commented on THRIFT-4251: ---------------------------------------- Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1313 There are conflicting reports to what the root cause of this issue really is. I found: http://bugs.java.com/view_bug.do?bug_id=6693490 fixed in Java 7b55 http://bugs.java.com/view_bug.do?bug_id=6897993 possibly caused by above, fixed in Java 7b77 http://bugs.java.com/view_bug.do?bug_id=6670302 bug in linux 2.4 kernel fixed in 2.6 Given you reproduced it under Java 8b131 then it sounds like it would be a different issue to what's already been reported, or a regression in one of them. Folks seem to think this issue was resolved. I actually found a number of projects that implemented their own solution, but they were all slightly different. Have you looked into reopening 6670302 with a sample program that recreates it under Java 8b131? Or, does the sample app used in that defect reproduce on your system possibly? > Epoll Selector Bug > ------------------ > > Key: THRIFT-4251 > URL: https://issues.apache.org/jira/browse/THRIFT-4251 > Project: Thrift > Issue Type: Bug > Components: Java - Compiler, Java - Library > Affects Versions: 0.10.0 > Environment: Linux version 3.10.0-327.el7.x86_64 > (buil...@kbuilder.dev.centos.org) > java version "1.8.0_131" > Reporter: JohnnyLiao > Labels: epoll, jdk, selector > > Thrift java unsolve the infamous epoll bug. It's consum 100% cpu resource > when this occured. It seems to affect any NIO based Java server applications > running in the specified environment. Some projects provide workarounds for > similar JDK bugs, for example replaces the current Selector of this > SelectorThread.select with newly created Selector. > Stack Traceļ¼ > "Thread-46" #95 prio=5 os_prio=0 tid=0x00007fc79cd02800 nid=0xb1 runnable > [0x00007fc580bd1000] > java.lang.Thread.State: RUNNABLE > 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) > - locked <0x000000008012f748> (a sun.nio.ch.Util$3) > - locked <0x000000008012f738> (a > java.util.Collections$UnmodifiableSet) > - locked <0x0000000080120f58> (a sun.nio.ch.EPollSelectorImpl) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101) > at > org.apache.thrift.server.TThreadedSelectorServer$SelectorThread.select(TThreadedSelectorServer.java:570) > at > org.apache.thrift.server.TThreadedSelectorServer$SelectorThread.run(TThreadedSelectorServer.java:541) -- This message was sent by Atlassian JIRA (v6.4.14#64029)