CARVIEW |
Select Language
HTTP/2 200
date: Sat, 09 Aug 2025 09:47:55 GMT
content-type: text/html; charset=utf-8
cache-control: max-age=0, private, must-revalidate
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
link: ; rel=preload; as=fetch; crossorigin=use-credentials
referrer-policy: no-referrer-when-downgrade
server-timing: issue_layout-fragment;desc="issue_layout fragment";dur=184.550081,issue_conversation_content-fragment;desc="issue_conversation_content fragment";dur=517.111683,issue_conversation_sidebar-fragment;desc="issue_conversation_sidebar fragment";dur=34.886393,nginx;desc="NGINX";dur=0.650892,glb;desc="GLB";dur=100.297004
strict-transport-security: max-age=31536000; includeSubdomains; preload
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, Accept,Accept-Encoding, Accept, X-Requested-With
x-content-type-options: nosniff
x-frame-options: deny
x-voltron-version: 321f992
x-xss-protection: 0
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=xcoLt%2Fb60O0qG1BpRc84qzZyhq3Eh0No9mauR7wrp6Oye4KcGdzl3RqFgmsaPD86LbStQmJVuEUHSVH1o5r9aKA4YK%2B0ONyFUylB%2FUdEAxhYCZHFaG8ocdT2S%2BoJrAA9gQzNJcy8tBMpNiNtYKnFj1IF1EfUVvkpUAqvcmNefHk2CtNpn8wiwj9YQ3BBDMe%2BbgYAqpwpButYRbAJZm6IWp2IjXeFBTpoUdvTKvzq12pxEQd7X1p9KDjyahYjt3bYeJPhbWGHWs%2Fh1A%2FSIMARWg%3D%3D--QGNEFoeMCAbmrsQh--x%2F4TiCVjfxzKBnHiNpmN0g%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.444184620.1754732874; Path=/; Domain=github.com; Expires=Sun, 09 Aug 2026 09:47:54 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sun, 09 Aug 2026 09:47:54 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: BD86:229030:AA1D4:DA61E:6897194A
EPollArrayWrapper.epollWait 100% CPU Usage · Issue #327 · netty/netty · GitHub
No typeNo projectsNone yetNo branches or pull requests
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 16.1k
Closed
Description
Hi,
I believe I have an issue similar to #302 but on Linux (Ubuntu 10.04) with JDK (1.6.0u30) and JDK(1.7.0u4) using Netty-4.0.0 (Revision: 52a7d28)
The app is proxying connections to backend systems. The proxy has a pool of channels that it can use to send requests to the backend systems. If the pool is low on channels, new channels are spawned and put into the pool so that requests sent to the proxy can be serviced. The pools get populated on app startup, so that is why it doesn't take long at all for the CPU to spike through the roof (22 seconds into the app lifecycle).
The test box has two CPUs, the output from 'top' is below:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8220 root 20 0 2281m 741m 10m R 50.2 18.7 0:22.57 java
8218 root 20 0 2281m 741m 10m R 49.9 18.7 0:22.65 java
8219 root 20 0 2281m 741m 10m R 49.2 18.7 0:22.86 java
8221 root 20 0 2281m 741m 10m R 49.2 18.7 0:22.20 java
Thread Dump for the four NioClient based Worker Threads that are chewing up all the CPU.
"backend-worker-pool-7-thread-1" prio=10 tid=0x00007f5918015800 nid=0x201a runnable [0x00007f5924ba3000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:210)
at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
- locked <0x000000008be93580> (a sun.nio.ch.Util$2)
- locked <0x000000008be93570> (a java.util.Collections$UnmodifiableSet)
- locked <0x000000008be92548> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at io.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:55)
at io.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:261)
at io.netty.channel.socket.nio.NioWorker.run(NioWorker.java:37)
at io.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:43)
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:662) Locked ownable synchronizers: - <0x000000008be00748> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
"backend-worker-pool-7-thread-2" prio=10 tid=0x00007f5918012000 nid=0x201b runnable [0x00007f5924b82000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:210)
at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
- locked <0x000000008be94a28> (a sun.nio.ch.Util$2)
- locked <0x000000008be94a18> (a java.util.Collections$UnmodifiableSet)
- locked <0x000000008be90648> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at io.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:55)
at io.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:261)
at io.netty.channel.socket.nio.NioWorker.run(NioWorker.java:37)
at io.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:43)
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:662) Locked ownable synchronizers: - <0x000000008be904c8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
"backend-worker-pool-7-thread-3" prio=10 tid=0x00007f5918007800 nid=0x201c runnable [0x00007f5924b61000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:210)
at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
- locked <0x000000008be952e0> (a sun.nio.ch.Util$2)
- locked <0x000000008be952d0> (a java.util.Collections$UnmodifiableSet)
- locked <0x000000008be8f858> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at io.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:55)
at io.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:261)
at io.netty.channel.socket.nio.NioWorker.run(NioWorker.java:37)
at io.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:43)
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:662) Locked ownable synchronizers: - <0x000000008be8f618> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
"backend-worker-pool-7-thread-4" prio=10 tid=0x00007f5918019000 nid=0x201d runnable [0x00007f5924b40000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:210)
at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
- locked <0x000000008be003f8> (a sun.nio.ch.Util$2)
- locked <0x000000008be003e8> (a java.util.Collections$UnmodifiableSet)
- locked <0x000000008be00408> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at io.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:55)
at io.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:261)
at io.netty.channel.socket.nio.NioWorker.run(NioWorker.java:37)
at io.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:43)
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:662) Locked ownable synchronizers: - <0x000000008be004e0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
Issue actions
You can’t perform that action at this time.