Coder Social home page Coder Social logo

netty-incubator-transport-io_uring's Introduction

Build project

Netty Project

Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.

Links

How to build

For the detailed information about building and developing Netty, please visit the developer guide. This page only gives very basic information.

You require the following to build Netty:

Note that this is build-time requirement. JDK 5 (for 3.x) or 6 (for 4.0+ / 4.1+) is enough to run your Netty-based application.

Branches to look

Development of all versions takes place in each branch whose name is identical to <majorVersion>.<minorVersion>. For example, the development of 3.9 and 4.1 resides in the branch '3.9' and the branch '4.1' respectively.

Usage with JDK 9+

Netty can be used in modular JDK9+ applications as a collection of automatic modules. The module names follow the reverse-DNS style, and are derived from subproject names rather than root packages due to historical reasons. They are listed below:

  • io.netty.all
  • io.netty.buffer
  • io.netty.codec
  • io.netty.codec.dns
  • io.netty.codec.haproxy
  • io.netty.codec.http
  • io.netty.codec.http2
  • io.netty.codec.memcache
  • io.netty.codec.mqtt
  • io.netty.codec.redis
  • io.netty.codec.smtp
  • io.netty.codec.socks
  • io.netty.codec.stomp
  • io.netty.codec.xml
  • io.netty.common
  • io.netty.handler
  • io.netty.handler.proxy
  • io.netty.resolver
  • io.netty.resolver.dns
  • io.netty.transport
  • io.netty.transport.epoll (native omitted - reserved keyword in Java)
  • io.netty.transport.kqueue (native omitted - reserved keyword in Java)
  • io.netty.transport.unix.common (native omitted - reserved keyword in Java)
  • io.netty.transport.rxtx
  • io.netty.transport.sctp
  • io.netty.transport.udt

Automatic modules do not provide any means to declare dependencies, so you need to list each used module separately in your module-info file.

netty-incubator-transport-io_uring's People

Contributors

1jo1 avatar alexprogrammerde avatar amizurov avatar bryce-anderson avatar chrisvest avatar dependabot[bot] avatar franz1981 avatar hookwoods avatar hyperxpro avatar jorsol avatar netty-project-bot avatar njhill avatar normanmaurer avatar panxuefeng-loongson avatar pveentjer avatar scottmitch avatar sullis avatar terrarier2111 avatar violetagg avatar yawkat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

netty-incubator-transport-io_uring's Issues

Why do we test the official benchmark results showing no difference between iouring and nio?

We used the official test program, but the results we got were almost no difference between iouring and nio. We use the official benchmark program, our test host has 32 cores, 200G RAM and the kernel version is 5.13.0

The following are our test codes.
`

import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.*;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioServerSocketChannel;

public class EchoNioServer {
private static final int PORT = Integer.parseInt(System.getProperty("port", "8088"));

public static void main(String []args) {
    System.out.println("start Nio server");
    EventLoopGroup group = new NioEventLoopGroup();
    final EchoServerHandler serverHandler = new EchoServerHandler();
    //boss用来接收进来的连接
    EventLoopGroup bossGroup = new NioEventLoopGroup();
    //用来处理已经被接收的连接;
    EventLoopGroup workerGroup = new NioEventLoopGroup();
    try {
        ServerBootstrap b = new ServerBootstrap();
        b.group(bossGroup, workerGroup)
                .option(ChannelOption.SO_REUSEADDR, true)
                .channel(NioServerSocketChannel.class)
                .childHandler(new ChannelInitializer<SocketChannel>() {
                    @Override
                    public void initChannel(SocketChannel ch) throws Exception {
                        ChannelPipeline p = ch.pipeline();
                        //p.addLast(new LoggingHandler(LogLevel.INFO));
                        p.addLast(serverHandler);
                    }
                });

        // Start the server.
        ChannelFuture f = b.bind(PORT).sync();

        // Wait until the server socket is closed.
        f.channel().closeFuture().sync();
    } catch (InterruptedException e) {
        e.printStackTrace();
    } finally {
        // Shut down all event loops to terminate all threads.
        group.shutdownGracefully();
        workerGroup.shutdownGracefully();
        bossGroup.shutdownGracefully();
    }
}

}

import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.*;
import io.netty.channel.socket.SocketChannel;
import io.netty.incubator.channel.uring.IOUringEventLoopGroup;
import io.netty.incubator.channel.uring.IOUringServerSocketChannel;

// This is using io_uring
public class EchoIOUringServer {
private static final int PORT = Integer.parseInt(System.getProperty("port", "8081"));

public static void main(String []args) {
    System.out.println("start iouring server");
    EventLoopGroup group = new IOUringEventLoopGroup();
    final EchoServerHandler serverHandler = new EchoServerHandler();
    //boss用来接收进来的连接
    EventLoopGroup bossGroup = new IOUringEventLoopGroup();
    //用来处理已经被接收的连接;
    EventLoopGroup workerGroup = new IOUringEventLoopGroup();

    try {
        ServerBootstrap b = new ServerBootstrap();
        b.group(bossGroup, workerGroup)
                .option(ChannelOption.SO_REUSEADDR, true)
                .channel(IOUringServerSocketChannel.class)
                .childHandler(new ChannelInitializer<SocketChannel>() {
                    @Override
                    public void initChannel(SocketChannel ch) throws Exception {
                        ChannelPipeline p = ch.pipeline();
                        //p.addLast(new LoggingHandler(LogLevel.INFO));
                        p.addLast(serverHandler);
                    }
                });

        // Start the server.
        ChannelFuture f = b.bind(PORT).sync();

        // Wait until the server socket is closed.
        f.channel().closeFuture().sync();
    } catch (InterruptedException e) {
        e.printStackTrace();
    } finally {
        // Shut down all event loops to terminate all threads.
        group.shutdownGracefully();
        workerGroup.shutdownGracefully();
        bossGroup.shutdownGracefully();
    }
}

}

import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;

@ChannelHandler.Sharable
public class EchoServerHandler extends ChannelInboundHandlerAdapter {

@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
    ctx.write(msg);
}

@Override
public void channelReadComplete(ChannelHandlerContext ctx) {
    ctx.flush();
}

@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
    // Close the connection when an exception is raised.
    ctx.close();
}

@Override
public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception {
    // Ensure we are not writing to fast by stop reading if we can not flush out data fast enough.
    if (ctx.channel().isWritable()) {
        ctx.channel().config().setAutoRead(true);
    } else {
        ctx.flush();
        if (!ctx.channel().isWritable()) {
            ctx.channel().config().setAutoRead(false);
        }
    }
}

}

`

Above is our test procedure, which is from the benchmark on the official website, but there is almost no difference in the results we measured.

image

Event Loop shutdown stuck due to uncompleted connect

Reproducer:

public class IOUringClientSocketConnectionShortTimeoutTest extends AbstractClientSocketTest {

   @BeforeAll
   public static void loadJNI() {
      assumeTrue(IOUring.isAvailable());
   }

   @Test
   @Timeout(value = 30000, unit = TimeUnit.MILLISECONDS)
   public void testConnectTimeoutAndClose(TestInfo testInfo) throws Throwable {
      run(testInfo, (bootstrap) -> {
         testFailedConnectWithSuperShortTimeout(bootstrap);
         bootstrap.config().group().shutdownGracefully().sync();;
      });
   }

   public void testFailedConnectWithSuperShortTimeout(Bootstrap cb) throws Throwable {
      cb.handler(new SimpleChannelInboundHandler<Object>() {
         @Override
         public void channelRead0(ChannelHandlerContext ctx, Object msgs)  {
            // Nothing will be sent.
         }
      });
      cb.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 1);
      ChannelFuture future = cb.connect("198.51.100.254", 65535);
      try {
         assertThat(future.await(30000), is(true));
      } finally {
         Assert.assertTrue(future.cause() instanceof ConnectTimeoutException);
      }
   }

   @Override
   protected List<TestsuitePermutation.BootstrapFactory<Bootstrap>> newFactories() {
      return IOUringSocketTestPermutation.INSTANCE.clientSocket();
   }
}

This test will hang forever (30 sec thanks to the test timeout) after requesting the group to shutdown gracefully, due to:

"testsuite-io_uring-worker-11-1@3031" daemon prio=5 tid=0xf nid=NA runnable
  java.lang.Thread.State: RUNNABLE
	  at io.netty.incubator.channel.uring.Native.ioUringEnter(Native.java:-1)
	  at io.netty.incubator.channel.uring.IOUringSubmissionQueue.submit(IOUringSubmissionQueue.java:254)
	  at io.netty.incubator.channel.uring.IOUringSubmissionQueue.submitAndWait(IOUringSubmissionQueue.java:242)
	  at io.netty.incubator.channel.uring.IOUringEventLoop.cleanup(IOUringEventLoop.java:344)
	  at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:1044)
	  at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	  at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	  at java.lang.Thread.run(Thread.java:750)

This will mimic what we're experiencing in the Vert-x test suite due to a very similar test (and few others, related server side, but still due to pending CQEs that never happen).

@cescoffier @vietj

Memory is not reclaimed after death of a process

When we run an app that uses io_uring, and then gracefully shutdown it - all following attempts to start it again fail because of OOM. Looks like shared buffers are not reclaimed when an app exits.

/proc/meminfo reports before and after are below.
Please look at Mapped and Shmem metrics.

Before:

MemTotal:        4026908 kB
MemFree:         2939452 kB
MemAvailable:    2929140 kB
Buffers:           13132 kB
Cached:           795416 kB
SwapCached:            0 kB
Active:            65104 kB
Inactive:         941052 kB
Active(anon):        448 kB
Inactive(anon):   824480 kB
Active(file):      64656 kB
Inactive(file):   116572 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:              5608 kB
Writeback:             0 kB
AnonPages:        197620 kB
Mapped:           563324 kB
Shmem:            627224 kB
KReclaimable:      23108 kB
Slab:              41216 kB
SReclaimable:      23108 kB
SUnreclaim:        18108 kB
KernelStack:        2784 kB
PageTables:         4432 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2013452 kB
Committed_AS:    1088240 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       13560 kB
VmallocChunk:          0 kB
Percpu:             1120 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:       77796 kB
DirectMap2M:     4116480 kB

After:

MemTotal:        4026908 kB
MemFree:           87072 kB
MemAvailable:          0 kB
Buffers:            1912 kB
Cached:          2835300 kB
SwapCached:            0 kB
Active:            67296 kB
Inactive:        3619632 kB
Active(anon):      59276 kB
Inactive(anon):  3611160 kB
Active(file):       8020 kB
Inactive(file):     8472 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 4 kB
Writeback:             0 kB
AnonPages:        849724 kB
Mapped:          2708828 kB
Shmem:           2820712 kB
KReclaimable:      28840 kB
Slab:              74780 kB
SReclaimable:      28840 kB
SUnreclaim:        45940 kB
KernelStack:        3952 kB
PageTables:        19856 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2013452 kB
Committed_AS:    3569584 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       14820 kB
VmallocChunk:          0 kB
Percpu:             1456 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      147428 kB
DirectMap2M:     4046848 kB

Operation not permitted

Hello, this issue is linked to io_uring but not really netty but I would like to know if some of you could help me. I'm trying the io uring in a docker container, and when I start it, I got this error every time.

java.lang.RuntimeException: failed to create io_uring ring fd Operation not permitted at io.netty.incubator.channel.uring.Native.ioUringSetup(Native Method) ~[onefork.jar:git-OneFork-47e86db] at io.netty.incubator.channel.uring.Native.createRingBuffer(Native.java:141) ~[onefork.jar:git-OneFork-47e86db] at io.netty.incubator.channel.uring.Native.createRingBuffer(Native.java:174) ~[onefork.jar:git-OneFork-47e86db] at io.netty.incubator.channel.uring.IOUring.<clinit>(IOUring.java:36) ~[onefork.jar:git-OneFork-47e86db]

Without docker, the server starts normally but looks like Docker hasn't the permission and I can't find how to fix it. Thank you!

Memory leak without usage traces

Netty version: 4.1.82.Final
IoUring version: 0.0.14.Final
Flags: -Dio.netty.leakDetection.level=PARANOID -Dio.netty.leakDetection.targetRecords=20

Log:

04:17:46 [INFO] [Ne_4iter_282] <-> ServerConnector [Anarchy602] has connected
04:17:46 [INFO] [Ne_4iter_282] <-> DownstreamBridge <-> [Hub5] has disconnected
04:17:47 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:47 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:47 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:47 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:47 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:47 [INFO] [nokor] <-> ServerConnector [Anarchy108] has connected
04:17:47 [INFO] [nokor] <-> DownstreamBridge <-> [Hub9] has disconnected
04:17:47 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:47 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:48 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:48 [SEVERE] LEAK: ByteBuf.release() was not called before it's garbage-collected. See https://netty.io/wiki/reference-counted-objects.html for more information.
Recent access records: 
Created at:
	io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:403)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:188)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:179)
	io.netty.channel.unix.PreferredDirectByteBufAllocator.ioBuffer(PreferredDirectByteBufAllocator.java:53)
	io.netty.channel.DefaultMaxMessagesRecvByteBufAllocator$MaxMessageHandle.allocate(DefaultMaxMessagesRecvByteBufAllocator.java:120)
	io.netty.incubator.channel.uring.IOUringRecvByteAllocatorHandle.allocate(IOUringRecvByteAllocatorHandle.java:43)
	io.netty.incubator.channel.uring.AbstractIOUringStreamChannel$IOUringStreamUnsafe.scheduleRead0(AbstractIOUringStreamChannel.java:251)
	io.netty.incubator.channel.uring.AbstractIOUringChannel$AbstractUringUnsafe.scheduleRead(AbstractIOUringChannel.java:527)
	io.netty.incubator.channel.uring.AbstractIOUringStreamChannel$IOUringStreamUnsafe.readComplete0(AbstractIOUringStreamChannel.java:303)
	io.netty.incubator.channel.uring.AbstractIOUringChannel$AbstractUringUnsafe.readComplete(AbstractIOUringChannel.java:469)
	io.netty.incubator.channel.uring.IOUringEventLoop.handleRead(IOUringEventLoop.java:281)
	io.netty.incubator.channel.uring.IOUringEventLoop.handle(IOUringEventLoop.java:255)
	io.netty.incubator.channel.uring.UserData.decode(UserData.java:30)
	io.netty.incubator.channel.uring.IOUringCompletionQueue.process(IOUringCompletionQueue.java:90)
	io.netty.incubator.channel.uring.IOUringEventLoop.run(IOUringEventLoop.java:203)
	io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	java.base/java.lang.Thread.run(Thread.java:833)
04:17:48 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:49 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:49 [INFO] [SimleXPrO] <-> ServerConnector [Anarchy405] has connected
04:17:49 [INFO] [SimleXPrO] <-> DownstreamBridge <-> [Hub5] has disconnected
04:17:49 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:50 [INFO] [/127.0.0.1:0] <-> InitialHandler has pinged
04:17:50 [INFO] [/95.142.88.195:3505] <-> InitialHandler has connected
04:17:50 [INFO] [JamolzadeTop] <-> ServerConnector [Hub5] has connected
04:17:51 [INFO] [ZombaK_L_1] -> UpstreamBridge has disconnected

Reproduce steps:
Unknown

Kernel warning and instability in 5.10

I am seeing some dodgy behavior in 5.10. We did upgrade to 5.15 and that seemed to fix things, but leaving this here for posterity in case anybody else runs into the same issue. The IOUringEventLoopGroup appears to start and then fail to handle any tasks. The Java application appears to continue to run without exceptions or failures. Successive runs cause the kernel to seize up and for the networking to be come unresponsive in a cloud environment (AWS) rendering the instance wholly unusable. There also appeared to be some occasional page faults in there as well. Looks like some sort of internal kernel data structures are getting corrupted. Is this just a buggy kernel version? Should this project increase the minimum supported kernel?

uname -a (this is Amazon Linux 2)

Linux ip-10-204-40-54.ec2.internal 5.10.118-111.515.amzn2.x86_64 #1 SMP Wed May 25 22:12:19 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

/var/log/messages snippet:

Aug 15 19:56:11 ip-10-204-40-54 kernel: ------------[ cut here ]------------
Aug 15 19:56:11 ip-10-204-40-54 kernel: WARNING: CPU: 32 PID: 33572 at lib/iov_iter.c:1095 iov_iter_revert+0xb2/0x1d0
Aug 15 19:56:11 ip-10-204-40-54 kernel: Modules linked in: falcon_lsm_serviceable(PE) falcon_nf_netcontain(PE) falcon_kal(E) falcon_lsm_pinned_13804(E) binfmt_misc sunrpc dm_mirror dm_region_hash dm_log dm_mod dax crc32_pclmul ghash_clmulni_intel aesni_intel crypto_simd cryptd glue_helper mousedev psmouse button ena crc32c_intel
Aug 15 19:56:11 ip-10-204-40-54 kernel: CPU: 32 PID: 33572 Comm: IOUringEventLoo Tainted: P      D W   E     5.10.118-111.515.amzn2.x86_64 #1
Aug 15 19:56:11 ip-10-204-40-54 kernel: Hardware name: Amazon EC2 c5.9xlarge/, BIOS 1.0 10/16/2017
Aug 15 19:56:11 ip-10-204-40-54 kernel: RIP: 0010:iov_iter_revert+0xb2/0x1d0
Aug 15 19:56:11 ip-10-204-40-54 kernel: Code: 4c 8d 40 01 48 83 c0 02 4c 89 47 20 48 39 ce 76 d6 48 83 ea 10 48 29 ce 8b 4a 08 48 89 47 20 48 83 c0 01 48 39 f1 72 e9 eb bd <0f> 0b c3 41 55 41 54 55 53 4c 8b 67 18 8b 5f 20 48 8b 57 08 41 8b
Aug 15 19:56:11 ip-10-204-40-54 kernel: RSP: 0018:ffffb9510874bbe0 EFLAGS: 00010202
Aug 15 19:56:11 ip-10-204-40-54 kernel: RAX: ffff8bb277fdbb88 RBX: 0000000000000008 RCX: 0000000000000000
Aug 15 19:56:11 ip-10-204-40-54 kernel: RDX: 0000000000000001 RSI: 0000744d88024480 RDI: ffffb9510874bc00
Aug 15 19:56:11 ip-10-204-40-54 kernel: RBP: ffff8ba1c6a7b600 R08: fffffffffffffff5 R09: ffff8ba1c456a500
Aug 15 19:56:11 ip-10-204-40-54 kernel: R10: 00007f71752c54b0 R11: 0000000000000000 R12: 0000000000000000
Aug 15 19:56:11 ip-10-204-40-54 kernel: R13: ffffb9510874bc00 R14: 0000000000000001 R15: ffffb9510874bc30
Aug 15 19:56:11 ip-10-204-40-54 kernel: FS:  00007f70207ca700(0000) GS:ffff8bb231e00000(0000) knlGS:0000000000000000
Aug 15 19:56:11 ip-10-204-40-54 kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Aug 15 19:56:11 ip-10-204-40-54 kernel: CR2: 00007f70207b5a20 CR3: 0000000f40ebe002 CR4: 00000000007706e0
Aug 15 19:56:11 ip-10-204-40-54 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Aug 15 19:56:11 ip-10-204-40-54 kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Aug 15 19:56:11 ip-10-204-40-54 kernel: PKRU: 55555554
Aug 15 19:56:11 ip-10-204-40-54 kernel: Call Trace:
Aug 15 19:56:11 ip-10-204-40-54 kernel: io_read+0x35e/0x380
Aug 15 19:56:11 ip-10-204-40-54 kernel: ? kernel_init_free_pages+0x46/0x60
Aug 15 19:56:11 ip-10-204-40-54 kernel: ? prep_new_page+0x6c/0x80
Aug 15 19:56:11 ip-10-204-40-54 kernel: ? xas_alloc+0x9b/0xc0
Aug 15 19:56:11 ip-10-204-40-54 kernel: ? get_page_from_freelist+0x2e2/0x340
Aug 15 19:56:11 ip-10-204-40-54 kernel: io_issue_sqe+0x53c/0x980
Aug 15 19:56:11 ip-10-204-40-54 kernel: ? io_req_prep+0x70c/0xd50
Aug 15 19:56:11 ip-10-204-40-54 kernel: ? xas_alloc+0x9b/0xc0
Aug 15 19:56:11 ip-10-204-40-54 kernel: __io_queue_sqe+0x88/0x200
Aug 15 19:56:11 ip-10-204-40-54 kernel: io_submit_sqe+0x1e8/0x280
Aug 15 19:56:11 ip-10-204-40-54 kernel: io_submit_sqes+0x1c6/0x5a0
Aug 15 19:56:11 ip-10-204-40-54 kernel: __do_sys_io_uring_enter+0x237/0x3a0
Aug 15 19:56:11 ip-10-204-40-54 kernel: do_syscall_64+0x33/0x40
Aug 15 19:56:11 ip-10-204-40-54 kernel: entry_SYSCALL_64_after_hwframe+0x44/0xa9
Aug 15 19:56:11 ip-10-204-40-54 kernel: RIP: 0033:0x7f717ce692e9
Aug 15 19:56:11 ip-10-204-40-54 kernel: Code: 00 f3 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 67 cb 2b 00 f7 d8 64 89 01 48
Aug 15 19:56:11 ip-10-204-40-54 kernel: RSP: 002b:00007f70207c95c8 EFLAGS: 00000202 ORIG_RAX: 00000000000001aa
Aug 15 19:56:11 ip-10-204-40-54 kernel: RAX: ffffffffffffffda RBX: 00000000000000c6 RCX: 00007f717ce692e9
Aug 15 19:56:11 ip-10-204-40-54 kernel: RDX: 0000000000000001 RSI: 0000000000000002 RDI: 00000000000000c6
Aug 15 19:56:11 ip-10-204-40-54 kernel: RBP: 00007f70207c95e0 R08: 0000000000000000 R09: 0000000000000008
Aug 15 19:56:11 ip-10-204-40-54 kernel: R10: 0000000000000001 R11: 0000000000000202 R12: 0000000000000001
Aug 15 19:56:11 ip-10-204-40-54 kernel: R13: 0000000000000002 R14: 0000000000000001 R15: 00007f7175b3d260
Aug 15 19:56:11 ip-10-204-40-54 kernel: ---[ end trace 310f2be91541cf09 ]---

Seems to be coming from https://elixir.bootlin.com/linux/v5.10.118/source/lib/iov_iter.c#L1095

Possible lead from https://man.archlinux.org/man/io_uring_setup.2.en

Before version 5.11 of the Linux kernel, to successfully use this feature, the application must register a set of files to be used for IO through io_uring_register(2) using the IORING_REGISTER_FILES opcode. Failure to do so will result in submitted IO being errored with EBADF. The presence of this feature can be detected by the IORING_FEAT_SQPOLL_NONFIXED feature flag. In version 5.11 and later, it is no longer necessary to register files to use this feature. 5.11 also allows using this as non-root, if the user has the CAP_SYS_NICE capability.

PollRemoveTest test failure

git commit 70d645a

PollRemoveTest test failure

io.netty.channel.unix.Errors$NativeIoException: bind(..) failed: Address already in use

PollRemoveTest.java 79 line

Default iosqeAsyncThreshold slow for many connections

The default iosqeAsyncThreshold (25) is comparatively slow when benchmarking many connections. This is a simple HTTP benchmark ( https://github.com/yawkat/micronaut-http-benchmarks/tree/262d50b525004c2c6dcd3fea8a442bab707fd638/test-case-pure-netty ). Each subplot shows a different request rate. The y axis is the request latency, the x axis the latency percentile. Blue is the default iosqeAsyncThreshold, Orange is an iosqeAsyncThreshold turned up to Integer.MAX_VALUE. The connection count is min(rps, 20000), i.e. for the low request rates each connection gets ~1 req/s, but it maxes out at 20000 connections so at the higher request rates there may be more req/s on each connection.

iosqeAsyncThreshold

As you can see, in all tested scenarios, IOSQE_ASYNC adds >30µs to the request latency. It also seems to worsen the max throughput. In a separate benchmark vs nio, this lead to worse performance for io-uring.

Thanks @franz1981 for pointing me towards this setting and its impact.

Dual IP stack problems when IOUring is initialized (even not used)

We have a simple class that checks available polling libraries (epoll, iouring) and provides the best one (see below).
When we disable uring (by removing 'iouring.enabled' from the command line) its expected that behaviour will be the same as if iouring completely removed from the code and dependencies.

Nevertheless, when we keep it in place (without even using it - epoll is used - 4.19 kernel wouldn't allow to use iouring) we experience some problems with IPv6 stack:
Address family not supported by protocol: /[2a01:b740:a41:20d:0:0:0:9]:443
Outgoing connection to [2a01:b740:a41:20d:0:0:0:9]:443 failed

So when the library is initialized it somehow breaks IPv6 stack.
Removing dependency and iouring-related strings fixes problem.
Will provide MRE later.

public class PollingSubsystem {

    @Getter
    private static final boolean epollEnabled = Epoll.isAvailable();

    @Getter
    private static final boolean iouringEnabled =
            SystemPropertyUtil.getBoolean("iouring.enabled", false)
                    && IOUring.isAvailable();

    @Getter
    private static final Class<? extends ServerChannel> serverSocketChannelImpl =
            iouringEnabled ? IOUringServerSocketChannel.class :
            epollEnabled ? EpollServerSocketChannel.class :
                    NioServerSocketChannel.class;


    @Getter
    private static final Class<? extends SocketChannel> socketChannelImpl =
            iouringEnabled ? IOUringSocketChannel.class :
            epollEnabled ? EpollSocketChannel.class :
                    NioSocketChannel.class;

    @Getter
    private static final Class<? extends DatagramChannel> datagramChannelImpl =
            iouringEnabled ? IOUringDatagramChannel.class :
            epollEnabled ? EpollDatagramChannel.class :
                    NioDatagramChannel.class;

    static {
        log.info("IOUring.isAvailable(): {}", IOUring.isAvailable());
        log.info("-Diouring.enabled: {}", SystemPropertyUtil.getBoolean("iouring.enabled", false));
        log.info("Epoll.isAvailable(): {}", Epoll.isAvailable());
    }
...
}

Add IOSQE_ASYNC_HYBRID support

torvalds/linux@90fa028 has introduced IOSQE_ASYNC_HYBRID that would be beneficial "in cases where unbound max_worker is relatively small" (quoting the commit msg).

We should also provide some guidance/doc/readme to tell users to limit the number of max_workers as #106 shows that people would get a huge amount of time spent by lot of kernel threads to async complete unbound I/O work

AbstractIOUringStreamChannel iovArray litter

Every time there is a writev, an IovArray instance is created. Also, there is the overhead of pooling the memory of the iovArrayBuffer.

 @Override
        protected int scheduleWriteMultiple(ChannelOutboundBuffer in) {
            assert iovArray == null;
            int numElements = Math.min(in.size(), Limits.IOV_MAX);
            ByteBuf iovArrayBuffer = alloc().directBuffer(numElements * IovArray.IOV_SIZE);
            iovArray = new IovArray(iovArrayBuffer); <-----
            try {
                int offset = iovArray.count();
                in.forEachFlushedMessage(iovArray);
                submissionQueue().addWritev(socket.intValue(),
                        iovArray.memoryAddress(offset), iovArray.count() - offset, (short) 0);
            } catch (Exception e) {
                // This should never happen, anyway fallback to single write.
                iovArray.release();
                iovArray = null;
                scheduleWriteSingle(in.current());
            }
            return 1;
        }

Perhaps it would be better to preallocate the iovArray with ByteBuff of size:

ByteBuf iovArrayBuffer = alloc().directBuffer(IOV_MAX * IovArray.IOV_SIZE);
iovArray = new IovArray(iovArrayBuffer); 

This way the iovArray is always big enough for any number of buffers.

So the usage would look something like this:

 @Override
        protected int scheduleWriteMultiple(ChannelOutboundBuffer in) {
            iovArray.clear();
            try {
                int offset = iovArray.count();
                in.forEachFlushedMessage(iovArray);
                submissionQueue().addWritev(socket.intValue(),
                        iovArray.memoryAddress(offset), iovArray.count() - offset, (short) 0);
            } catch (Exception e) {
                // This should never happen, anyway fallback to single write.
                scheduleWriteSingle(in.current());
            }
            return 1;
        }

One drawback of preallocating is that it will consume extra memory. So with a 64 bit JVM and 1024 as IOV_MAX, this would be around '2 * 8B * 1024 = 16KB'. So perhaps that would be a reason to not pool by default.

java.lang.RuntimeException: failed to create io_uring ring fd Cannot allocate memory

Hi,
Sorry it probably is related to having to increase some kind of limits, but I don't know which or where this is mentioned, so I'm posting this in case someone encountered or has the same problem.

I'm getting a

Exception in thread "main" java.lang.UnsatisfiedLinkError: failed to load the required native library
	at io.netty.incubator.channel.uring.IOUring.ensureAvailability(IOUring.java:63)
	at io.netty.incubator.channel.uring.IOUringEventLoop.<init>(IOUringEventLoop.java:64)
	at io.netty.incubator.channel.uring.IOUringEventLoopGroup.newChild(IOUringEventLoopGroup.java:117)
	at io.netty.incubator.channel.uring.IOUringEventLoopGroup.newChild(IOUringEventLoopGroup.java:31)
	at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:84)
	at io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:68)
	at io.netty.incubator.channel.uring.IOUringEventLoopGroup.<init>(IOUringEventLoopGroup.java:100)
	at io.netty.incubator.channel.uring.IOUringEventLoopGroup.<init>(IOUringEventLoopGroup.java:93)
	at io.netty.incubator.channel.uring.IOUringEventLoopGroup.<init>(IOUringEventLoopGroup.java:86)
	at io.netty.incubator.channel.uring.IOUringEventLoopGroup.<init>(IOUringEventLoopGroup.java:75)
	at io.netty.incubator.channel.uring.IOUringEventLoopGroup.<init>(IOUringEventLoopGroup.java:58)
	at io.netty.incubator.channel.uring.IOUringEventLoopGroup.<init>(IOUringEventLoopGroup.java:44)
	at com.balamaci.net.async.netty.NettyServerStart.main(NettyServerStart.java:20)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:128)
Caused by: java.lang.RuntimeException: failed to create io_uring ring fd Cannot allocate memory
	at io.netty.incubator.channel.uring.Native.ioUringSetup(Native Method)
	at io.netty.incubator.channel.uring.Native.createRingBuffer(Native.java:141)
	at io.netty.incubator.channel.uring.Native.createRingBuffer(Native.java:174)
	at io.netty.incubator.channel.uring.IOUring.<clinit>(IOUring.java:36)
	... 17 more

Process finished with exit code 1

Initially on 5.4 Kernel in Ubuntu, upgraded to 5.9.10 but still same.

Code is https://github.com/balamaci/async-profiler-playground/blob/master/src/main/java/com/balamaci/net/async/netty/NettyServerStart.java

Running on JDK 15.

Not Fired timers leak into the kernel

This has been reported by @pveentjer in a private conversation about io_uring Netty mechanics.

  1. schedule a timer in 2 minutes
  2. await till the IoUring event loop park/wait
  3. schedule a second timer 10 seconds which is going to replace the last deadline set
  4. once it fires, the next in-line scheduled task was the previous one of 2 min(now <= 1m50s, likely): the event loop arm a timer for this deadline (<= 1m50s) BUT there was already such a timer, hence we arm it twice!

If we have a huge amount of already registered timers in the future, they will see their registrations to always happen twice, if their deadline is replaced with a new recent one.

Update the timer through a remove (via IORING_TIMEOUT_UPDATE) require >=5.11, while removing the existing one (when the new recent one need to be armed) is >=5.5.
There are several ways to address it, including NOT addressing it, but it can still cause silently to goes OOM or worse (no idea really).

I believe we had no covering for this because our await operations didn't allow any level of concurrency: if we block awaiting, is a blocking operations, period. But if we request to be awaken in the future, and we're awaken earlier, the same "in flight" request is not yet completed, hence allow to enqueue more and more of this.

Problem with os.detected.arch on AARCH64

I know that this library does not support AARCH64 at the moment but I tried to build it and see whether I can help supporting it.

Running mvn clean package starts with:

[INFO] ------------------------------------------------------------------------
[INFO] Detecting the operating system and CPU architecture
[INFO] ------------------------------------------------------------------------
[INFO] os.detected.name: linux
[INFO] os.detected.arch: aarch_64
...

and later fails with:

[ERROR] Failed to execute goal on project netty-incubator-transport-native-io_uring: Could not resolve dependencies for project io.netty.incubator:netty-incubator-transport-native-io_uring:jar:0.0.2.Final-SNAPSHOT: Failure to find io.netty:netty-transport-native-unix-common:jar:linux-aarch_64:4.1.54.Final in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

netty-transport-native-unix-common:4.1.54 does have a binary for aarch64 but there is no _ in its classifier (linux-aarch64):

https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.54.Final/netty-transport-native-unix-common-4.1.54.Final-linux-aarch64.jar

I have no idea why os-maven-plugin puts this _ in the arch name (https://github.com/trustin/os-maven-plugin/#property-osdetectedarch) but this leads to issues like this one and netty/netty-tcnative#552.

LinuxSocket NoClassDefFoundError

when I run a netty example https://github.com/1Jo1/netty-io_uring-kernel-debugging/blob/master/src/main/java/uring/netty/example/EchoUringServer.java

Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class io.netty.incubator.channel.uring.LinuxSocket
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
	at java.lang.Runtime.load0(Runtime.java:810)
	at java.lang.System.load(System.java:1088)
	at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:36)
	at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:351)
	at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:205)
	at io.netty.incubator.channel.uring.Native.loadNativeLibrary(Native.java:219)
	at io.netty.incubator.channel.uring.Native.<clinit>(Native.java:55)
	at io.netty.incubator.channel.uring.IOUringEventLoopGroup.<init>(IOUringEventLoopGroup.java:58)
	at io.netty.incubator.channel.uring.IOUringEventLoopGroup.<init>(IOUringEventLoopGroup.java:44)
	at uring.netty.example.UringBenchmark.main(UringBenchmark.java:49)

as far as I know this #31 PR has caused this bug, it could be related to the maven build change

netty-io_uring version: current master aa26d0a

how to use?

hi:
change from

io.netty
netty-all
4.1.42.Final

to

io.netty.incubator
netty-incubator-transport-native-io_uring
0.0.9.Final
linux-x86_64

got lots of error such as missing

import io.netty.handler.codec.http.FullHttpResponse;
import io.netty.handler.codec.http.websocketx.CloseWebSocketFrame;
import io.netty.handler.codec.http.websocketx.ContinuationWebSocketFrame;
import io.netty.handler.codec.http.websocketx.PingWebSocketFrame;
import io.netty.handler.codec.http.websocketx.PongWebSocketFrame;
import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
import io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker;
import io.netty.handler.codec.http.websocketx.WebSocketFrame;
import io.netty.handler.codec.http.websocketx.WebSocketHandshakeException;

my questions is how to replace netty-all
thanks
Best Regards

`java.lang.UnsatisfiedLinkError: could not load a native library: netty_transport_native_io_uring_x86_64`

Hey Gurus,

I'm trying to use zio-http with io_uring. However I got java.lang.UnsatisfiedLinkError: could not load a native library: netty_transport_native_io_uring_x86_64 somehow.

The build dep looks like:

lazy val zhttp = (project in file("./zio-http"))
  .settings(stdSettings("zhttp"))
  .settings(publishSetting(true))
  .settings(
    ThisBuild / homepage   := Some(url("https://github.com/dream11/zio-http")),
    ThisBuild / scmInfo    :=
      Some(
        ScmInfo(url("https://github.com/dream11/zio-http"), "scm:[email protected]:dream11/zio-http.git"),
      ),
    ThisBuild / developers :=
      List(
        Developer(
          "tusharmath",
          "Tushar Mathur",
          "[email protected]",
          new URL("https://github.com/tusharmath"),
        ),
        Developer(
          "amitksingh1490",
          "Amit Kumar Singh",
          "[email protected]",
          new URL("https://github.com/amitksingh1490"),
        ),
      ),
    libraryDependencies ++=
      Seq(
        "dev.zio"                %% "zio"                     % zioVersion,
        "dev.zio"                %% "zio-streams"             % zioVersion,
        "io.netty"                % "netty-all"               % "4.1.68.Final",
        "io.netty.incubator"      % "netty-incubator-transport-native-io_uring" % "0.0.8.Final",
        "org.scala-lang.modules" %% "scala-collection-compat" % "2.5.0",
      ),
  )

eval println(IOUring.unavailabilityCause().toString()) will show java.lang.UnsatisfiedLinkError: could not load a native library: netty_transport_native_io_uring_x86_64

I'm running it on Linux madbox 5.14.8 #1-NixOS SMP Sun Sep 26 12:10:25 UTC 2021 x86_64 GNU/Linux

JVM crashes on `Native.ioUringSetup()`

I'm not sure how I can reproduce this, but I sometimes get a JVM crash when I try to load transport-io_uring on AdoptOpenJDK 15.0.2, Ubuntu 18.04.3. I know Ubuntu 18.04 runs a very old kernel and thus there's no point of loading io_uring, but I think it still shouldn't crash, because otherwise I can't figure out io_uring is available or not.

This may be relevant or not, but I load transport-epoll first, and then load transport-io_uring.

Here's the JVM crash log:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f2a57e06b61, pid=2611, tid=2637
#
# JRE version: OpenJDK Runtime Environment AdoptOpenJDK (15.0.2+7) (build 15.0.2+7)
# Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (15.0.2+7, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x239b61]  AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<548980ul, G1BarrierSet>, (AccessInternal::BarrierType)2, 548980ul>::oop_access_barrier(void*)+0x1
#
# Core dump will be written. Default location: /appveyor/projects/armeria/core/core.2611
#
# If you would like to submit a bug report, please visit:
#   https://github.com/AdoptOpenJDK/openjdk-support/issues
#

---------------  S U M M A R Y ------------

Command Line: -Dcom.linecorp.armeria.verboseExceptions=true -Dcom.linecorp.armeria.verboseResponses=true -Dio.netty.leakDetection.targetRecords=256 -Dio.netty.leakDetectionLevel=paranoid -Dorg.gradle.native=false -XX:-OmitStackTraceInFastThrow -Xmx512m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -ea worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 31'

Host: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz, 8 cores, 15G, Ubuntu 18.04.3 LTS
Time: Mon Apr  5 15:36:44 2021 UTC elapsed time: 2.131061 seconds (0d 0h 0m 2s)

---------------  T H R E A D  ---------------

Current thread (0x00007f2a50806ca0):  JavaThread "Test worker" [_thread_in_vm, id=2637, stack(0x00007f2a28112000,0x00007f2a28213000)]

Stack: [0x00007f2a28112000,0x00007f2a28213000],  sp=0x00007f2a2820b8e0,  free space=998k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x239b61]  AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<548980ul, G1BarrierSet>, (AccessInternal::BarrierType)2, 548980ul>::oop_access_barrier(void*)+0x1
C  [libnetty_transport_native_io_uring_x86_641527086398282109915.so+0x78c9]
C  [libnetty_transport_native_io_uring_x86_641527086398282109915.so+0x6e3f]
j  io.netty.incubator.channel.uring.Native.ioUringSetup(I)[[J+0
j  io.netty.incubator.channel.uring.Native.createRingBuffer(II)Lio/netty/incubator/channel/uring/RingBuffer;+1
j  io.netty.incubator.channel.uring.Native.createRingBuffer()Lio/netty/incubator/channel/uring/RingBuffer;+6
j  io.netty.incubator.channel.uring.IOUring.<clinit>()V+34
v  ~StubRoutines::call_stub
V  [libjvm.so+0x7e2425]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x355
V  [libjvm.so+0x7b62dc]  InstanceKlass::call_class_initializer(Thread*)+0x21c
V  [libjvm.so+0x7b698d]  InstanceKlass::initialize_impl(Thread*)+0x54d
V  [libjvm.so+0xc5e146]  invoke(InstanceKlass*, methodHandle const&, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*) [clone .constprop.122]+0x96
V  [libjvm.so+0xc5f6a1]  Reflection::invoke_method(oopDesc*, Handle, objArrayHandle, Thread*)+0x101
V  [libjvm.so+0x8a4dcc]  JVM_InvokeMethod+0xfc
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 [email protected]
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+113 [email protected]
J 862 c1 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; [email protected] (10 bytes) @ 0x00007f2a38a5432c [0x00007f2a38a54220+0x000000000000010c]
J 861 c1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; [email protected] (65 bytes) @ 0x00007f2a38a53dbc [0x00007f2a38a53a80+0x000000000000033c]
j  com.linecorp.armeria.internal.common.util.TransportTypeProvider.of(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/linecorp/armeria/internal/common/util/TransportTypeProvider;+18
j  com.linecorp.armeria.internal.common.util.TransportTypeProvider.<clinit>()V+252
v  ~StubRoutines::call_stub
V  [libjvm.so+0x7e2425]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x355
V  [libjvm.so+0x7b62dc]  InstanceKlass::call_class_initializer(Thread*)+0x21c
V  [libjvm.so+0x7b698d]  InstanceKlass::initialize_impl(Thread*)+0x54d
V  [libjvm.so+0xa1a07a]  LinkResolver::resolve_field(fieldDescriptor&, LinkInfo const&, Bytecodes::Code, bool, Thread*)+0x36a
V  [libjvm.so+0xa1a63c]  LinkResolver::resolve_field_access(fieldDescriptor&, constantPoolHandle const&, int, methodHandle const&, Bytecodes::Code, Thread*)+0xdc
V  [libjvm.so+0x7d6329]  InterpreterRuntime::resolve_get_put(JavaThread*, Bytecodes::Code)+0x1b9
V  [libjvm.so+0x7d83b5]  InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0x115
j  com.linecorp.armeria.common.util.TransportType.<clinit>()V+7
v  ~StubRoutines::call_stub
V  [libjvm.so+0x7e2425]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x355
V  [libjvm.so+0x7b62dc]  InstanceKlass::call_class_initializer(Thread*)+0x21c
V  [libjvm.so+0x7b698d]  InstanceKlass::initialize_impl(Thread*)+0x54d
V  [libjvm.so+0xa1a07a]  LinkResolver::resolve_field(fieldDescriptor&, LinkInfo const&, Bytecodes::Code, bool, Thread*)+0x36a
V  [libjvm.so+0xa1a63c]  LinkResolver::resolve_field_access(fieldDescriptor&, constantPoolHandle const&, int, methodHandle const&, Bytecodes::Code, Thread*)+0xdc
V  [libjvm.so+0x7d6329]  InterpreterRuntime::resolve_get_put(JavaThread*, Bytecodes::Code)+0x1b9
V  [libjvm.so+0x7d83b5]  InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0x115
j  com.linecorp.armeria.common.Flags.<clinit>()V+400
v  ~StubRoutines::call_stub
V  [libjvm.so+0x7e2425]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x355
V  [libjvm.so+0x7b62dc]  InstanceKlass::call_class_initializer(Thread*)+0x21c
V  [libjvm.so+0x7b698d]  InstanceKlass::initialize_impl(Thread*)+0x54d
V  [libjvm.so+0xa20b68]  LinkResolver::resolve_static_call(CallInfo&, LinkInfo const&, bool, Thread*)+0x448
V  [libjvm.so+0xa2182d]  LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle const&, int, Bytecodes::Code, Thread*)+0x24d
V  [libjvm.so+0x7d74ee]  InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code)+0x2fe
V  [libjvm.so+0x7d83a5]  InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0x105
j  com.linecorp.armeria.common.util.EventLoopGroups.newEventLoopGroup(ILjava/lang/String;Z)Lio/netty/channel/EventLoopGroup;+22
j  com.linecorp.armeria.common.util.EventLoopGroups.newEventLoopGroup(IZ)Lio/netty/channel/EventLoopGroup;+4
j  com.linecorp.armeria.common.util.EventLoopGroups.newEventLoopGroup(I)Lio/netty/channel/EventLoopGroup;+2
j  com.linecorp.armeria.client.ClientFactoryOptionsTest.setUp()V+1
v  ~StubRoutines::call_stub
V  [libjvm.so+0x7e2425]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x355
V  [libjvm.so+0xc5e4f6]  invoke(InstanceKlass*, methodHandle const&, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*) [clone .constprop.122]+0x446
V  [libjvm.so+0xc5f6a1]  Reflection::invoke_method(oopDesc*, Handle, objArrayHandle, Thread*)+0x101
V  [libjvm.so+0x8a4dcc]  JVM_InvokeMethod+0xfc
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 [email protected]
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+113 [email protected]
J 862 c1 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; [email protected] (10 bytes) @ 0x00007f2a38a5432c [0x00007f2a38a54220+0x000000000000010c]
J 861 c1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; [email protected] (65 bytes) @ 0x00007f2a38a53dbc [0x00007f2a38a53a80+0x000000000000033c]
j  org.junit.platform.commons.util.ReflectionUtils.invokeMethod(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+41
j  org.junit.jupiter.engine.execution.MethodInvocation.proceed()Ljava/lang/Object;+16
j  org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed()Ljava/lang/Object;+8
j  org.junit.jupiter.engine.extension.TimeoutInvocation.proceed()Ljava/lang/Object;+45
j  org.junit.jupiter.engine.extension.TimeoutExtension.intercept(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/TimeoutDuration;Lorg/junit/jupiter/engine/extension/TimeoutExtension$TimeoutProvider;)Ljava/lang/Object;+28
j  org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/TimeoutExtension$TimeoutProvider;)V+30
j  org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeAllMethod(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V+9
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$$Lambda$352+0x0000000800ce33d8.apply(Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V+5
j  org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Void;+6
j  org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall$$Lambda$189+0x0000000800c9ba68.apply(Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;+9
j  org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;)Ljava/lang/Object;+6
j  org.junit.jupiter.engine.execution.ExecutableInvoker$$Lambda$353+0x0000000800ce3a90.apply(Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;)Ljava/lang/Object;+14
j  org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed()Ljava/lang/Object;+12
j  org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;)Ljava/lang/Object;+1
j  org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/engine/execution/InvocationInterceptorChain$InterceptorCall;Ljava/util/List;)Ljava/lang/Object;+24
j  org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/InvocationInterceptorChain$InterceptorCall;)Ljava/lang/Object;+31
j  org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;)Ljava/lang/Object;+15
j  org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;)Ljava/lang/Object;+56
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllMethods$9(Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V+16
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$$Lambda$351+0x0000000800ce31b0.execute()V+20
j  org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V+1
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllMethods(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V+75
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;+64
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;)Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;+5
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5()V+51
j  org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$304+0x0000000800cdb728.execute()V+4
j  org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V+1
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;)V+15
j  org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$303+0x0000000800cdb500.invoke(Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;)V+5
j  org.junit.platform.engine.support.hierarchical.Node.around(Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;Lorg/junit/platform/engine/support/hierarchical/Node$Invocation;)V+2
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8()V+14
j  org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$302+0x0000000800cdb0d8.execute()V+4
j  org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V+1
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively()V+31
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.execute()V+55
j  org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService$$Lambda$308+0x0000000800cdc240.accept(Ljava/lang/Object;)V+4
j  java.util.ArrayList.forEach(Ljava/util/function/Consumer;)V+46 [email protected]
j  org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(Ljava/util/List;)V+6
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5()V+116
j  org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$304+0x0000000800cdb728.execute()V+4
j  org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V+1
...<more frames>...

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  io.netty.incubator.channel.uring.Native.ioUringSetup(I)[[J+0
j  io.netty.incubator.channel.uring.Native.createRingBuffer(II)Lio/netty/incubator/channel/uring/RingBuffer;+1
j  io.netty.incubator.channel.uring.Native.createRingBuffer()Lio/netty/incubator/channel/uring/RingBuffer;+6
j  io.netty.incubator.channel.uring.IOUring.<clinit>()V+34
v  ~StubRoutines::call_stub
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 [email protected]
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+113 [email protected]
J 862 c1 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; [email protected] (10 bytes) @ 0x00007f2a38a5432c [0x00007f2a38a54220+0x000000000000010c]
J 861 c1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; [email protected] (65 bytes) @ 0x00007f2a38a53dbc [0x00007f2a38a53a80+0x000000000000033c]
j  com.linecorp.armeria.internal.common.util.TransportTypeProvider.of(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/linecorp/armeria/internal/common/util/TransportTypeProvider;+18
j  com.linecorp.armeria.internal.common.util.TransportTypeProvider.<clinit>()V+252
v  ~StubRoutines::call_stub
j  com.linecorp.armeria.common.util.TransportType.<clinit>()V+7
v  ~StubRoutines::call_stub
j  com.linecorp.armeria.common.Flags.<clinit>()V+400
v  ~StubRoutines::call_stub
j  com.linecorp.armeria.common.util.EventLoopGroups.newEventLoopGroup(ILjava/lang/String;Z)Lio/netty/channel/EventLoopGroup;+22
j  com.linecorp.armeria.common.util.EventLoopGroups.newEventLoopGroup(IZ)Lio/netty/channel/EventLoopGroup;+4
j  com.linecorp.armeria.common.util.EventLoopGroups.newEventLoopGroup(I)Lio/netty/channel/EventLoopGroup;+2
j  com.linecorp.armeria.client.ClientFactoryOptionsTest.setUp()V+1
v  ~StubRoutines::call_stub
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 [email protected]
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+113 [email protected]
J 862 c1 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; [email protected] (10 bytes) @ 0x00007f2a38a5432c [0x00007f2a38a54220+0x000000000000010c]
J 861 c1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; [email protected] (65 bytes) @ 0x00007f2a38a53dbc [0x00007f2a38a53a80+0x000000000000033c]
j  org.junit.platform.commons.util.ReflectionUtils.invokeMethod(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+41
j  org.junit.jupiter.engine.execution.MethodInvocation.proceed()Ljava/lang/Object;+16
j  org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed()Ljava/lang/Object;+8
j  org.junit.jupiter.engine.extension.TimeoutInvocation.proceed()Ljava/lang/Object;+45
j  org.junit.jupiter.engine.extension.TimeoutExtension.intercept(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/TimeoutDuration;Lorg/junit/jupiter/engine/extension/TimeoutExtension$TimeoutProvider;)Ljava/lang/Object;+28
j  org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/TimeoutExtension$TimeoutProvider;)V+30
j  org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeAllMethod(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V+9
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$$Lambda$352+0x0000000800ce33d8.apply(Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V+5
j  org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Void;+6
j  org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall$$Lambda$189+0x0000000800c9ba68.apply(Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;+9
j  org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;)Ljava/lang/Object;+6
j  org.junit.jupiter.engine.execution.ExecutableInvoker$$Lambda$353+0x0000000800ce3a90.apply(Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;)Ljava/lang/Object;+14
j  org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed()Ljava/lang/Object;+12
j  org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;)Ljava/lang/Object;+1
j  org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/engine/execution/InvocationInterceptorChain$InterceptorCall;Ljava/util/List;)Ljava/lang/Object;+24
j  org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/InvocationInterceptorChain$InterceptorCall;)Ljava/lang/Object;+31
j  org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;)Ljava/lang/Object;+15
j  org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;)Ljava/lang/Object;+56
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllMethods$9(Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V+16
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$$Lambda$351+0x0000000800ce31b0.execute()V+20
j  org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V+1
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllMethods(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V+75
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;+64
j  org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;)Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;+5
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5()V+51
j  org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$304+0x0000000800cdb728.execute()V+4
j  org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V+1
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;)V+15
j  org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$303+0x0000000800cdb500.invoke(Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;)V+5
j  org.junit.platform.engine.support.hierarchical.Node.around(Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;Lorg/junit/platform/engine/support/hierarchical/Node$Invocation;)V+2
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8()V+14
j  org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$302+0x0000000800cdb0d8.execute()V+4
j  org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V+1
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively()V+31
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.execute()V+55
j  org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService$$Lambda$308+0x0000000800cdc240.accept(Ljava/lang/Object;)V+4
j  java.util.ArrayList.forEach(Ljava/util/function/Consumer;)V+46 [email protected]
j  org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(Ljava/util/List;)V+6
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5()V+116
j  org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$304+0x0000000800cdb728.execute()V+4
j  org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V+1
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;)V+15
j  org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$303+0x0000000800cdb500.invoke(Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;)V+5
j  org.junit.platform.engine.support.hierarchical.Node.around(Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;Lorg/junit/platform/engine/support/hierarchical/Node$Invocation;)V+2
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8()V+14
j  org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$302+0x0000000800cdb0d8.execute()V+4
j  org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V+1
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively()V+31
j  org.junit.platform.engine.support.hierarchical.NodeTestTask.execute()V+55
j  org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(Lorg/junit/platform/engine/support/hierarchical/HierarchicalTestExecutorService$TestTask;)Ljava/util/concurrent/Future;+1
j  org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute()Ljava/util/concurrent/Future;+74
j  org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(Lorg/junit/platform/engine/ExecutionRequest;)V+31
j  org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(Lorg/junit/platform/engine/TestDescriptor;Lorg/junit/platform/engine/EngineExecutionListener;Lorg/junit/platform/engine/ConfigurationParameters;Lorg/junit/platform/engine/TestEngine;)V+24
j  org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(Lorg/junit/platform/launcher/core/LauncherDiscoveryResult;Lorg/junit/platform/engine/EngineExecutionListener;)V+86
j  org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(Lorg/junit/platform/launcher/core/InternalTestPlan;Lorg/junit/platform/launcher/core/LauncherDiscoveryResult;Lorg/junit/platform/launcher/TestExecutionListener;)V+18
j  org.junit.platform.launcher.core.EngineExecutionOrchestrator$$Lambda$262+0x0000000800cc53d0.accept(Ljava/lang/Object;)V+16
j  org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(Lorg/junit/platform/engine/ConfigurationParameters;Lorg/junit/platform/launcher/core/TestExecutionListenerRegistry;Ljava/util/function/Consumer;)V+43
j  org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(Lorg/junit/platform/launcher/core/InternalTestPlan;[Lorg/junit/platform/launcher/TestExecutionListener;)V+35
j  org.junit.platform.launcher.core.DefaultLauncher.execute(Lorg/junit/platform/launcher/core/InternalTestPlan;[Lorg/junit/platform/launcher/TestExecutionListener;)V+6
j  org.junit.platform.launcher.core.DefaultLauncher.execute(Lorg/junit/platform/launcher/LauncherDiscoveryRequest;[Lorg/junit/platform/launcher/TestExecutionListener;)V+33
j  org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses()V+58
j  org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(Lorg/gradle/api/internal/tasks/testing/junitplatform/JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor;)V+1
j  org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop()V+4
j  org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop()V+4
v  ~StubRoutines::call_stub
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 [email protected]
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+113 [email protected]
J 862 c1 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; [email protected] (10 bytes) @ 0x00007f2a38a5432c [0x00007f2a38a54220+0x000000000000010c]
J 870 c1 org.gradle.internal.dispatch.ReflectionDispatch.dispatch(Lorg/gradle/internal/dispatch/MethodInvocation;)V (42 bytes) @ 0x00007f2a38a582e4 [0x00007f2a38a57b20+0x00000000000007c4]
J 869 c1 org.gradle.internal.dispatch.ReflectionDispatch.dispatch(Ljava/lang/Object;)V (9 bytes) @ 0x00007f2a38a576bc [0x00007f2a38a57540+0x000000000000017c]
j  org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(Ljava/lang/Object;)V+22
j  org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+177
j  com.sun.proxy.$Proxy2.stop()V+9
j  org.gradle.api.internal.tasks.testing.worker.TestWorker.stop()V+12
v  ~StubRoutines::call_stub
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 [email protected]
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+113 [email protected]
J 862 c1 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; [email protected] (10 bytes) @ 0x00007f2a38a5432c [0x00007f2a38a54220+0x000000000000010c]
J 870 c1 org.gradle.internal.dispatch.ReflectionDispatch.dispatch(Lorg/gradle/internal/dispatch/MethodInvocation;)V (42 bytes) @ 0x00007f2a38a582e4 [0x00007f2a38a57b20+0x00000000000007c4]
J 869 c1 org.gradle.internal.dispatch.ReflectionDispatch.dispatch(Ljava/lang/Object;)V (9 bytes) @ 0x00007f2a38a576bc [0x00007f2a38a57540+0x000000000000017c]
j  org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(Lorg/gradle/internal/dispatch/MethodInvocation;)V+5
j  org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(Ljava/lang/Object;)V+5
j  org.gradle.internal.remote.internal.hub.MessageHub$Handler.run()V+174
j  org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(Ljava/lang/Runnable;)V+1
j  org.gradle.internal.concurrent.ManagedExecutorImpl$1.run()V+25
j  java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 [email protected]
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 [email protected]
j  org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run()V+7
j  java.lang.Thread.run()V+11 [email protected]
v  ~StubRoutines::call_stub

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000000

Register to memory mapping:

RAX=0x0 is NULL
RBX=0x00007f2a50806ca0 is a thread
RCX=0x0000000000000001 is an unknown value
RDX=0x00007f2a57fda2a0: <offset 0x000000000040d2a0> in /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/server/libjvm.so at 0x00007f2a57bcd000
RSP=0x00007f2a2820b8e0 is pointing into the stack for thread: 0x00007f2a50806ca0
RBP=0x00007f2a2820b940 is pointing into the stack for thread: 0x00007f2a50806ca0
RSI=0x0 is NULL
RDI=0x0 is NULL
R8 =0x00007f2a59504a60: <offset 0x00000000003eca60> in /lib/x86_64-linux-gnu/libc.so.6 at 0x00007f2a59118000
R9 =0x00007f29ec97e180 points into unknown readable memory: 0x742064656c696166 | 66 61 69 6c 65 64 20 74
R10=0x0000000000000001 is an unknown value
R11=0x00007f2a592c7774: <offset 0x00000000001af774> in /lib/x86_64-linux-gnu/libc.so.6 at 0x00007f2a59118000
R12=0x0 is NULL
R13=0x00007f29ec97e180 points into unknown readable memory: 0x742064656c696166 | 66 61 69 6c 65 64 20 74
R14=0x00007f2a50806fc8 points into unknown readable memory: 0x00007f2a5905bca0 | a0 bc 05 59 2a 7f 00 00
R15=0x00007f29ec01d1b8 points into unknown readable memory: 0x00000000ec085980 | 80 59 08 ec 00 00 00 00


Registers:
RAX=0x0000000000000000, RBX=0x00007f2a50806ca0, RCX=0x0000000000000001, RDX=0x00007f2a57fda2a0
RSP=0x00007f2a2820b8e0, RBP=0x00007f2a2820b940, RSI=0x0000000000000000, RDI=0x0000000000000000
R8 =0x00007f2a59504a60, R9 =0x00007f29ec97e180, R10=0x0000000000000001, R11=0x00007f2a592c7774
R12=0x0000000000000000, R13=0x00007f29ec97e180, R14=0x00007f2a50806fc8, R15=0x00007f29ec01d1b8
RIP=0x00007f2a57e06b61, EFLAGS=0x0000000000010246, CSGSFS=0x0000000000000033, ERR=0x0000000000000004
  TRAPNO=0x000000000000000e

Top of Stack: (sp=0x00007f2a2820b8e0)
0x00007f2a2820b8e0:   00007f2a2820b940 00007f2a58438c99
0x00007f2a2820b8f0:   00007f2a2820b940 00007f29ec98bf70
0x00007f2a2820b900:   00007f2a50806ca0 0000000000000000
0x00007f2a2820b910:   00007f29ec01d1b8 00007f29ea4c5784 

Instructions: (pc=0x00007f2a57e06b61)
0x00007f2a57e06a61:   09 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 31
0x00007f2a57e06a71:   c0 c3 0f 1f 44 00 00 b8 01 00 00 00 c3 66 90 b8
0x00007f2a57e06a81:   07 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 b8
0x00007f2a57e06a91:   04 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 b8
0x00007f2a57e06aa1:   05 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 b8
0x00007f2a57e06ab1:   08 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 b8
0x00007f2a57e06ac1:   02 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 b8
0x00007f2a57e06ad1:   03 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 b8
0x00007f2a57e06ae1:   06 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 48
0x00007f2a57e06af1:   8d 05 51 32 25 01 55 48 8d 3d 69 c3 d1 00 be 9c
0x00007f2a57e06b01:   00 00 00 48 89 e5 48 8b 00 c6 00 58 e8 9e cd 36
0x00007f2a57e06b11:   00 e8 e9 4e 98 00 31 c0 5d c3 90 0f 1f 40 00 48
0x00007f2a57e06b21:   8b 47 08 55 48 89 e5 0f b7 50 30 0f b7 40 32 5d
0x00007f2a57e06b31:   8d 44 02 19 c3 66 2e 0f 1f 84 00 00 00 00 00 55
0x00007f2a57e06b41:   48 8b 07 48 89 e5 5d c3 0f 1f 80 00 00 00 00 55
0x00007f2a57e06b51:   48 8b 07 48 89 e5 5d c3 0f 1f 80 00 00 00 00 55
0x00007f2a57e06b61:   48 8b 07 48 89 e5 5d c3 0f 1f 80 00 00 00 00 55
0x00007f2a57e06b71:   48 8b 07 48 89 e5 5d c3 0f 1f 80 00 00 00 00 55
0x00007f2a57e06b81:   48 8b 07 48 89 e5 5d c3 0f 1f 80 00 00 00 00 55
0x00007f2a57e06b91:   48 8b 07 48 89 e5 5d c3 0f 1f 80 00 00 00 00 55
0x00007f2a57e06ba1:   48 89 e5 53 48 89 fb 48 83 ec 08 48 8d 15 c2 d8
0x00007f2a57e06bb1:   2b 01 48 8d 05 16 cb 28 01 80 3a 00 48 8b 00 8b
0x00007f2a57e06bc1:   40 10 75 1b 83 f8 05 0f 87 e2 00 00 00 48 8d 15
0x00007f2a57e06bd1:   5f c2 d1 00 48 63 04 82 48 01 d0 ff e0 66 90 83
0x00007f2a57e06be1:   f8 05 0f 87 c7 00 00 00 48 8d 15 5c c2 d1 00 48
0x00007f2a57e06bf1:   63 04 82 48 01 d0 ff e0 0f 1f 80 00 00 00 00 48
0x00007f2a57e06c01:   8d 05 79 ff ff ff 48 89 05 02 f4 24 01 48 83 c4
0x00007f2a57e06c11:   08 48 89 df 5b 5d ff e0 0f 1f 80 00 00 00 00 48
0x00007f2a57e06c21:   8d 05 49 ff ff ff eb de 0f 1f 80 00 00 00 00 48
0x00007f2a57e06c31:   8d 05 b9 00 00 00 eb ce 0f 1f 80 00 00 00 00 48
0x00007f2a57e06c41:   8d 05 59 01 00 00 eb be 0f 1f 80 00 00 00 00 48
0x00007f2a57e06c51:   8d 05 39 ff ff ff eb ae 0f 1f 80 00 00 00 00 48 


Stack slot to memory mapping:
stack at sp + 0 slots: 0x00007f2a2820b940 is pointing into the stack for thread: 0x00007f2a50806ca0
stack at sp + 1 slots: 0x00007f2a58438c99: <offset 0x000000000086bc99> in /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/server/libjvm.so at 0x00007f2a57bcd000
stack at sp + 2 slots: 0x00007f2a2820b940 is pointing into the stack for thread: 0x00007f2a50806ca0
stack at sp + 3 slots: 0x00007f29ec98bf70 points into unknown readable memory: 0x70612f656d6f682f | 2f 68 6f 6d 65 2f 61 70
stack at sp + 4 slots: 0x00007f2a50806ca0 is a thread
stack at sp + 5 slots: 0x0 is NULL
stack at sp + 6 slots: 0x00007f29ec01d1b8 points into unknown readable memory: 0x00000000ec085980 | 80 59 08 ec 00 00 00 00
stack at sp + 7 slots: 0x00007f29ea4c5784: <offset 0x0000000000007784> in /tmp/libnetty_transport_native_io_uring_x86_641527086398282109915.so at 0x00007f29ea4be000


---------------  P R O C E S S  ---------------

Threads class SMR info:
_java_thread_list=0x00007f29ec6a0650, length=14, elements={
0x00007f2a5002dd10, 0x00007f2a50154490, 0x00007f2a50155bd0, 0x00007f2a5015b400,
0x00007f2a5015cb10, 0x00007f2a5015e730, 0x00007f2a5015ff60, 0x00007f2a50161660,
0x00007f2a501af2b0, 0x00007f2a501b2b60, 0x00007f2a50806ca0, 0x00007f2a5082b610,
0x00007f2a5082d710, 0x00007f29ec69f550
}

Java Threads: ( => current thread )
  0x00007f2a5002dd10 JavaThread "main" [_thread_blocked, id=2613, stack(0x00007f2a59e76000,0x00007f2a59f77000)]
  0x00007f2a50154490 JavaThread "Reference Handler" daemon [_thread_blocked, id=2620, stack(0x00007f2a296ff000,0x00007f2a29800000)]
  0x00007f2a50155bd0 JavaThread "Finalizer" daemon [_thread_blocked, id=2621, stack(0x00007f2a295fe000,0x00007f2a296ff000)]
  0x00007f2a5015b400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2622, stack(0x00007f2a29362000,0x00007f2a29463000)]
  0x00007f2a5015cb10 JavaThread "Service Thread" daemon [_thread_blocked, id=2623, stack(0x00007f2a29261000,0x00007f2a29362000)]
  0x00007f2a5015e730 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=2624, stack(0x00007f2a29160000,0x00007f2a29261000)]
  0x00007f2a5015ff60 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=2625, stack(0x00007f2a2905f000,0x00007f2a29160000)]
  0x00007f2a50161660 JavaThread "Sweeper thread" daemon [_thread_blocked, id=2626, stack(0x00007f2a28f5e000,0x00007f2a2905f000)]
  0x00007f2a501af2b0 JavaThread "Notification Thread" daemon [_thread_blocked, id=2627, stack(0x00007f2a28e5d000,0x00007f2a28f5e000)]
  0x00007f2a501b2b60 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=2629, stack(0x00007f2a28c5a000,0x00007f2a28d5b000)]
=>0x00007f2a50806ca0 JavaThread "Test worker" [_thread_in_vm, id=2637, stack(0x00007f2a28112000,0x00007f2a28213000)]
  0x00007f2a5082b610 JavaThread "/127.0.0.1:40880 to /127.0.0.1:45408 workers Thread 2" [_thread_blocked, id=2638, stack(0x00007f2a28011000,0x00007f2a28112000)]
  0x00007f2a5082d710 JavaThread "/127.0.0.1:40880 to /127.0.0.1:45408 workers Thread 3" [_thread_in_native, id=2639, stack(0x00007f29ebeff000,0x00007f29ec000000)]
  0x00007f29ec69f550 JavaThread "junit-jupiter-timeout-watcher" [_thread_blocked, id=2686, stack(0x00007f29eace3000,0x00007f29eade4000)]

Other Threads:
  0x00007f2a50151780 VMThread "VM Thread" [stack: 0x00007f2a380ac000,0x00007f2a381ac000] [id=2619]
  0x00007f2a501b0ba0 WatcherThread [stack: 0x00007f2a28d5d000,0x00007f2a28e5d000] [id=2628]
  0x00007f2a500553e0 GCTaskThread "GC Thread#0" [stack: 0x00007f2a54bc4000,0x00007f2a54cc4000] [id=2614]
  0x00007f2a20000f30 GCTaskThread "GC Thread#1" [stack: 0x00007f29ebdff000,0x00007f29ebeff000] [id=2640]
  0x00007f2a20001c90 GCTaskThread "GC Thread#2" [stack: 0x00007f29ebcfd000,0x00007f29ebdfd000] [id=2641]
  0x00007f2a20002a20 GCTaskThread "GC Thread#3" [stack: 0x00007f29ebbfb000,0x00007f29ebcfb000] [id=2642]
  0x00007f2a200037b0 GCTaskThread "GC Thread#4" [stack: 0x00007f29ebaf9000,0x00007f29ebbf9000] [id=2643]
  0x00007f2a20004930 GCTaskThread "GC Thread#5" [stack: 0x00007f29eb9f7000,0x00007f29ebaf7000] [id=2644]
  0x00007f2a20005ab0 GCTaskThread "GC Thread#6" [stack: 0x00007f29eb8f5000,0x00007f29eb9f5000] [id=2645]
  0x00007f2a20006c30 GCTaskThread "GC Thread#7" [stack: 0x00007f29eb7f3000,0x00007f29eb8f3000] [id=2646]
  0x00007f2a5005ad60 ConcurrentGCThread "G1 Main Marker" [stack: 0x00007f2a54ac2000,0x00007f2a54bc2000] [id=2615]
  0x00007f2a5005bff0 ConcurrentGCThread "G1 Conc#0" [stack: 0x00007f2a549c0000,0x00007f2a54ac0000] [id=2616]
  0x00007f2a501276a0 ConcurrentGCThread "G1 Refine#0" [stack: 0x00007f2a540b6000,0x00007f2a541b6000] [id=2617]
  0x00007f2a501288b0 ConcurrentGCThread "G1 Young RemSet Sampling" [stack: 0x00007f2a3822f000,0x00007f2a3832f000] [id=2618]

Threads with active compile tasks:
C2 CompilerThread0     2141 2448       4       org.junit.platform.commons.util.AnnotationUtils::findMetaAnnotation (84 bytes)

VM state: not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap address: 0x00000000e0000000, size: 512 MB, Compressed Oops mode: 32-bit
CDS archive(s) mapped at: [0x0000000800000000-0x0000000800b2b000-0x0000000800b2b000), size 11710464, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 0.
Compressed class space mapped at: 0x0000000800b2c000-0x0000000840b2c000, size: 1073741824
Narrow klass base: 0x0000000800000000, Narrow klass shift: 3, Narrow klass range: 0x100000000

GC Precious Log:
 CPUs: 8 total, 8 available
 Memory: 15884M
 Large Page Support: Disabled
 NUMA Support: Disabled
 Compressed Oops: Enabled (32-bit)
 Heap Region Size: 1M
 Heap Min Capacity: 8M
 Heap Initial Capacity: 250M
 Heap Max Capacity: 512M
 Pre-touch: Disabled
 Parallel Workers: 8
 Concurrent Workers: 2
 Concurrent Refinement Workers: 8
 Periodic GC: Disabled

Heap:
 garbage-first heap   total 258048K, used 74974K [0x00000000e0000000, 0x0000000100000000)
  region size 1024K, 58 young (59392K), 3 survivors (3072K)
 Metaspace       used 19348K, capacity 19640K, committed 19968K, reserved 1067008K
  class space    used 2363K, capacity 2472K, committed 2560K, reserved 1048576K

Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next)
|   0|0x00000000e0000000, 0x00000000e0100000, 0x00000000e0100000|100%|HS|  |TAMS 0x00000000e0000000, 0x00000000e0000000| Complete 
|   1|0x00000000e0100000, 0x00000000e0200000, 0x00000000e0200000|100%|HC|  |TAMS 0x00000000e0100000, 0x00000000e0100000| Complete 
|   2|0x00000000e0200000, 0x00000000e0300000, 0x00000000e0300000|100%|HS|  |TAMS 0x00000000e0200000, 0x00000000e0200000| Complete 
|   3|0x00000000e0300000, 0x00000000e0400000, 0x00000000e0400000|100%| O|  |TAMS 0x00000000e0300000, 0x00000000e0300000| Untracked 
|   4|0x00000000e0400000, 0x00000000e0500000, 0x00000000e0500000|100%| O|  |TAMS 0x00000000e0400000, 0x00000000e0400000| Untracked 
|   5|0x00000000e0500000, 0x00000000e0600000, 0x00000000e0600000|100%| O|  |TAMS 0x00000000e0500000, 0x00000000e0500000| Untracked 
|   6|0x00000000e0600000, 0x00000000e0700000, 0x00000000e0700000|100%| O|  |TAMS 0x00000000e0600000, 0x00000000e0600000| Untracked 
|   7|0x00000000e0700000, 0x00000000e0800000, 0x00000000e0800000|100%| O|  |TAMS 0x00000000e0700000, 0x00000000e0700000| Untracked 
|   8|0x00000000e0800000, 0x00000000e0900000, 0x00000000e0900000|100%| O|  |TAMS 0x00000000e0800000, 0x00000000e0800000| Untracked 
|   9|0x00000000e0900000, 0x00000000e09cfc00, 0x00000000e0a00000| 81%| O|  |TAMS 0x00000000e0900000, 0x00000000e0900000| Untracked 
|  10|0x00000000e0a00000, 0x00000000e0b00000, 0x00000000e0b00000|100%|HS|  |TAMS 0x00000000e0a00000, 0x00000000e0a00000| Complete 
|  11|0x00000000e0b00000, 0x00000000e0c00000, 0x00000000e0c00000|100%|HS|  |TAMS 0x00000000e0b00000, 0x00000000e0b00000| Complete 
|  12|0x00000000e0c00000, 0x00000000e0d00000, 0x00000000e0d00000|100%|HS|  |TAMS 0x00000000e0c00000, 0x00000000e0c00000| Complete 
|  13|0x00000000e0d00000, 0x00000000e0e00000, 0x00000000e0e00000|100%|HS|  |TAMS 0x00000000e0d00000, 0x00000000e0d00000| Complete 
|  14|0x00000000e0e00000, 0x00000000e0f00000, 0x00000000e0f00000|100%|HS|  |TAMS 0x00000000e0e00000, 0x00000000e0e00000| Complete 
|  15|0x00000000e0f00000, 0x00000000e1000000, 0x00000000e1000000|100%|HS|  |TAMS 0x00000000e0f00000, 0x00000000e0f00000| Complete 
|  16|0x00000000e1000000, 0x00000000e1000000, 0x00000000e1100000|  0%| F|  |TAMS 0x00000000e1000000, 0x00000000e1000000| Untracked 
|  17|0x00000000e1100000, 0x00000000e1100000, 0x00000000e1200000|  0%| F|  |TAMS 0x00000000e1100000, 0x00000000e1100000| Untracked 
|  18|0x00000000e1200000, 0x00000000e1200000, 0x00000000e1300000|  0%| F|  |TAMS 0x00000000e1200000, 0x00000000e1200000| Untracked 
|  19|0x00000000e1300000, 0x00000000e1300000, 0x00000000e1400000|  0%| F|  |TAMS 0x00000000e1300000, 0x00000000e1300000| Untracked 
|  20|0x00000000e1400000, 0x00000000e1400000, 0x00000000e1500000|  0%| F|  |TAMS 0x00000000e1400000, 0x00000000e1400000| Untracked 
|  21|0x00000000e1500000, 0x00000000e1500000, 0x00000000e1600000|  0%| F|  |TAMS 0x00000000e1500000, 0x00000000e1500000| Untracked 
|  22|0x00000000e1600000, 0x00000000e1600000, 0x00000000e1700000|  0%| F|  |TAMS 0x00000000e1600000, 0x00000000e1600000| Untracked 
|  23|0x00000000e1700000, 0x00000000e1700000, 0x00000000e1800000|  0%| F|  |TAMS 0x00000000e1700000, 0x00000000e1700000| Untracked 
|  24|0x00000000e1800000, 0x00000000e1800000, 0x00000000e1900000|  0%| F|  |TAMS 0x00000000e1800000, 0x00000000e1800000| Untracked 
|  25|0x00000000e1900000, 0x00000000e1900000, 0x00000000e1a00000|  0%| F|  |TAMS 0x00000000e1900000, 0x00000000e1900000| Untracked 
|  26|0x00000000e1a00000, 0x00000000e1a00000, 0x00000000e1b00000|  0%| F|  |TAMS 0x00000000e1a00000, 0x00000000e1a00000| Untracked 
|  27|0x00000000e1b00000, 0x00000000e1b00000, 0x00000000e1c00000|  0%| F|  |TAMS 0x00000000e1b00000, 0x00000000e1b00000| Untracked 
|  28|0x00000000e1c00000, 0x00000000e1c00000, 0x00000000e1d00000|  0%| F|  |TAMS 0x00000000e1c00000, 0x00000000e1c00000| Untracked 
|  29|0x00000000e1d00000, 0x00000000e1d00000, 0x00000000e1e00000|  0%| F|  |TAMS 0x00000000e1d00000, 0x00000000e1d00000| Untracked 
|  30|0x00000000e1e00000, 0x00000000e1e00000, 0x00000000e1f00000|  0%| F|  |TAMS 0x00000000e1e00000, 0x00000000e1e00000| Untracked 
|  31|0x00000000e1f00000, 0x00000000e1f00000, 0x00000000e2000000|  0%| F|  |TAMS 0x00000000e1f00000, 0x00000000e1f00000| Untracked 
|  32|0x00000000e2000000, 0x00000000e2000000, 0x00000000e2100000|  0%| F|  |TAMS 0x00000000e2000000, 0x00000000e2000000| Untracked 
|  33|0x00000000e2100000, 0x00000000e2100000, 0x00000000e2200000|  0%| F|  |TAMS 0x00000000e2100000, 0x00000000e2100000| Untracked 
|  34|0x00000000e2200000, 0x00000000e2200000, 0x00000000e2300000|  0%| F|  |TAMS 0x00000000e2200000, 0x00000000e2200000| Untracked 
|  35|0x00000000e2300000, 0x00000000e2300000, 0x00000000e2400000|  0%| F|  |TAMS 0x00000000e2300000, 0x00000000e2300000| Untracked 
|  36|0x00000000e2400000, 0x00000000e2400000, 0x00000000e2500000|  0%| F|  |TAMS 0x00000000e2400000, 0x00000000e2400000| Untracked 
|  37|0x00000000e2500000, 0x00000000e2500000, 0x00000000e2600000|  0%| F|  |TAMS 0x00000000e2500000, 0x00000000e2500000| Untracked 
|  38|0x00000000e2600000, 0x00000000e2600000, 0x00000000e2700000|  0%| F|  |TAMS 0x00000000e2600000, 0x00000000e2600000| Untracked 
|  39|0x00000000e2700000, 0x00000000e2700000, 0x00000000e2800000|  0%| F|  |TAMS 0x00000000e2700000, 0x00000000e2700000| Untracked 
|  40|0x00000000e2800000, 0x00000000e2800000, 0x00000000e2900000|  0%| F|  |TAMS 0x00000000e2800000, 0x00000000e2800000| Untracked 
|  41|0x00000000e2900000, 0x00000000e2900000, 0x00000000e2a00000|  0%| F|  |TAMS 0x00000000e2900000, 0x00000000e2900000| Untracked 
|  42|0x00000000e2a00000, 0x00000000e2a00000, 0x00000000e2b00000|  0%| F|  |TAMS 0x00000000e2a00000, 0x00000000e2a00000| Untracked 
|  43|0x00000000e2b00000, 0x00000000e2b00000, 0x00000000e2c00000|  0%| F|  |TAMS 0x00000000e2b00000, 0x00000000e2b00000| Untracked 
|  44|0x00000000e2c00000, 0x00000000e2c00000, 0x00000000e2d00000|  0%| F|  |TAMS 0x00000000e2c00000, 0x00000000e2c00000| Untracked 
|  45|0x00000000e2d00000, 0x00000000e2d00000, 0x00000000e2e00000|  0%| F|  |TAMS 0x00000000e2d00000, 0x00000000e2d00000| Untracked 
|  46|0x00000000e2e00000, 0x00000000e2e00000, 0x00000000e2f00000|  0%| F|  |TAMS 0x00000000e2e00000, 0x00000000e2e00000| Untracked 
|  47|0x00000000e2f00000, 0x00000000e2f00000, 0x00000000e3000000|  0%| F|  |TAMS 0x00000000e2f00000, 0x00000000e2f00000| Untracked 
|  48|0x00000000e3000000, 0x00000000e3000000, 0x00000000e3100000|  0%| F|  |TAMS 0x00000000e3000000, 0x00000000e3000000| Untracked 
|  49|0x00000000e3100000, 0x00000000e3100000, 0x00000000e3200000|  0%| F|  |TAMS 0x00000000e3100000, 0x00000000e3100000| Untracked 
|  50|0x00000000e3200000, 0x00000000e3200000, 0x00000000e3300000|  0%| F|  |TAMS 0x00000000e3200000, 0x00000000e3200000| Untracked 
|  51|0x00000000e3300000, 0x00000000e3300000, 0x00000000e3400000|  0%| F|  |TAMS 0x00000000e3300000, 0x00000000e3300000| Untracked 
|  52|0x00000000e3400000, 0x00000000e3400000, 0x00000000e3500000|  0%| F|  |TAMS 0x00000000e3400000, 0x00000000e3400000| Untracked 
|  53|0x00000000e3500000, 0x00000000e3500000, 0x00000000e3600000|  0%| F|  |TAMS 0x00000000e3500000, 0x00000000e3500000| Untracked 
|  54|0x00000000e3600000, 0x00000000e3600000, 0x00000000e3700000|  0%| F|  |TAMS 0x00000000e3600000, 0x00000000e3600000| Untracked 
|  55|0x00000000e3700000, 0x00000000e3700000, 0x00000000e3800000|  0%| F|  |TAMS 0x00000000e3700000, 0x00000000e3700000| Untracked 
|  56|0x00000000e3800000, 0x00000000e3800000, 0x00000000e3900000|  0%| F|  |TAMS 0x00000000e3800000, 0x00000000e3800000| Untracked 
|  57|0x00000000e3900000, 0x00000000e3900000, 0x00000000e3a00000|  0%| F|  |TAMS 0x00000000e3900000, 0x00000000e3900000| Untracked 
|  58|0x00000000e3a00000, 0x00000000e3a00000, 0x00000000e3b00000|  0%| F|  |TAMS 0x00000000e3a00000, 0x00000000e3a00000| Untracked 
|  59|0x00000000e3b00000, 0x00000000e3b00000, 0x00000000e3c00000|  0%| F|  |TAMS 0x00000000e3b00000, 0x00000000e3b00000| Untracked 
|  60|0x00000000e3c00000, 0x00000000e3c00000, 0x00000000e3d00000|  0%| F|  |TAMS 0x00000000e3c00000, 0x00000000e3c00000| Untracked 
|  61|0x00000000e3d00000, 0x00000000e3d00000, 0x00000000e3e00000|  0%| F|  |TAMS 0x00000000e3d00000, 0x00000000e3d00000| Untracked 
|  62|0x00000000e3e00000, 0x00000000e3e00000, 0x00000000e3f00000|  0%| F|  |TAMS 0x00000000e3e00000, 0x00000000e3e00000| Untracked 
|  63|0x00000000e3f00000, 0x00000000e3f00000, 0x00000000e4000000|  0%| F|  |TAMS 0x00000000e3f00000, 0x00000000e3f00000| Untracked 
|  64|0x00000000e4000000, 0x00000000e4000000, 0x00000000e4100000|  0%| F|  |TAMS 0x00000000e4000000, 0x00000000e4000000| Untracked 
|  65|0x00000000e4100000, 0x00000000e4100000, 0x00000000e4200000|  0%| F|  |TAMS 0x00000000e4100000, 0x00000000e4100000| Untracked 
|  66|0x00000000e4200000, 0x00000000e4200000, 0x00000000e4300000|  0%| F|  |TAMS 0x00000000e4200000, 0x00000000e4200000| Untracked 
|  67|0x00000000e4300000, 0x00000000e4300000, 0x00000000e4400000|  0%| F|  |TAMS 0x00000000e4300000, 0x00000000e4300000| Untracked 
|  68|0x00000000e4400000, 0x00000000e4400000, 0x00000000e4500000|  0%| F|  |TAMS 0x00000000e4400000, 0x00000000e4400000| Untracked 
|  69|0x00000000e4500000, 0x00000000e4500000, 0x00000000e4600000|  0%| F|  |TAMS 0x00000000e4500000, 0x00000000e4500000| Untracked 
|  70|0x00000000e4600000, 0x00000000e4600000, 0x00000000e4700000|  0%| F|  |TAMS 0x00000000e4600000, 0x00000000e4600000| Untracked 
|  71|0x00000000e4700000, 0x00000000e4700000, 0x00000000e4800000|  0%| F|  |TAMS 0x00000000e4700000, 0x00000000e4700000| Untracked 
|  72|0x00000000e4800000, 0x00000000e4800000, 0x00000000e4900000|  0%| F|  |TAMS 0x00000000e4800000, 0x00000000e4800000| Untracked 
|  73|0x00000000e4900000, 0x00000000e4900000, 0x00000000e4a00000|  0%| F|  |TAMS 0x00000000e4900000, 0x00000000e4900000| Untracked 
|  74|0x00000000e4a00000, 0x00000000e4a00000, 0x00000000e4b00000|  0%| F|  |TAMS 0x00000000e4a00000, 0x00000000e4a00000| Untracked 
|  75|0x00000000e4b00000, 0x00000000e4b00000, 0x00000000e4c00000|  0%| F|  |TAMS 0x00000000e4b00000, 0x00000000e4b00000| Untracked 
|  76|0x00000000e4c00000, 0x00000000e4c00000, 0x00000000e4d00000|  0%| F|  |TAMS 0x00000000e4c00000, 0x00000000e4c00000| Untracked 
|  77|0x00000000e4d00000, 0x00000000e4d00000, 0x00000000e4e00000|  0%| F|  |TAMS 0x00000000e4d00000, 0x00000000e4d00000| Untracked 
|  78|0x00000000e4e00000, 0x00000000e4e00000, 0x00000000e4f00000|  0%| F|  |TAMS 0x00000000e4e00000, 0x00000000e4e00000| Untracked 
|  79|0x00000000e4f00000, 0x00000000e4f00000, 0x00000000e5000000|  0%| F|  |TAMS 0x00000000e4f00000, 0x00000000e4f00000| Untracked 
|  80|0x00000000e5000000, 0x00000000e5000000, 0x00000000e5100000|  0%| F|  |TAMS 0x00000000e5000000, 0x00000000e5000000| Untracked 
|  81|0x00000000e5100000, 0x00000000e5100000, 0x00000000e5200000|  0%| F|  |TAMS 0x00000000e5100000, 0x00000000e5100000| Untracked 
|  82|0x00000000e5200000, 0x00000000e5200000, 0x00000000e5300000|  0%| F|  |TAMS 0x00000000e5200000, 0x00000000e5200000| Untracked 
|  83|0x00000000e5300000, 0x00000000e5300000, 0x00000000e5400000|  0%| F|  |TAMS 0x00000000e5300000, 0x00000000e5300000| Untracked 
|  84|0x00000000e5400000, 0x00000000e5400000, 0x00000000e5500000|  0%| F|  |TAMS 0x00000000e5400000, 0x00000000e5400000| Untracked 
|  85|0x00000000e5500000, 0x00000000e5500000, 0x00000000e5600000|  0%| F|  |TAMS 0x00000000e5500000, 0x00000000e5500000| Untracked 
|  86|0x00000000e5600000, 0x00000000e5600000, 0x00000000e5700000|  0%| F|  |TAMS 0x00000000e5600000, 0x00000000e5600000| Untracked 
|  87|0x00000000e5700000, 0x00000000e5700000, 0x00000000e5800000|  0%| F|  |TAMS 0x00000000e5700000, 0x00000000e5700000| Untracked 
|  88|0x00000000e5800000, 0x00000000e5800000, 0x00000000e5900000|  0%| F|  |TAMS 0x00000000e5800000, 0x00000000e5800000| Untracked 
|  89|0x00000000e5900000, 0x00000000e5900000, 0x00000000e5a00000|  0%| F|  |TAMS 0x00000000e5900000, 0x00000000e5900000| Untracked 
|  90|0x00000000e5a00000, 0x00000000e5a00000, 0x00000000e5b00000|  0%| F|  |TAMS 0x00000000e5a00000, 0x00000000e5a00000| Untracked 
|  91|0x00000000e5b00000, 0x00000000e5b00000, 0x00000000e5c00000|  0%| F|  |TAMS 0x00000000e5b00000, 0x00000000e5b00000| Untracked 
|  92|0x00000000e5c00000, 0x00000000e5c00000, 0x00000000e5d00000|  0%| F|  |TAMS 0x00000000e5c00000, 0x00000000e5c00000| Untracked 
|  93|0x00000000e5d00000, 0x00000000e5d00000, 0x00000000e5e00000|  0%| F|  |TAMS 0x00000000e5d00000, 0x00000000e5d00000| Untracked 
|  94|0x00000000e5e00000, 0x00000000e5e00000, 0x00000000e5f00000|  0%| F|  |TAMS 0x00000000e5e00000, 0x00000000e5e00000| Untracked 
|  95|0x00000000e5f00000, 0x00000000e5f00000, 0x00000000e6000000|  0%| F|  |TAMS 0x00000000e5f00000, 0x00000000e5f00000| Untracked 
|  96|0x00000000e6000000, 0x00000000e6000000, 0x00000000e6100000|  0%| F|  |TAMS 0x00000000e6000000, 0x00000000e6000000| Untracked 
|  97|0x00000000e6100000, 0x00000000e6100000, 0x00000000e6200000|  0%| F|  |TAMS 0x00000000e6100000, 0x00000000e6100000| Untracked 
|  98|0x00000000e6200000, 0x00000000e6200000, 0x00000000e6300000|  0%| F|  |TAMS 0x00000000e6200000, 0x00000000e6200000| Untracked 
|  99|0x00000000e6300000, 0x00000000e6300000, 0x00000000e6400000|  0%| F|  |TAMS 0x00000000e6300000, 0x00000000e6300000| Untracked 
| 100|0x00000000e6400000, 0x00000000e6400000, 0x00000000e6500000|  0%| F|  |TAMS 0x00000000e6400000, 0x00000000e6400000| Untracked 
| 101|0x00000000e6500000, 0x00000000e6500000, 0x00000000e6600000|  0%| F|  |TAMS 0x00000000e6500000, 0x00000000e6500000| Untracked 
| 102|0x00000000e6600000, 0x00000000e6600000, 0x00000000e6700000|  0%| F|  |TAMS 0x00000000e6600000, 0x00000000e6600000| Untracked 
| 103|0x00000000e6700000, 0x00000000e6700000, 0x00000000e6800000|  0%| F|  |TAMS 0x00000000e6700000, 0x00000000e6700000| Untracked 
| 104|0x00000000e6800000, 0x00000000e6800000, 0x00000000e6900000|  0%| F|  |TAMS 0x00000000e6800000, 0x00000000e6800000| Untracked 
| 105|0x00000000e6900000, 0x00000000e6900000, 0x00000000e6a00000|  0%| F|  |TAMS 0x00000000e6900000, 0x00000000e6900000| Untracked 
| 106|0x00000000e6a00000, 0x00000000e6a00000, 0x00000000e6b00000|  0%| F|  |TAMS 0x00000000e6a00000, 0x00000000e6a00000| Untracked 
| 107|0x00000000e6b00000, 0x00000000e6b00000, 0x00000000e6c00000|  0%| F|  |TAMS 0x00000000e6b00000, 0x00000000e6b00000| Untracked 
| 108|0x00000000e6c00000, 0x00000000e6c00000, 0x00000000e6d00000|  0%| F|  |TAMS 0x00000000e6c00000, 0x00000000e6c00000| Untracked 
| 109|0x00000000e6d00000, 0x00000000e6d00000, 0x00000000e6e00000|  0%| F|  |TAMS 0x00000000e6d00000, 0x00000000e6d00000| Untracked 
| 110|0x00000000e6e00000, 0x00000000e6e00000, 0x00000000e6f00000|  0%| F|  |TAMS 0x00000000e6e00000, 0x00000000e6e00000| Untracked 
| 111|0x00000000e6f00000, 0x00000000e6f00000, 0x00000000e7000000|  0%| F|  |TAMS 0x00000000e6f00000, 0x00000000e6f00000| Untracked 
| 112|0x00000000e7000000, 0x00000000e7000000, 0x00000000e7100000|  0%| F|  |TAMS 0x00000000e7000000, 0x00000000e7000000| Untracked 
| 113|0x00000000e7100000, 0x00000000e7100000, 0x00000000e7200000|  0%| F|  |TAMS 0x00000000e7100000, 0x00000000e7100000| Untracked 
| 114|0x00000000e7200000, 0x00000000e7200000, 0x00000000e7300000|  0%| F|  |TAMS 0x00000000e7200000, 0x00000000e7200000| Untracked 
| 115|0x00000000e7300000, 0x00000000e7300000, 0x00000000e7400000|  0%| F|  |TAMS 0x00000000e7300000, 0x00000000e7300000| Untracked 
| 116|0x00000000e7400000, 0x00000000e7400000, 0x00000000e7500000|  0%| F|  |TAMS 0x00000000e7400000, 0x00000000e7400000| Untracked 
| 117|0x00000000e7500000, 0x00000000e7500000, 0x00000000e7600000|  0%| F|  |TAMS 0x00000000e7500000, 0x00000000e7500000| Untracked 
| 118|0x00000000e7600000, 0x00000000e7600000, 0x00000000e7700000|  0%| F|  |TAMS 0x00000000e7600000, 0x00000000e7600000| Untracked 
| 119|0x00000000e7700000, 0x00000000e7700000, 0x00000000e7800000|  0%| F|  |TAMS 0x00000000e7700000, 0x00000000e7700000| Untracked 
| 120|0x00000000e7800000, 0x00000000e7800000, 0x00000000e7900000|  0%| F|  |TAMS 0x00000000e7800000, 0x00000000e7800000| Untracked 
| 121|0x00000000e7900000, 0x00000000e7900000, 0x00000000e7a00000|  0%| F|  |TAMS 0x00000000e7900000, 0x00000000e7900000| Untracked 
| 122|0x00000000e7a00000, 0x00000000e7a00000, 0x00000000e7b00000|  0%| F|  |TAMS 0x00000000e7a00000, 0x00000000e7a00000| Untracked 
| 123|0x00000000e7b00000, 0x00000000e7b00000, 0x00000000e7c00000|  0%| F|  |TAMS 0x00000000e7b00000, 0x00000000e7b00000| Untracked 
| 124|0x00000000e7c00000, 0x00000000e7c00000, 0x00000000e7d00000|  0%| F|  |TAMS 0x00000000e7c00000, 0x00000000e7c00000| Untracked 
| 125|0x00000000e7d00000, 0x00000000e7d00000, 0x00000000e7e00000|  0%| F|  |TAMS 0x00000000e7d00000, 0x00000000e7d00000| Untracked 
| 126|0x00000000e7e00000, 0x00000000e7e00000, 0x00000000e7f00000|  0%| F|  |TAMS 0x00000000e7e00000, 0x00000000e7e00000| Untracked 
| 127|0x00000000e7f00000, 0x00000000e7f00000, 0x00000000e8000000|  0%| F|  |TAMS 0x00000000e7f00000, 0x00000000e7f00000| Untracked 
| 128|0x00000000e8000000, 0x00000000e8000000, 0x00000000e8100000|  0%| F|  |TAMS 0x00000000e8000000, 0x00000000e8000000| Untracked 
| 129|0x00000000e8100000, 0x00000000e8100000, 0x00000000e8200000|  0%| F|  |TAMS 0x00000000e8100000, 0x00000000e8100000| Untracked 
| 130|0x00000000e8200000, 0x00000000e8200000, 0x00000000e8300000|  0%| F|  |TAMS 0x00000000e8200000, 0x00000000e8200000| Untracked 
| 131|0x00000000e8300000, 0x00000000e8300000, 0x00000000e8400000|  0%| F|  |TAMS 0x00000000e8300000, 0x00000000e8300000| Untracked 
| 132|0x00000000e8400000, 0x00000000e8400000, 0x00000000e8500000|  0%| F|  |TAMS 0x00000000e8400000, 0x00000000e8400000| Untracked 
| 133|0x00000000e8500000, 0x00000000e8500000, 0x00000000e8600000|  0%| F|  |TAMS 0x00000000e8500000, 0x00000000e8500000| Untracked 
| 134|0x00000000e8600000, 0x00000000e8600000, 0x00000000e8700000|  0%| F|  |TAMS 0x00000000e8600000, 0x00000000e8600000| Untracked 
| 135|0x00000000e8700000, 0x00000000e8700000, 0x00000000e8800000|  0%| F|  |TAMS 0x00000000e8700000, 0x00000000e8700000| Untracked 
| 136|0x00000000e8800000, 0x00000000e8800000, 0x00000000e8900000|  0%| F|  |TAMS 0x00000000e8800000, 0x00000000e8800000| Untracked 
| 137|0x00000000e8900000, 0x00000000e8900000, 0x00000000e8a00000|  0%| F|  |TAMS 0x00000000e8900000, 0x00000000e8900000| Untracked 
| 138|0x00000000e8a00000, 0x00000000e8a00000, 0x00000000e8b00000|  0%| F|  |TAMS 0x00000000e8a00000, 0x00000000e8a00000| Untracked 
| 139|0x00000000e8b00000, 0x00000000e8b00000, 0x00000000e8c00000|  0%| F|  |TAMS 0x00000000e8b00000, 0x00000000e8b00000| Untracked 
| 140|0x00000000e8c00000, 0x00000000e8c00000, 0x00000000e8d00000|  0%| F|  |TAMS 0x00000000e8c00000, 0x00000000e8c00000| Untracked 
| 141|0x00000000e8d00000, 0x00000000e8d00000, 0x00000000e8e00000|  0%| F|  |TAMS 0x00000000e8d00000, 0x00000000e8d00000| Untracked 
| 142|0x00000000e8e00000, 0x00000000e8e00000, 0x00000000e8f00000|  0%| F|  |TAMS 0x00000000e8e00000, 0x00000000e8e00000| Untracked 
| 143|0x00000000e8f00000, 0x00000000e8f00000, 0x00000000e9000000|  0%| F|  |TAMS 0x00000000e8f00000, 0x00000000e8f00000| Untracked 
| 144|0x00000000e9000000, 0x00000000e9000000, 0x00000000e9100000|  0%| F|  |TAMS 0x00000000e9000000, 0x00000000e9000000| Untracked 
| 145|0x00000000e9100000, 0x00000000e9100000, 0x00000000e9200000|  0%| F|  |TAMS 0x00000000e9100000, 0x00000000e9100000| Untracked 
| 146|0x00000000e9200000, 0x00000000e9200000, 0x00000000e9300000|  0%| F|  |TAMS 0x00000000e9200000, 0x00000000e9200000| Untracked 
| 147|0x00000000e9300000, 0x00000000e9300000, 0x00000000e9400000|  0%| F|  |TAMS 0x00000000e9300000, 0x00000000e9300000| Untracked 
| 148|0x00000000e9400000, 0x00000000e9400000, 0x00000000e9500000|  0%| F|  |TAMS 0x00000000e9400000, 0x00000000e9400000| Untracked 
| 149|0x00000000e9500000, 0x00000000e9500000, 0x00000000e9600000|  0%| F|  |TAMS 0x00000000e9500000, 0x00000000e9500000| Untracked 
| 150|0x00000000e9600000, 0x00000000e9600000, 0x00000000e9700000|  0%| F|  |TAMS 0x00000000e9600000, 0x00000000e9600000| Untracked 
| 151|0x00000000e9700000, 0x00000000e9700000, 0x00000000e9800000|  0%| F|  |TAMS 0x00000000e9700000, 0x00000000e9700000| Untracked 
| 152|0x00000000e9800000, 0x00000000e9800000, 0x00000000e9900000|  0%| F|  |TAMS 0x00000000e9800000, 0x00000000e9800000| Untracked 
| 153|0x00000000e9900000, 0x00000000e9900000, 0x00000000e9a00000|  0%| F|  |TAMS 0x00000000e9900000, 0x00000000e9900000| Untracked 
| 154|0x00000000e9a00000, 0x00000000e9a00000, 0x00000000e9b00000|  0%| F|  |TAMS 0x00000000e9a00000, 0x00000000e9a00000| Untracked 
| 155|0x00000000e9b00000, 0x00000000e9b00000, 0x00000000e9c00000|  0%| F|  |TAMS 0x00000000e9b00000, 0x00000000e9b00000| Untracked 
| 156|0x00000000e9c00000, 0x00000000e9c00000, 0x00000000e9d00000|  0%| F|  |TAMS 0x00000000e9c00000, 0x00000000e9c00000| Untracked 
| 157|0x00000000e9d00000, 0x00000000e9d00000, 0x00000000e9e00000|  0%| F|  |TAMS 0x00000000e9d00000, 0x00000000e9d00000| Untracked 
| 158|0x00000000e9e00000, 0x00000000e9e00000, 0x00000000e9f00000|  0%| F|  |TAMS 0x00000000e9e00000, 0x00000000e9e00000| Untracked 
| 159|0x00000000e9f00000, 0x00000000e9f00000, 0x00000000ea000000|  0%| F|  |TAMS 0x00000000e9f00000, 0x00000000e9f00000| Untracked 
| 160|0x00000000ea000000, 0x00000000ea000000, 0x00000000ea100000|  0%| F|  |TAMS 0x00000000ea000000, 0x00000000ea000000| Untracked 
| 161|0x00000000ea100000, 0x00000000ea100000, 0x00000000ea200000|  0%| F|  |TAMS 0x00000000ea100000, 0x00000000ea100000| Untracked 
| 162|0x00000000ea200000, 0x00000000ea200000, 0x00000000ea300000|  0%| F|  |TAMS 0x00000000ea200000, 0x00000000ea200000| Untracked 
| 163|0x00000000ea300000, 0x00000000ea300000, 0x00000000ea400000|  0%| F|  |TAMS 0x00000000ea300000, 0x00000000ea300000| Untracked 
| 164|0x00000000ea400000, 0x00000000ea400000, 0x00000000ea500000|  0%| F|  |TAMS 0x00000000ea400000, 0x00000000ea400000| Untracked 
| 165|0x00000000ea500000, 0x00000000ea500000, 0x00000000ea600000|  0%| F|  |TAMS 0x00000000ea500000, 0x00000000ea500000| Untracked 
| 166|0x00000000ea600000, 0x00000000ea600000, 0x00000000ea700000|  0%| F|  |TAMS 0x00000000ea600000, 0x00000000ea600000| Untracked 
| 167|0x00000000ea700000, 0x00000000ea700000, 0x00000000ea800000|  0%| F|  |TAMS 0x00000000ea700000, 0x00000000ea700000| Untracked 
| 168|0x00000000ea800000, 0x00000000ea800000, 0x00000000ea900000|  0%| F|  |TAMS 0x00000000ea800000, 0x00000000ea800000| Untracked 
| 169|0x00000000ea900000, 0x00000000ea900000, 0x00000000eaa00000|  0%| F|  |TAMS 0x00000000ea900000, 0x00000000ea900000| Untracked 
| 170|0x00000000eaa00000, 0x00000000eaa00000, 0x00000000eab00000|  0%| F|  |TAMS 0x00000000eaa00000, 0x00000000eaa00000| Untracked 
| 171|0x00000000eab00000, 0x00000000eab00000, 0x00000000eac00000|  0%| F|  |TAMS 0x00000000eab00000, 0x00000000eab00000| Untracked 
| 172|0x00000000eac00000, 0x00000000eac00000, 0x00000000ead00000|  0%| F|  |TAMS 0x00000000eac00000, 0x00000000eac00000| Untracked 
| 173|0x00000000ead00000, 0x00000000ead00000, 0x00000000eae00000|  0%| F|  |TAMS 0x00000000ead00000, 0x00000000ead00000| Untracked 
| 174|0x00000000eae00000, 0x00000000eae00000, 0x00000000eaf00000|  0%| F|  |TAMS 0x00000000eae00000, 0x00000000eae00000| Untracked 
| 175|0x00000000eaf00000, 0x00000000eaf00000, 0x00000000eb000000|  0%| F|  |TAMS 0x00000000eaf00000, 0x00000000eaf00000| Untracked 
| 176|0x00000000eb000000, 0x00000000eb000000, 0x00000000eb100000|  0%| F|  |TAMS 0x00000000eb000000, 0x00000000eb000000| Untracked 
| 177|0x00000000eb100000, 0x00000000eb100000, 0x00000000eb200000|  0%| F|  |TAMS 0x00000000eb100000, 0x00000000eb100000| Untracked 
| 178|0x00000000eb200000, 0x00000000eb200000, 0x00000000eb300000|  0%| F|  |TAMS 0x00000000eb200000, 0x00000000eb200000| Untracked 
| 179|0x00000000eb300000, 0x00000000eb300000, 0x00000000eb400000|  0%| F|  |TAMS 0x00000000eb300000, 0x00000000eb300000| Untracked 
| 180|0x00000000eb400000, 0x00000000eb400000, 0x00000000eb500000|  0%| F|  |TAMS 0x00000000eb400000, 0x00000000eb400000| Untracked 
| 181|0x00000000eb500000, 0x00000000eb500000, 0x00000000eb600000|  0%| F|  |TAMS 0x00000000eb500000, 0x00000000eb500000| Untracked 
| 182|0x00000000eb600000, 0x00000000eb600000, 0x00000000eb700000|  0%| F|  |TAMS 0x00000000eb600000, 0x00000000eb600000| Untracked 
| 183|0x00000000eb700000, 0x00000000eb700000, 0x00000000eb800000|  0%| F|  |TAMS 0x00000000eb700000, 0x00000000eb700000| Untracked 
| 184|0x00000000eb800000, 0x00000000eb800000, 0x00000000eb900000|  0%| F|  |TAMS 0x00000000eb800000, 0x00000000eb800000| Untracked 
| 185|0x00000000eb900000, 0x00000000eb900000, 0x00000000eba00000|  0%| F|  |TAMS 0x00000000eb900000, 0x00000000eb900000| Untracked 
| 186|0x00000000eba00000, 0x00000000eba00000, 0x00000000ebb00000|  0%| F|  |TAMS 0x00000000eba00000, 0x00000000eba00000| Untracked 
| 187|0x00000000ebb00000, 0x00000000ebb00000, 0x00000000ebc00000|  0%| F|  |TAMS 0x00000000ebb00000, 0x00000000ebb00000| Untracked 
| 188|0x00000000ebc00000, 0x00000000ebc00000, 0x00000000ebd00000|  0%| F|  |TAMS 0x00000000ebc00000, 0x00000000ebc00000| Untracked 
| 189|0x00000000ebd00000, 0x00000000ebd00000, 0x00000000ebe00000|  0%| F|  |TAMS 0x00000000ebd00000, 0x00000000ebd00000| Untracked 
| 190|0x00000000ebe00000, 0x00000000ebe00000, 0x00000000ebf00000|  0%| F|  |TAMS 0x00000000ebe00000, 0x00000000ebe00000| Untracked 
| 191|0x00000000ebf00000, 0x00000000ebf00000, 0x00000000ec000000|  0%| F|  |TAMS 0x00000000ebf00000, 0x00000000ebf00000| Untracked 
| 192|0x00000000ec000000, 0x00000000ec100000, 0x00000000ec100000|100%| E|  |TAMS 0x00000000ec000000, 0x00000000ec000000| Complete 
| 193|0x00000000ec100000, 0x00000000ec200000, 0x00000000ec200000|100%| E|CS|TAMS 0x00000000ec100000, 0x00000000ec100000| Complete 
| 194|0x00000000ec200000, 0x00000000ec300000, 0x00000000ec300000|100%| E|CS|TAMS 0x00000000ec200000, 0x00000000ec200000| Complete 
| 195|0x00000000ec300000, 0x00000000ec400000, 0x00000000ec400000|100%| E|CS|TAMS 0x00000000ec300000, 0x00000000ec300000| Complete 
| 196|0x00000000ec400000, 0x00000000ec500000, 0x00000000ec500000|100%| E|CS|TAMS 0x00000000ec400000, 0x00000000ec400000| Complete 
| 197|0x00000000ec500000, 0x00000000ec600000, 0x00000000ec600000|100%| E|CS|TAMS 0x00000000ec500000, 0x00000000ec500000| Complete 
| 198|0x00000000ec600000, 0x00000000ec700000, 0x00000000ec700000|100%| E|CS|TAMS 0x00000000ec600000, 0x00000000ec600000| Complete 
| 199|0x00000000ec700000, 0x00000000ec800000, 0x00000000ec800000|100%| E|CS|TAMS 0x00000000ec700000, 0x00000000ec700000| Complete 
| 200|0x00000000ec800000, 0x00000000ec900000, 0x00000000ec900000|100%| E|CS|TAMS 0x00000000ec800000, 0x00000000ec800000| Complete 
| 201|0x00000000ec900000, 0x00000000eca00000, 0x00000000eca00000|100%| E|CS|TAMS 0x00000000ec900000, 0x00000000ec900000| Complete 
| 202|0x00000000eca00000, 0x00000000ecb00000, 0x00000000ecb00000|100%| E|CS|TAMS 0x00000000eca00000, 0x00000000eca00000| Complete 
| 203|0x00000000ecb00000, 0x00000000ecc00000, 0x00000000ecc00000|100%| E|CS|TAMS 0x00000000ecb00000, 0x00000000ecb00000| Complete 
| 204|0x00000000ecc00000, 0x00000000ecd00000, 0x00000000ecd00000|100%| E|CS|TAMS 0x00000000ecc00000, 0x00000000ecc00000| Complete 
| 205|0x00000000ecd00000, 0x00000000ece00000, 0x00000000ece00000|100%| E|CS|TAMS 0x00000000ecd00000, 0x00000000ecd00000| Complete 
| 206|0x00000000ece00000, 0x00000000ecf00000, 0x00000000ecf00000|100%| E|CS|TAMS 0x00000000ece00000, 0x00000000ece00000| Complete 
| 207|0x00000000ecf00000, 0x00000000ed000000, 0x00000000ed000000|100%| E|CS|TAMS 0x00000000ecf00000, 0x00000000ecf00000| Complete 
| 208|0x00000000ed000000, 0x00000000ed100000, 0x00000000ed100000|100%| E|CS|TAMS 0x00000000ed000000, 0x00000000ed000000| Complete 
| 209|0x00000000ed100000, 0x00000000ed200000, 0x00000000ed200000|100%| E|CS|TAMS 0x00000000ed100000, 0x00000000ed100000| Complete 
| 210|0x00000000ed200000, 0x00000000ed300000, 0x00000000ed300000|100%| E|CS|TAMS 0x00000000ed200000, 0x00000000ed200000| Complete 
| 211|0x00000000ed300000, 0x00000000ed400000, 0x00000000ed400000|100%| E|CS|TAMS 0x00000000ed300000, 0x00000000ed300000| Complete 
| 212|0x00000000ed400000, 0x00000000ed500000, 0x00000000ed500000|100%| E|CS|TAMS 0x00000000ed400000, 0x00000000ed400000| Complete 
| 213|0x00000000ed500000, 0x00000000ed600000, 0x00000000ed600000|100%| E|CS|TAMS 0x00000000ed500000, 0x00000000ed500000| Complete 
| 214|0x00000000ed600000, 0x00000000ed700000, 0x00000000ed700000|100%| E|CS|TAMS 0x00000000ed600000, 0x00000000ed600000| Complete 
| 215|0x00000000ed700000, 0x00000000ed800000, 0x00000000ed800000|100%| E|CS|TAMS 0x00000000ed700000, 0x00000000ed700000| Complete 
| 216|0x00000000ed800000, 0x00000000ed900000, 0x00000000ed900000|100%| E|CS|TAMS 0x00000000ed800000, 0x00000000ed800000| Complete 
| 217|0x00000000ed900000, 0x00000000eda00000, 0x00000000eda00000|100%| E|CS|TAMS 0x00000000ed900000, 0x00000000ed900000| Complete 
| 218|0x00000000eda00000, 0x00000000eda99d48, 0x00000000edb00000| 60%| S|CS|TAMS 0x00000000eda00000, 0x00000000eda00000| Complete 
| 219|0x00000000edb00000, 0x00000000edc00000, 0x00000000edc00000|100%| S|CS|TAMS 0x00000000edb00000, 0x00000000edb00000| Complete 
| 220|0x00000000edc00000, 0x00000000edd00000, 0x00000000edd00000|100%| S|CS|TAMS 0x00000000edc00000, 0x00000000edc00000| Complete 
| 221|0x00000000edd00000, 0x00000000ede00000, 0x00000000ede00000|100%| E|CS|TAMS 0x00000000edd00000, 0x00000000edd00000| Complete 
| 222|0x00000000ede00000, 0x00000000edf00000, 0x00000000edf00000|100%| E|CS|TAMS 0x00000000ede00000, 0x00000000ede00000| Complete 
| 223|0x00000000edf00000, 0x00000000ee000000, 0x00000000ee000000|100%| E|CS|TAMS 0x00000000edf00000, 0x00000000edf00000| Complete 
| 224|0x00000000ee000000, 0x00000000ee100000, 0x00000000ee100000|100%| E|CS|TAMS 0x00000000ee000000, 0x00000000ee000000| Complete 
| 225|0x00000000ee100000, 0x00000000ee200000, 0x00000000ee200000|100%| E|CS|TAMS 0x00000000ee100000, 0x00000000ee100000| Complete 
| 226|0x00000000ee200000, 0x00000000ee300000, 0x00000000ee300000|100%| E|CS|TAMS 0x00000000ee200000, 0x00000000ee200000| Complete 
| 227|0x00000000ee300000, 0x00000000ee400000, 0x00000000ee400000|100%| E|CS|TAMS 0x00000000ee300000, 0x00000000ee300000| Complete 
| 228|0x00000000ee400000, 0x00000000ee500000, 0x00000000ee500000|100%| E|CS|TAMS 0x00000000ee400000, 0x00000000ee400000| Complete 
| 229|0x00000000ee500000, 0x00000000ee600000, 0x00000000ee600000|100%| E|CS|TAMS 0x00000000ee500000, 0x00000000ee500000| Complete 
| 230|0x00000000ee600000, 0x00000000ee700000, 0x00000000ee700000|100%| E|CS|TAMS 0x00000000ee600000, 0x00000000ee600000| Complete 
| 231|0x00000000ee700000, 0x00000000ee800000, 0x00000000ee800000|100%| E|CS|TAMS 0x00000000ee700000, 0x00000000ee700000| Complete 
| 232|0x00000000ee800000, 0x00000000ee900000, 0x00000000ee900000|100%| E|CS|TAMS 0x00000000ee800000, 0x00000000ee800000| Complete 
| 233|0x00000000ee900000, 0x00000000eea00000, 0x00000000eea00000|100%| E|CS|TAMS 0x00000000ee900000, 0x00000000ee900000| Complete 
| 234|0x00000000eea00000, 0x00000000eeb00000, 0x00000000eeb00000|100%| E|CS|TAMS 0x00000000eea00000, 0x00000000eea00000| Complete 
| 235|0x00000000eeb00000, 0x00000000eec00000, 0x00000000eec00000|100%| E|CS|TAMS 0x00000000eeb00000, 0x00000000eeb00000| Complete 
| 236|0x00000000eec00000, 0x00000000eed00000, 0x00000000eed00000|100%| E|CS|TAMS 0x00000000eec00000, 0x00000000eec00000| Complete 
| 237|0x00000000eed00000, 0x00000000eee00000, 0x00000000eee00000|100%| E|CS|TAMS 0x00000000eed00000, 0x00000000eed00000| Complete 
| 238|0x00000000eee00000, 0x00000000eef00000, 0x00000000eef00000|100%| E|CS|TAMS 0x00000000eee00000, 0x00000000eee00000| Complete 
| 239|0x00000000eef00000, 0x00000000ef000000, 0x00000000ef000000|100%| E|CS|TAMS 0x00000000eef00000, 0x00000000eef00000| Complete 
| 240|0x00000000ef000000, 0x00000000ef100000, 0x00000000ef100000|100%| E|CS|TAMS 0x00000000ef000000, 0x00000000ef000000| Complete 
| 241|0x00000000ef100000, 0x00000000ef200000, 0x00000000ef200000|100%| E|CS|TAMS 0x00000000ef100000, 0x00000000ef100000| Complete 
| 242|0x00000000ef200000, 0x00000000ef300000, 0x00000000ef300000|100%| E|CS|TAMS 0x00000000ef200000, 0x00000000ef200000| Complete 
| 243|0x00000000ef300000, 0x00000000ef400000, 0x00000000ef400000|100%| E|CS|TAMS 0x00000000ef300000, 0x00000000ef300000| Complete 
| 244|0x00000000ef400000, 0x00000000ef500000, 0x00000000ef500000|100%| E|CS|TAMS 0x00000000ef400000, 0x00000000ef400000| Complete 
| 245|0x00000000ef500000, 0x00000000ef600000, 0x00000000ef600000|100%| E|CS|TAMS 0x00000000ef500000, 0x00000000ef500000| Complete 
| 246|0x00000000ef600000, 0x00000000ef700000, 0x00000000ef700000|100%| E|CS|TAMS 0x00000000ef600000, 0x00000000ef600000| Complete 
| 247|0x00000000ef700000, 0x00000000ef800000, 0x00000000ef800000|100%| E|CS|TAMS 0x00000000ef700000, 0x00000000ef700000| Complete 
| 248|0x00000000ef800000, 0x00000000ef900000, 0x00000000ef900000|100%| E|CS|TAMS 0x00000000ef800000, 0x00000000ef800000| Complete 
| 249|0x00000000ef900000, 0x00000000efa00000, 0x00000000efa00000|100%| E|CS|TAMS 0x00000000ef900000, 0x00000000ef900000| Complete 
| 510|0x00000000ffe00000, 0x00000000ffe52000, 0x00000000fff00000| 32%|OA|  |TAMS 0x00000000ffe00000, 0x00000000ffe00000| Untracked 
| 511|0x00000000fff00000, 0x00000000fff7c000, 0x0000000100000000| 48%|CA|  |TAMS 0x00000000fff00000, 0x00000000fff00000| Untracked 

Card table byte_map: [0x00007f2a55dc4000,0x00007f2a55ec4000] _byte_map_base: 0x00007f2a556c4000

Marking Bits (Prev, Next): (CMBitMap*) 0x00007f2a50056180, (CMBitMap*) 0x00007f2a500561c0
 Prev Bits: [0x00007f2a554c4000, 0x00007f2a55cc4000)
 Next Bits: [0x00007f2a54cc4000, 0x00007f2a554c4000)

Polling page: 0x00007f2a59f7c000

Metaspace:

Usage:
  Non-class:     16.77 MB capacity,    16.59 MB ( 99%) used,   160.09 KB ( <1%) free+waste,    23.75 KB ( <1%) overhead. 
      Class:      2.41 MB capacity,     2.31 MB ( 96%) used,    98.51 KB (  4%) free+waste,     9.62 KB ( <1%) overhead. 
       Both:     19.18 MB capacity,    18.89 MB ( 99%) used,   258.60 KB (  1%) free+waste,    33.38 KB ( <1%) overhead. 

Virtual space:
  Non-class space:       18.00 MB reserved,      17.00 MB ( 94%) committed 
      Class space:        1.00 GB reserved,       2.50 MB ( <1%) committed 
             Both:        1.02 GB reserved,      19.50 MB (  2%) committed 

Chunk freelists:
   Non-Class:  48.00 KB
       Class:  8.00 KB
        Both:  56.00 KB

MaxMetaspaceSize: 17179869184.00 GB
CompressedClassSpaceSize: 1.00 GB

CodeHeap 'non-profiled nmethods': size=120028Kb used=777Kb max_used=777Kb free=119251Kb
 bounds [0x00007f2a3fdf8000, 0x00007f2a40068000, 0x00007f2a4732f000]
CodeHeap 'profiled nmethods': size=120028Kb used=4566Kb max_used=4566Kb free=115461Kb
 bounds [0x00007f2a388c1000, 0x00007f2a38d41000, 0x00007f2a3fdf8000]
CodeHeap 'non-nmethods': size=5704Kb used=1230Kb max_used=1231Kb free=4473Kb
 bounds [0x00007f2a3832f000, 0x00007f2a3859f000, 0x00007f2a388c1000]
 total_blobs=3077 nmethods=2575 adapters=415
 compilation: enabled
              stopped_count=0, restarted_count=0
 full_count=0

Compilation events (20 events):
Event: 2.078 Thread 0x00007f2a5015ff60 2603       2       java.util.regex.Pattern::peek (26 bytes)
Event: 2.078 Thread 0x00007f2a5015ff60 nmethod 2603 0x00007f2a38d31d10 code [0x00007f2a38d31ea0, 0x00007f2a38d32000]
Event: 2.086 Thread 0x00007f2a5015ff60 2604       3       java.util.regex.Matcher::reset (128 bytes)
Event: 2.086 Thread 0x00007f2a5015ff60 nmethod 2604 0x00007f2a38d32110 code [0x00007f2a38d32300, 0x00007f2a38d328e0]
Event: 2.086 Thread 0x00007f2a5015ff60 2605       2       java.util.regex.Pattern::next (33 bytes)
Event: 2.087 Thread 0x00007f2a5015ff60 nmethod 2605 0x00007f2a38d32b90 code [0x00007f2a38d32d20, 0x00007f2a38d32e80]
Event: 2.095 Thread 0x00007f2a5015ff60 2606   !   2       sun.net.www.ParseUtil::decode (317 bytes)
Event: 2.098 Thread 0x00007f2a5015ff60 nmethod 2606 0x00007f2a38d32f90 code [0x00007f2a38d332e0, 0x00007f2a38d340f0]
Event: 2.104 Thread 0x00007f2a5015ff60 2607       1       ch.qos.logback.classic.Logger::getName (5 bytes)
Event: 2.104 Thread 0x00007f2a5015ff60 nmethod 2607 0x00007f2a3feb9d90 code [0x00007f2a3feb9f20, 0x00007f2a3feb9fd0]
Event: 2.105 Thread 0x00007f2a5015ff60 2608   !   2       java.util.concurrent.ConcurrentHashMap::initTable (112 bytes)
Event: 2.106 Thread 0x00007f2a5015ff60 nmethod 2608 0x00007f2a38d34b10 code [0x00007f2a38d34cc0, 0x00007f2a38d35080]
Event: 2.112 Thread 0x00007f2a5015ff60 2609       2       sun.nio.cs.UTF_8::updatePositions (23 bytes)
Event: 2.113 Thread 0x00007f2a5015ff60 nmethod 2609 0x00007f2a38d35290 code [0x00007f2a38d35440, 0x00007f2a38d355d0]
Event: 2.118 Thread 0x00007f2a5015ff60 2611       2       java.lang.Class::arrayContentsEq (70 bytes)
Event: 2.118 Thread 0x00007f2a5015ff60 nmethod 2611 0x00007f2a38d35710 code [0x00007f2a38d358a0, 0x00007f2a38d35ad0]
Event: 2.122 Thread 0x00007f2a5015ff60 2612       2       jdk.internal.jimage.BasicImageReader::getAttributes (49 bytes)
Event: 2.122 Thread 0x00007f2a5015ff60 nmethod 2612 0x00007f2a38d35c10 code [0x00007f2a38d35dc0, 0x00007f2a38d35fc0]
Event: 2.122 Thread 0x00007f2a5015ff60 2613       2       jdk.internal.jimage.ImageLocation::verify (50 bytes)
Event: 2.123 Thread 0x00007f2a5015ff60 nmethod 2613 0x00007f2a38d36110 code [0x00007f2a38d36300, 0x00007f2a38d366c0]

GC Heap History (4 events):
Event: 0.646 GC heap before
{Heap before GC invocations=0 (full 0):
 garbage-first heap   total 258048K, used 26424K [0x00000000e0000000, 0x0000000100000000)
  region size 1024K, 23 young (23552K), 0 survivors (0K)
 Metaspace       used 5091K, capacity 6596K, committed 6656K, reserved 1056768K
  class space    used 618K, capacity 740K, committed 768K, reserved 1048576K
}
Event: 0.654 GC heap after
{Heap after GC invocations=1 (full 0):
 garbage-first heap   total 258048K, used 9950K [0x00000000e0000000, 0x0000000100000000)
  region size 1024K, 3 young (3072K), 3 survivors (3072K)
 Metaspace       used 5091K, capacity 6596K, committed 6656K, reserved 1056768K
  class space    used 618K, capacity 740K, committed 768K, reserved 1048576K
}
Event: 1.168 GC heap before
{Heap before GC invocations=1 (full 0):
 garbage-first heap   total 258048K, used 36574K [0x00000000e0000000, 0x0000000100000000)
  region size 1024K, 29 young (29696K), 3 survivors (3072K)
 Metaspace       used 9902K, capacity 10397K, committed 10496K, reserved 1058816K
  class space    used 1145K, capacity 1193K, committed 1280K, reserved 1048576K
}
Event: 1.173 GC heap after
{Heap after GC invocations=2 (full 0):
 garbage-first heap   total 258048K, used 13534K [0x00000000e0000000, 0x0000000100000000)
  region size 1024K, 3 young (3072K), 3 survivors (3072K)
 Metaspace       used 9902K, capacity 10397K, committed 10496K, reserved 1058816K
  class space    used 1145K, capacity 1193K, committed 1280K, reserved 1048576K
}

Deoptimization events (20 events):
Event: 1.988 Thread 0x00007f2a50806ca0 DEOPT PACKING pc=0x00007f2a38d24880 sp=0x00007f2a28208820
Event: 1.988 Thread 0x00007f2a50806ca0 DEOPT UNPACKING pc=0x00007f2a3837cf2b sp=0x00007f2a28207d58 mode 0
Event: 2.003 Thread 0x00007f2a50806ca0 DEOPT PACKING pc=0x00007f2a38d24880 sp=0x00007f2a28208880
Event: 2.003 Thread 0x00007f2a50806ca0 DEOPT UNPACKING pc=0x00007f2a3837cf2b sp=0x00007f2a28207db8 mode 0
Event: 2.022 Thread 0x00007f2a50806ca0 DEOPT PACKING pc=0x00007f2a38d24880 sp=0x00007f2a2820c290
Event: 2.022 Thread 0x00007f2a50806ca0 DEOPT UNPACKING pc=0x00007f2a3837cf2b sp=0x00007f2a2820b7c8 mode 0
Event: 2.027 Thread 0x00007f2a50806ca0 DEOPT PACKING pc=0x00007f2a38c9effc sp=0x00007f2a2820c3f0
Event: 2.027 Thread 0x00007f2a50806ca0 DEOPT UNPACKING pc=0x00007f2a3837cf2b sp=0x00007f2a2820b880 mode 0
Event: 2.051 Thread 0x00007f2a50806ca0 DEOPT PACKING pc=0x00007f2a38d24880 sp=0x00007f2a2820a3a0
Event: 2.051 Thread 0x00007f2a50806ca0 DEOPT UNPACKING pc=0x00007f2a3837cf2b sp=0x00007f2a282098d8 mode 0
Event: 2.066 Thread 0x00007f2a50806ca0 DEOPT PACKING pc=0x00007f2a38d24880 sp=0x00007f2a28201a60
Event: 2.066 Thread 0x00007f2a50806ca0 DEOPT UNPACKING pc=0x00007f2a3837cf2b sp=0x00007f2a28200f98 mode 0
Event: 2.072 Thread 0x00007f2a50806ca0 DEOPT PACKING pc=0x00007f2a38d24880 sp=0x00007f2a281feae0
Event: 2.072 Thread 0x00007f2a50806ca0 DEOPT UNPACKING pc=0x00007f2a3837cf2b sp=0x00007f2a281fe018 mode 0
Event: 2.076 Thread 0x00007f2a50806ca0 DEOPT PACKING pc=0x00007f2a38d24880 sp=0x00007f2a281fa310
Event: 2.076 Thread 0x00007f2a50806ca0 DEOPT UNPACKING pc=0x00007f2a3837cf2b sp=0x00007f2a281f9848 mode 0
Event: 2.102 Thread 0x00007f2a50806ca0 DEOPT PACKING pc=0x00007f2a38d24880 sp=0x00007f2a28208010
Event: 2.102 Thread 0x00007f2a50806ca0 DEOPT UNPACKING pc=0x00007f2a3837cf2b sp=0x00007f2a28207548 mode 0
Event: 2.115 Thread 0x00007f2a50806ca0 DEOPT PACKING pc=0x00007f2a38d24880 sp=0x00007f2a2820a100
Event: 2.115 Thread 0x00007f2a50806ca0 DEOPT UNPACKING pc=0x00007f2a3837cf2b sp=0x00007f2a28209638 mode 0

Classes unloaded (0 events):
No events

Classes redefined (0 events):
No events

Internal exceptions (20 events):
Event: 1.741 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/IncompatibleClassChangeError'{0x00000000ed42d4b0}: Found class java.lang.Object, but interface was expected> (0x00000000ed42d4b0) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 848]
Event: 1.743 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ed4492d0}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000000ed4492d0) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 1.752 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ed4d7130}: 'java.lang.Object java.lang.invoke.Invokers$Holder.invokeExact_MT(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000000ed4d7130) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 1.754 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ed4e7470}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000000ed4e7470) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 1.793 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ed14e128}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000000ed14e128) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 1.809 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ed00a1c8}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeVirtual(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000000ed00a1c8) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 1.811 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ed017770}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeInterface(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000000ed017770) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 1.815 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ed044128}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000000ed044128) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 1.815 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/IncompatibleClassChangeError'{0x00000000ed04d060}: Found class java.lang.Object, but interface was expected> (0x00000000ed04d060) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 848]
Event: 1.826 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ecf3f520}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.newInvokeSpecial(java.lang.Object, long)'> (0x00000000ecf3f520) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 1.869 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/ClassNotFoundException'{0x00000000ecef4998}: javax/smartcardio/CardPermission> (0x00000000ecef4998) 
thrown [./src/hotspot/share/classfile/systemDictionary.cpp, line 295]
Event: 1.871 Thread 0x00007f2a50806ca0 Exception <a 'java/io/FileNotFoundException'{0x00000000ecd02c98}> (0x00000000ecd02c98) 
thrown [./src/hotspot/share/prims/jni.cpp, line 578]
Event: 1.990 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ec7281c0}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object)'> (0x00000000ec7281c0) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 1.994 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ec75f200}: 'org.slf4j.impl.StaticMDCBinder org.slf4j.impl.StaticMDCBinder.getSingleton()'> (0x00000000ec75f200) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 2.059 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ec4e4ec8}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.newInvokeSpecial(java.lang.Object, int, java.lang.Object)'> (0x00000000ec4e4ec8) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 2.062 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/UnsatisfiedLinkError'{0x00000000ec30d858}: 'int io.netty.channel.epoll.Native.offsetofEpollData()'> (0x00000000ec30d858) 
thrown [./src/hotspot/share/prims/nativeLookup.cpp, line 530]
Event: 2.092 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/reflect/InvocationTargetException'{0x00000000ec2d8fa0}> (0x00000000ec2d8fa0) 
thrown [./src/hotspot/share/runtime/reflection.cpp, line 1157]
Event: 2.118 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/NoSuchMethodError'{0x00000000ec03c708}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000000ec03c708) 
thrown [./src/hotspot/share/interpreter/linkResolver.cpp, line 782]
Event: 2.121 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/UnsatisfiedLinkError'{0x00000000ec05ce50}: 'int io.netty.incubator.channel.uring.Native.createFile()'> (0x00000000ec05ce50) 
thrown [./src/hotspot/share/prims/nativeLookup.cpp, line 530]
Event: 2.122 Thread 0x00007f2a50806ca0 Exception <a 'java/lang/reflect/InvocationTargetException'{0x00000000ec05f278}> (0x00000000ec05f278) 
thrown [./src/hotspot/share/runtime/reflection.cpp, line 1157]

Events (20 events):
Event: 2.097 Loaded shared library /tmp/libnetty_transport_native_epoll_x86_6414482924722330918125.so
Event: 2.100 loading class java/net/PortUnreachableException
Event: 2.100 loading class java/net/PortUnreachableException done
Event: 2.101 loading class java/util/concurrent/atomic/AtomicIntegerFieldUpdater
Event: 2.101 loading class java/util/concurrent/atomic/AtomicIntegerFieldUpdater done
Event: 2.101 loading class java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl
Event: 2.101 loading class java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl done
Event: 2.101 loading class java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl$1
Event: 2.101 loading class java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl$1 done
Event: 2.110 loading class java/net/NetworkInterface
Event: 2.110 loading class java/net/NetworkInterface done
Event: 2.110 loading class java/net/InterfaceAddress
Event: 2.110 loading class java/net/InterfaceAddress done
Event: 2.110 loading class java/net/DefaultInterface
Event: 2.111 loading class java/net/DefaultInterface done
Event: 2.111 loading class java/net/NetworkInterface$1
Event: 2.111 loading class java/net/NetworkInterface$1 done
Event: 2.111 loading class java/security/PrivilegedActionException
Event: 2.111 loading class java/security/PrivilegedActionException done
Event: 2.125 Loaded shared library /tmp/libnetty_transport_native_io_uring_x86_641527086398282109915.so


Dynamic libraries:
e0000000-efa00000 rw-p 00000000 00:00 0 
efa00000-ffe00000 ---p 00000000 00:00 0 
ffe00000-ffe52000 rw-p 00bdc000 fd:02 84157650                           /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/server/classes.jsa
ffe52000-fff00000 rw-p 00000000 00:00 0 
fff00000-fff7c000 rw-p 00b60000 fd:02 84157650                           /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/server/classes.jsa
fff7c000-100000000 rw-p 00000000 00:00 0 
800000000-800003000 rwxp 00001000 fd:02 84157650                         /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/server/classes.jsa
800003000-8003e3000 rw-p 00004000 fd:02 84157650                         /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/server/classes.jsa
8003e3000-800b2b000 r--p 003e4000 fd:02 84157650                         /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/server/classes.jsa
800b2b000-800b2c000 ---p 00000000 00:00 0 
800b2c000-800dac000 rw-p 00000000 00:00 0 
800dac000-840b2c000 ---p 00000000 00:00 0 
55e2429b2000-55e2429b3000 r-xp 00000000 fd:02 277206255                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/bin/java
55e242bb3000-55e242bb4000 r--p 00001000 fd:02 277206255                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/bin/java
55e242bb4000-55e242bb5000 rw-p 00002000 fd:02 277206255                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/bin/java
55e24466a000-55e24468b000 rw-p 00000000 00:00 0                          [heap]
7f29c4000000-7f29c4021000 rw-p 00000000 00:00 0 
7f29c4021000-7f29c8000000 ---p 00000000 00:00 0 
7f29c8000000-7f29c8021000 rw-p 00000000 00:00 0 
7f29c8021000-7f29cc000000 ---p 00000000 00:00 0 
7f29cc000000-7f29cc021000 rw-p 00000000 00:00 0 
7f29cc021000-7f29d0000000 ---p 00000000 00:00 0 
7f29d0000000-7f29d0021000 rw-p 00000000 00:00 0 
7f29d0021000-7f29d4000000 ---p 00000000 00:00 0 
7f29d4000000-7f29d4021000 rw-p 00000000 00:00 0 
7f29d4021000-7f29d8000000 ---p 00000000 00:00 0 
7f29d8000000-7f29d8021000 rw-p 00000000 00:00 0 
7f29d8021000-7f29dc000000 ---p 00000000 00:00 0 
7f29dc000000-7f29dc021000 rw-p 00000000 00:00 0 
7f29dc021000-7f29e0000000 ---p 00000000 00:00 0 
7f29e0000000-7f29e0021000 rw-p 00000000 00:00 0 
7f29e0021000-7f29e4000000 ---p 00000000 00:00 0 
7f29e4000000-7f29e4073000 rw-p 00000000 00:00 0 
7f29e4073000-7f29e8000000 ---p 00000000 00:00 0 
7f29ea260000-7f29ea4be000 rw-p 00000000 00:00 0 
7f29ea4be000-7f29ea4cd000 r-xp 00000000 fd:02 94779059                   /tmp/libnetty_transport_native_io_uring_x86_641527086398282109915.so (deleted)
7f29ea4cd000-7f29ea6cd000 ---p 0000f000 fd:02 94779059                   /tmp/libnetty_transport_native_io_uring_x86_641527086398282109915.so (deleted)
7f29ea6cd000-7f29ea6cf000 rw-p 0000f000 fd:02 94779059                   /tmp/libnetty_transport_native_io_uring_x86_641527086398282109915.so (deleted)
7f29ea6cf000-7f29ea6de000 r-xp 00000000 fd:02 94779058                   /tmp/libnetty_transport_native_epoll_x86_6414482924722330918125.so (deleted)
7f29ea6de000-7f29ea8de000 ---p 0000f000 fd:02 94779058                   /tmp/libnetty_transport_native_epoll_x86_6414482924722330918125.so (deleted)
7f29ea8de000-7f29ea8e0000 rw-p 0000f000 fd:02 94779058                   /tmp/libnetty_transport_native_epoll_x86_6414482924722330918125.so (deleted)
7f29ea8e0000-7f29ea9e0000 rw-p 00000000 00:00 0 
7f29ea9e0000-7f29eaae0000 ---p 00000000 00:00 0 
7f29eaae0000-7f29eace0000 rw-p 00000000 00:00 0 
7f29eace3000-7f29eace7000 ---p 00000000 00:00 0 
7f29eace7000-7f29eade4000 rw-p 00000000 00:00 0 
7f29eade4000-7f29eadea000 r-xp 00000000 fd:02 318918671                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libmanagement_ext.so
7f29eadea000-7f29eafe9000 ---p 00006000 fd:02 318918671                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libmanagement_ext.so
7f29eafe9000-7f29eafea000 r--p 00005000 fd:02 318918671                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libmanagement_ext.so
7f29eafea000-7f29eafeb000 rw-p 00006000 fd:02 318918671                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libmanagement_ext.so
7f29eafeb000-7f29eafef000 r-xp 00000000 fd:02 318918669                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libmanagement.so
7f29eafef000-7f29eb1ee000 ---p 00004000 fd:02 318918669                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libmanagement.so
7f29eb1ee000-7f29eb1ef000 r--p 00003000 fd:02 318918669                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libmanagement.so
7f29eb1ef000-7f29eb1f0000 rw-p 00004000 fd:02 318918669                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libmanagement.so
7f29eb1f0000-7f29eb3f0000 rw-p 00000000 00:00 0 
7f29eb3f0000-7f29eb5f0000 rw-p 00000000 00:00 0 
7f29eb5f0000-7f29eb7f0000 rw-p 00000000 00:00 0 
7f29eb7f1000-7f29eb7f2000 ---p 00000000 00:00 0 
7f29eb7f2000-7f29eb8f3000 rw-p 00000000 00:00 0 
7f29eb8f3000-7f29eb8f4000 ---p 00000000 00:00 0 
7f29eb8f4000-7f29eb9f5000 rw-p 00000000 00:00 0 
7f29eb9f5000-7f29eb9f6000 ---p 00000000 00:00 0 
7f29eb9f6000-7f29ebaf7000 rw-p 00000000 00:00 0 
7f29ebaf7000-7f29ebaf8000 ---p 00000000 00:00 0 
7f29ebaf8000-7f29ebbf9000 rw-p 00000000 00:00 0 
7f29ebbf9000-7f29ebbfa000 ---p 00000000 00:00 0 
7f29ebbfa000-7f29ebcfb000 rw-p 00000000 00:00 0 
7f29ebcfb000-7f29ebcfc000 ---p 00000000 00:00 0 
7f29ebcfc000-7f29ebdfd000 rw-p 00000000 00:00 0 
7f29ebdfd000-7f29ebdfe000 ---p 00000000 00:00 0 
7f29ebdfe000-7f29ebeff000 rw-p 00000000 00:00 0 
7f29ebeff000-7f29ebf03000 ---p 00000000 00:00 0 
7f29ebf03000-7f29ec000000 rw-p 00000000 00:00 0 
7f29ec000000-7f29ecad1000 rw-p 00000000 00:00 0 
7f29ecad1000-7f29f0000000 ---p 00000000 00:00 0 
7f29f0000000-7f29f0021000 rw-p 00000000 00:00 0 
7f29f0021000-7f29f4000000 ---p 00000000 00:00 0 
7f29f4000000-7f29f4021000 rw-p 00000000 00:00 0 
7f29f4021000-7f29f8000000 ---p 00000000 00:00 0 
7f29f8000000-7f29f8021000 rw-p 00000000 00:00 0 
7f29f8021000-7f29fc000000 ---p 00000000 00:00 0 
7f29fc000000-7f29fc021000 rw-p 00000000 00:00 0 
7f29fc021000-7f2a00000000 ---p 00000000 00:00 0 
7f2a00000000-7f2a00021000 rw-p 00000000 00:00 0 
7f2a00021000-7f2a04000000 ---p 00000000 00:00 0 
7f2a04000000-7f2a04fc3000 rw-p 00000000 00:00 0 
7f2a04fc3000-7f2a08000000 ---p 00000000 00:00 0 
7f2a08000000-7f2a083ea000 rw-p 00000000 00:00 0 
7f2a083ea000-7f2a0c000000 ---p 00000000 00:00 0 
7f2a0c000000-7f2a0c021000 rw-p 00000000 00:00 0 
7f2a0c021000-7f2a10000000 ---p 00000000 00:00 0 
7f2a10000000-7f2a10021000 rw-p 00000000 00:00 0 
7f2a10021000-7f2a14000000 ---p 00000000 00:00 0 
7f2a14000000-7f2a14021000 rw-p 00000000 00:00 0 
7f2a14021000-7f2a18000000 ---p 00000000 00:00 0 
7f2a18000000-7f2a18021000 rw-p 00000000 00:00 0 
7f2a18021000-7f2a1c000000 ---p 00000000 00:00 0 
7f2a1c000000-7f2a1c021000 rw-p 00000000 00:00 0 
7f2a1c021000-7f2a20000000 ---p 00000000 00:00 0 
7f2a20000000-7f2a20021000 rw-p 00000000 00:00 0 
7f2a20021000-7f2a24000000 ---p 00000000 00:00 0 
7f2a24000000-7f2a24021000 rw-p 00000000 00:00 0 
7f2a24021000-7f2a28000000 ---p 00000000 00:00 0 
7f2a28011000-7f2a28015000 ---p 00000000 00:00 0 
7f2a28015000-7f2a28112000 rw-p 00000000 00:00 0 
7f2a28112000-7f2a28116000 ---p 00000000 00:00 0 
7f2a28116000-7f2a28213000 rw-p 00000000 00:00 0 
7f2a28213000-7f2a28215000 r-xp 00000000 fd:02 318914510                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libextnet.so
7f2a28215000-7f2a28414000 ---p 00002000 fd:02 318914510                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libextnet.so
7f2a28414000-7f2a28415000 r--p 00001000 fd:02 318914510                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libextnet.so
7f2a28415000-7f2a28416000 rw-p 00002000 fd:02 318914510                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libextnet.so
7f2a28416000-7f2a28427000 r-xp 00000000 fd:02 318918681                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libverify.so
7f2a28427000-7f2a28626000 ---p 00011000 fd:02 318918681                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libverify.so
7f2a28626000-7f2a28628000 r--p 00010000 fd:02 318918681                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libverify.so
7f2a28628000-7f2a28629000 rw-p 00012000 fd:02 318918681                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libverify.so
7f2a28629000-7f2a28630000 r-xp 00000000 fd:02 318918682                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libzip.so
7f2a28630000-7f2a28830000 ---p 00007000 fd:02 318918682                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libzip.so
7f2a28830000-7f2a28831000 r--p 00007000 fd:02 318918682                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libzip.so
7f2a28831000-7f2a28832000 rw-p 00008000 fd:02 318918682                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libzip.so
7f2a28832000-7f2a28846000 r-xp 00000000 fd:02 318918673                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libnet.so
7f2a28846000-7f2a28a46000 ---p 00014000 fd:02 318918673                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libnet.so
7f2a28a46000-7f2a28a47000 r--p 00014000 fd:02 318918673                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libnet.so
7f2a28a47000-7f2a28a48000 rw-p 00015000 fd:02 318918673                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libnet.so
7f2a28a48000-7f2a28a59000 r-xp 00000000 fd:02 318918674                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libnio.so
7f2a28a59000-7f2a28c58000 ---p 00011000 fd:02 318918674                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libnio.so
7f2a28c58000-7f2a28c59000 r--p 00010000 fd:02 318918674                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libnio.so
7f2a28c59000-7f2a28c5a000 rw-p 00011000 fd:02 318918674                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libnio.so
7f2a28c5a000-7f2a28c5e000 ---p 00000000 00:00 0 
7f2a28c5e000-7f2a28d5b000 rw-p 00000000 00:00 0 
7f2a28d5b000-7f2a28d5c000 ---p 00000000 00:00 0 
7f2a28d5c000-7f2a28e5d000 rw-p 00000000 00:00 0 
7f2a28e5d000-7f2a28e61000 ---p 00000000 00:00 0 
7f2a28e61000-7f2a28f5e000 rw-p 00000000 00:00 0 
7f2a28f5e000-7f2a28f62000 ---p 00000000 00:00 0 
7f2a28f62000-7f2a2905f000 rw-p 00000000 00:00 0 
7f2a2905f000-7f2a29063000 ---p 00000000 00:00 0 
7f2a29063000-7f2a29160000 rw-p 00000000 00:00 0 
7f2a29160000-7f2a29164000 ---p 00000000 00:00 0 
7f2a29164000-7f2a29261000 rw-p 00000000 00:00 0 
7f2a29261000-7f2a29265000 ---p 00000000 00:00 0 
7f2a29265000-7f2a29362000 rw-p 00000000 00:00 0 
7f2a29362000-7f2a29366000 ---p 00000000 00:00 0 
7f2a29366000-7f2a29463000 rw-p 00000000 00:00 0 
7f2a29463000-7f2a295fe000 r--p 00000000 fd:02 218127419                  /usr/lib/locale/locale-archive
7f2a295fe000-7f2a29602000 ---p 00000000 00:00 0 
7f2a29602000-7f2a296ff000 rw-p 00000000 00:00 0 
7f2a296ff000-7f2a29703000 ---p 00000000 00:00 0 
7f2a29703000-7f2a2c000000 rw-p 00000000 00:00 0 
7f2a2c000000-7f2a2c021000 rw-p 00000000 00:00 0 
7f2a2c021000-7f2a30000000 ---p 00000000 00:00 0 
7f2a30000000-7f2a30021000 rw-p 00000000 00:00 0 
7f2a30021000-7f2a34000000 ---p 00000000 00:00 0 
7f2a34000000-7f2a34021000 rw-p 00000000 00:00 0 
7f2a34021000-7f2a38000000 ---p 00000000 00:00 0 
7f2a380aa000-7f2a380ab000 ---p 00000000 00:00 0 
7f2a380ab000-7f2a3822d000 rw-p 00000000 00:00 0 
7f2a3822d000-7f2a3822e000 ---p 00000000 00:00 0 
7f2a3822e000-7f2a3832f000 rw-p 00000000 00:00 0 
7f2a3832f000-7f2a3859f000 rwxp 00000000 00:00 0 
7f2a3859f000-7f2a388c1000 ---p 00000000 00:00 0 
7f2a388c1000-7f2a38d41000 rwxp 00000000 00:00 0 
7f2a38d41000-7f2a3fdf8000 ---p 00000000 00:00 0 
7f2a3fdf8000-7f2a40068000 rwxp 00000000 00:00 0 
7f2a40068000-7f2a4732f000 ---p 00000000 00:00 0 
7f2a4732f000-7f2a50000000 r--s 00000000 fd:02 318918683                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/modules
7f2a50000000-7f2a50868000 rw-p 00000000 00:00 0 
7f2a50868000-7f2a54000000 ---p 00000000 00:00 0 
7f2a54059000-7f2a540b4000 rw-p 00000000 00:00 0 
7f2a540b4000-7f2a540b5000 ---p 00000000 00:00 0 
7f2a540b5000-7f2a549be000 rw-p 00000000 00:00 0 
7f2a549be000-7f2a549bf000 ---p 00000000 00:00 0 
7f2a549bf000-7f2a54ac0000 rw-p 00000000 00:00 0 
7f2a54ac0000-7f2a54ac1000 ---p 00000000 00:00 0 
7f2a54ac1000-7f2a54bc2000 rw-p 00000000 00:00 0 
7f2a54bc2000-7f2a54bc3000 ---p 00000000 00:00 0 
7f2a54bc3000-7f2a550ac000 rw-p 00000000 00:00 0 
7f2a550ac000-7f2a554bc000 ---p 00000000 00:00 0 
7f2a554bc000-7f2a558ac000 rw-p 00000000 00:00 0 
7f2a558ac000-7f2a55cbc000 ---p 00000000 00:00 0 
7f2a55cbc000-7f2a55d41000 rw-p 00000000 00:00 0 
7f2a55d41000-7f2a55dc3000 ---p 00000000 00:00 0 
7f2a55dc3000-7f2a55e41000 rw-p 00000000 00:00 0 
7f2a55e41000-7f2a55ec3000 ---p 00000000 00:00 0 
7f2a55ec3000-7f2a55f41000 rw-p 00000000 00:00 0 
7f2a55f41000-7f2a55fc3000 ---p 00000000 00:00 0 
7f2a55fc3000-7f2a567d1000 rw-p 00000000 00:00 0 
7f2a567d1000-7f2a568b7000 ---p 00000000 00:00 0 
7f2a568b7000-7f2a568c0000 rw-p 00000000 00:00 0 
7f2a568c0000-7f2a569a2000 ---p 00000000 00:00 0 
7f2a569a2000-7f2a569c6000 r-xp 00000000 fd:02 318918659                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjava.so
7f2a569c6000-7f2a56bc5000 ---p 00024000 fd:02 318918659                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjava.so
7f2a56bc5000-7f2a56bc6000 r--p 00023000 fd:02 318918659                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjava.so
7f2a56bc6000-7f2a56bc7000 rw-p 00024000 fd:02 318918659                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjava.so
7f2a56bc7000-7f2a56bc8000 rw-p 00000000 00:00 0 
7f2a56bc8000-7f2a56bd3000 r-xp 00000000 fd:02 75501469                   /lib/x86_64-linux-gnu/libnss_files-2.27.so
7f2a56bd3000-7f2a56dd2000 ---p 0000b000 fd:02 75501469                   /lib/x86_64-linux-gnu/libnss_files-2.27.so
7f2a56dd2000-7f2a56dd3000 r--p 0000a000 fd:02 75501469                   /lib/x86_64-linux-gnu/libnss_files-2.27.so
7f2a56dd3000-7f2a56dd4000 rw-p 0000b000 fd:02 75501469                   /lib/x86_64-linux-gnu/libnss_files-2.27.so
7f2a56dd4000-7f2a56dda000 rw-p 00000000 00:00 0 
7f2a56dda000-7f2a56df1000 r-xp 00000000 fd:02 75501463                   /lib/x86_64-linux-gnu/libnsl-2.27.so
7f2a56df1000-7f2a56ff0000 ---p 00017000 fd:02 75501463                   /lib/x86_64-linux-gnu/libnsl-2.27.so
7f2a56ff0000-7f2a56ff1000 r--p 00016000 fd:02 75501463                   /lib/x86_64-linux-gnu/libnsl-2.27.so
7f2a56ff1000-7f2a56ff2000 rw-p 00017000 fd:02 75501463                   /lib/x86_64-linux-gnu/libnsl-2.27.so
7f2a56ff2000-7f2a56ff4000 rw-p 00000000 00:00 0 
7f2a56ff4000-7f2a56fff000 r-xp 00000000 fd:02 75501473                   /lib/x86_64-linux-gnu/libnss_nis-2.27.so
7f2a56fff000-7f2a571fe000 ---p 0000b000 fd:02 75501473                   /lib/x86_64-linux-gnu/libnss_nis-2.27.so
7f2a571fe000-7f2a571ff000 r--p 0000a000 fd:02 75501473                   /lib/x86_64-linux-gnu/libnss_nis-2.27.so
7f2a571ff000-7f2a57200000 rw-p 0000b000 fd:02 75501473                   /lib/x86_64-linux-gnu/libnss_nis-2.27.so
7f2a57200000-7f2a57208000 r-xp 00000000 fd:02 75501465                   /lib/x86_64-linux-gnu/libnss_compat-2.27.so
7f2a57208000-7f2a57408000 ---p 00008000 fd:02 75501465                   /lib/x86_64-linux-gnu/libnss_compat-2.27.so
7f2a57408000-7f2a57409000 r--p 00008000 fd:02 75501465                   /lib/x86_64-linux-gnu/libnss_compat-2.27.so
7f2a57409000-7f2a5740a000 rw-p 00009000 fd:02 75501465                   /lib/x86_64-linux-gnu/libnss_compat-2.27.so
7f2a5740a000-7f2a57425000 r-xp 00000000 fd:02 318918663                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjimage.so
7f2a57425000-7f2a57624000 ---p 0001b000 fd:02 318918663                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjimage.so
7f2a57624000-7f2a57626000 r--p 0001a000 fd:02 318918663                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjimage.so
7f2a57626000-7f2a57627000 rw-p 0001c000 fd:02 318918663                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjimage.so
7f2a57627000-7f2a5762e000 r-xp 00000000 fd:02 75501492                   /lib/x86_64-linux-gnu/librt-2.27.so
7f2a5762e000-7f2a5782d000 ---p 00007000 fd:02 75501492                   /lib/x86_64-linux-gnu/librt-2.27.so
7f2a5782d000-7f2a5782e000 r--p 00006000 fd:02 75501492                   /lib/x86_64-linux-gnu/librt-2.27.so
7f2a5782e000-7f2a5782f000 rw-p 00007000 fd:02 75501492                   /lib/x86_64-linux-gnu/librt-2.27.so
7f2a5782f000-7f2a579cc000 r-xp 00000000 fd:02 75501452                   /lib/x86_64-linux-gnu/libm-2.27.so
7f2a579cc000-7f2a57bcb000 ---p 0019d000 fd:02 75501452                   /lib/x86_64-linux-gnu/libm-2.27.so
7f2a57bcb000-7f2a57bcc000 r--p 0019c000 fd:02 75501452                   /lib/x86_64-linux-gnu/libm-2.27.so
7f2a57bcc000-7f2a57bcd000 rw-p 0019d000 fd:02 75501452                   /lib/x86_64-linux-gnu/libm-2.27.so
7f2a57bcd000-7f2a58db9000 r-xp 00000000 fd:02 84157653                   /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/server/libjvm.so
7f2a58db9000-7f2a58fb9000 ---p 011ec000 fd:02 84157653                   /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/server/libjvm.so
7f2a58fb9000-7f2a59056000 r--p 011ec000 fd:02 84157653                   /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/server/libjvm.so
7f2a59056000-7f2a5908f000 rw-p 01289000 fd:02 84157653                   /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/server/libjvm.so
7f2a5908f000-7f2a59118000 rw-p 00000000 00:00 0 
7f2a59118000-7f2a592ff000 r-xp 00000000 fd:02 75500659                   /lib/x86_64-linux-gnu/libc-2.27.so
7f2a592ff000-7f2a594ff000 ---p 001e7000 fd:02 75500659                   /lib/x86_64-linux-gnu/libc-2.27.so
7f2a594ff000-7f2a59503000 r--p 001e7000 fd:02 75500659                   /lib/x86_64-linux-gnu/libc-2.27.so
7f2a59503000-7f2a59505000 rw-p 001eb000 fd:02 75500659                   /lib/x86_64-linux-gnu/libc-2.27.so
7f2a59505000-7f2a59509000 rw-p 00000000 00:00 0 
7f2a59509000-7f2a5950c000 r-xp 00000000 fd:02 75500669                   /lib/x86_64-linux-gnu/libdl-2.27.so
7f2a5950c000-7f2a5970b000 ---p 00003000 fd:02 75500669                   /lib/x86_64-linux-gnu/libdl-2.27.so
7f2a5970b000-7f2a5970c000 r--p 00002000 fd:02 75500669                   /lib/x86_64-linux-gnu/libdl-2.27.so
7f2a5970c000-7f2a5970d000 rw-p 00003000 fd:02 75500669                   /lib/x86_64-linux-gnu/libdl-2.27.so
7f2a5970d000-7f2a59727000 r-xp 00000000 fd:02 75501488                   /lib/x86_64-linux-gnu/libpthread-2.27.so
7f2a59727000-7f2a59926000 ---p 0001a000 fd:02 75501488                   /lib/x86_64-linux-gnu/libpthread-2.27.so
7f2a59926000-7f2a59927000 r--p 00019000 fd:02 75501488                   /lib/x86_64-linux-gnu/libpthread-2.27.so
7f2a59927000-7f2a59928000 rw-p 0001a000 fd:02 75501488                   /lib/x86_64-linux-gnu/libpthread-2.27.so
7f2a59928000-7f2a5992c000 rw-p 00000000 00:00 0 
7f2a5992c000-7f2a5993b000 r-xp 00000000 fd:02 318918664                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjli.so
7f2a5993b000-7f2a59b3b000 ---p 0000f000 fd:02 318918664                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjli.so
7f2a59b3b000-7f2a59b3c000 r--p 0000f000 fd:02 318918664                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjli.so
7f2a59b3c000-7f2a59b3d000 rw-p 00010000 fd:02 318918664                  /home/appveyor/jdk/test-15-AdoptOpenJDK-15.0.2_7/lib/libjli.so
7f2a59b3d000-7f2a59b59000 r-xp 00000000 fd:02 75719888                   /lib/x86_64-linux-gnu/libz.so.1.2.11
7f2a59b59000-7f2a59d58000 ---p 0001c000 fd:02 75719888                   /lib/x86_64-linux-gnu/libz.so.1.2.11
7f2a59d58000-7f2a59d59000 r--p 0001b000 fd:02 75719888                   /lib/x86_64-linux-gnu/libz.so.1.2.11
7f2a59d59000-7f2a59d5a000 rw-p 0001c000 fd:02 75719888                   /lib/x86_64-linux-gnu/libz.so.1.2.11
7f2a59d5a000-7f2a59d81000 r-xp 00000000 fd:02 75500641                   /lib/x86_64-linux-gnu/ld-2.27.so
7f2a59d8c000-7f2a59e67000 rw-p 00000000 00:00 0 
7f2a59e67000-7f2a59e6e000 ---p 00000000 00:00 0 
7f2a59e6e000-7f2a59e76000 rw-s 00000000 fd:02 75751678                   /tmp/hsperfdata_appveyor/2611
7f2a59e76000-7f2a59e7a000 ---p 00000000 00:00 0 
7f2a59e7a000-7f2a59f79000 rw-p 00000000 00:00 0 
7f2a59f7c000-7f2a59f7d000 ---p 00000000 00:00 0 
7f2a59f7d000-7f2a59f7e000 r--p 00000000 00:00 0 
7f2a59f7e000-7f2a59f7f000 ---p 00000000 00:00 0 
7f2a59f7f000-7f2a59f81000 rw-p 00000000 00:00 0 
7f2a59f81000-7f2a59f82000 r--p 00027000 fd:02 75500641                   /lib/x86_64-linux-gnu/ld-2.27.so
7f2a59f82000-7f2a59f83000 rw-p 00028000 fd:02 75500641                   /lib/x86_64-linux-gnu/ld-2.27.so
7f2a59f83000-7f2a59f84000 rw-p 00000000 00:00 0 
7fff9ddbf000-7fff9dde0000 rw-p 00000000 00:00 0                          [stack]
7fff9ddf9000-7fff9ddfb000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]


VM Arguments:
jvm_args: -Dcom.linecorp.armeria.verboseExceptions=true -Dcom.linecorp.armeria.verboseResponses=true -Dio.netty.leakDetection.targetRecords=256 -Dio.netty.leakDetectionLevel=paranoid -Dorg.gradle.native=false -XX:-OmitStackTraceInFastThrow -Xmx512m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -ea 
java_command: worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 31'
java_class_path (initial): /home/appveyor/.gradle/caches/6.8.3/workerMain/gradle-worker.jar:/appveyor/projects/armeria/core/build/classes/java/test:/appveyor/projects/armeria/core/build/resources/test:/appveyor/projects/armeria/core/build/classes/java/main:/appveyor/projects/armeria/core/build/resources/main:/appveyor/projects/armeria/docs-client/build/javaweb:/appveyor/projects/armeria/testing-internal/build/libs/armeria-testing-internal-1.5.1-SNAPSHOT.jar:/appveyor/projects/armeria/junit5/build/libs/armeria-junit5-1.5.1-SNAPSHOT.jar:/appveyor/projects/armeria/junit4/build/libs/armeria-junit4-1.5.1-SNAPSHOT.jar:/appveyor/projects/armeria/core/build/libs/armeria-1.5.1-SNAPSHOT.jar:/home/appveyor/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.3/7c4f3c474fb2c041d8028740440937705ebb473a/logback-classic-1.2.3.jar:/home/appveyor/.gradle/caches/modules-2/files-2.1/org.slf4j/jcl-over-slf4j/1.7.30/cd92524ea19d27e5b94ecd251e1af729cffdfe15/jcl-over-slf4j-1.7.30.jar:/home/appveyor/.gradle/caches/modules-2/files-2.1/org.slf4j/jul-to-slf4j/1.7.30/d58bebff8cbf70ff52b59208586095f467656c30/jul-to-slf4j-1.7.30.jar:/home/appveyor/.gradle/caches/modules-2/files-2.1/org.slf4j/log4j-over-slf4j/1.7.30/69af1f8a7ef3040a2881f7ec105e0a86fb158ab2/log4j-over-slf4j-1.7.30.jar:/home/appveyor/.gradle/caches/modules-2/files-2.1/io.dropwizard.metrics/metrics-core/4.1.18/5269d9e6872a8112c762f668dc7229dee127e745/metrics-core-4.1.18.jar:/home/appveyor/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.30/b5a4b6d16ab13e34a88fae84c35cd5d68cac922c/slf4j-api-1.7.30.jar:/home/appveyor/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.12.2/5f9d79e09ebf5d54a46e9f4543924cf7ae7654e0/jackson-databind-2.12.2.jar:/home/appveyor/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.12.2/a770cc4c0a1fb0bfd8a150a6a0004e42bc99fca/jackson-annotations-2.12.2.jar:/home/appveyor/.gradle/caches/modules-2/files-2.1/com.fasterxml.ja
Launcher Type: SUN_STANDARD

[Global flags]
     intx CICompilerCount                          = 4                                         {product} {ergonomic}
     uint ConcGCThreads                            = 2                                         {product} {ergonomic}
     uint G1ConcRefinementThreads                  = 8                                         {product} {ergonomic}
   size_t G1HeapRegionSize                         = 1048576                                   {product} {ergonomic}
    uintx GCDrainStackTargetSize                   = 64                                        {product} {ergonomic}
   size_t InitialHeapSize                          = 262144000                                 {product} {ergonomic}
   size_t MarkStackSize                            = 4194304                                   {product} {ergonomic}
   size_t MaxHeapSize                              = 536870912                                 {product} {command line}
   size_t MaxNewSize                               = 321912832                                 {product} {ergonomic}
   size_t MinHeapDeltaBytes                        = 1048576                                   {product} {ergonomic}
   size_t MinHeapSize                              = 8388608                                   {product} {ergonomic}
    uintx NonNMethodCodeHeapSize                   = 5839372                                {pd product} {ergonomic}
    uintx NonProfiledCodeHeapSize                  = 122909434                              {pd product} {ergonomic}
     bool OmitStackTraceInFastThrow                = false                                     {product} {command line}
    uintx ProfiledCodeHeapSize                     = 122909434                              {pd product} {ergonomic}
    uintx ReservedCodeCacheSize                    = 251658240                              {pd product} {ergonomic}
     bool SegmentedCodeCache                       = true                                      {product} {ergonomic}
   size_t SoftMaxHeapSize                          = 536870912                              {manageable} {ergonomic}
     bool UseCompressedClassPointers               = true                                 {lp64_product} {ergonomic}
     bool UseCompressedOops                        = true                                 {lp64_product} {ergonomic}
     bool UseG1GC                                  = true                                      {product} {ergonomic}

Logging:
Log output configuration:
 #0: stdout all=warning uptime,level,tags
 #1: stderr all=off uptime,level,tags

Environment Variables:
JAVA_HOME=/home/appveyor/jdk/build-AdoptOpenJDK-15.0.2_7
PATH=/home/appveyor/jdk/build-AdoptOpenJDK-15.0.2_7/bin:/opt/appveyor/build-agent:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8

Signal Handlers:
SIGSEGV: [libjvm.so+0xec40d0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGBUS: [libjvm.so+0xec40d0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGFPE: [libjvm.so+0xec40d0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGPIPE: [libjvm.so+0xbbcca0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGXFSZ: [libjvm.so+0xbbcca0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGILL: [libjvm.so+0xec40d0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGUSR2: [libjvm.so+0xbbcb40], sa_mask[0]=00100000000000000000000000000000, sa_flags=SA_RESTART|SA_SIGINFO
SIGHUP: [libjvm.so+0xbbd260], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGINT: [libjvm.so+0xbbd260], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGTERM: [libjvm.so+0xbbd260], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGQUIT: [libjvm.so+0xbbd260], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO


---------------  S Y S T E M  ---------------

OS:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
uname: Linux 3.10.0-1127.13.1.el7.x86_64 #1 SMP Tue Jun 23 15:46:38 UTC 2020 x86_64
OS uptime: 257 days 15:33 hours
libc: glibc 2.27 NPTL 2.27 
rlimit (soft/hard): STACK 8192k/infinity , CORE infinity/infinity , NPROC infinity/infinity , NOFILE 1048576/1048576 , AS infinity/infinity , CPU infinity/infinity , DATA infinity/infinity , FSIZE infinity/infinity , MEMLOCK 64k/64k
load average: 6.85 5.93 4.78

/proc/meminfo:
MemTotal:       16265568 kB
MemFree:          194020 kB
MemAvailable:    9141560 kB
Buffers:               4 kB
Cached:          9069320 kB
SwapCached:         1316 kB
Active:          7471544 kB
Inactive:        6652436 kB
Active(anon):    5050376 kB
Inactive(anon):   776936 kB
Active(file):    2421168 kB
Inactive(file):  5875500 kB
Unevictable:           4 kB
Mlocked:               4 kB
SwapTotal:       4194300 kB
SwapFree:        4064252 kB
Dirty:            821708 kB
Writeback:             0 kB
AnonPages:       5055524 kB
Mapped:           195400 kB
Shmem:            772268 kB
Slab:            1501916 kB
SReclaimable:     989112 kB
SUnreclaim:       512804 kB
KernelStack:       12320 kB
PageTables:        21316 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    12327084 kB
Committed_AS:    6841252 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       36000 kB
VmallocChunk:   34359695220 kB
Percpu:             1920 kB
HardwareCorrupted:     0 kB
AnonHugePages:     75776 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       73576 kB
DirectMap2M:     4120576 kB
DirectMap1G:    14680064 kB

/sys/kernel/mm/transparent_hugepage/enabled: [always] madvise never
/sys/kernel/mm/transparent_hugepage/defrag (defrag/compaction efforts parameter): [always] madvise never

/proc/sys/kernel/threads-max (system-wide limit on the number of threads): 126908
/proc/sys/vm/max_map_count (maximum number of memory map areas a process may have): 65530
/proc/sys/kernel/pid_max (system-wide limit on number of process identifiers): 32768

container (cgroup) information:
container_type: cgroupv1
cpu_cpuset_cpus: 0-7
cpu_memory_nodes: 0
active_processor_count: 8
cpu_quota: no quota
cpu_period: 100000
cpu_shares: no shares
memory_limit_in_bytes: unlimited
memory_and_swap_limit_in_bytes: unlimited
memory_soft_limit_in_bytes: unlimited
memory_usage_in_bytes: 11620245504
memory_max_usage_in_bytes: 11656298496

KVM virtualization detected
Steal ticks since vm start: 1
Steal ticks percentage since vm start:  0.001

CPU: total 8 (initial active 8) (1 cores per cpu, 1 threads per core) family 6 model 85 stepping 4 microcode 0x1, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, vzeroupper, avx, avx2, aes, clmul, erms, rtm, 3dnowpref, lzcnt, tsc, bmi1, bmi2, adx, fma, clflush, clflushopt, clwb
CPU Model and flags from /proc/cpuinfo:
model name	: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat pku ospke

Online cpus: 0-7
Offline cpus: 
BIOS frequency limitation: <Not Available>
Frequency switch latency (ns): <Not Available>
Available cpu frequencies: <Not Available>
Current governor: <Not Available>
Core performance/turbo boost: <Not Available>

Memory: 4k page, physical 16265568k(193648k free), swap 4194300k(4064252k free)

vm_info: OpenJDK 64-Bit Server VM (15.0.2+7) for linux-amd64 JRE (15.0.2+7), built on Jan 21 2021 11:55:36 by "" with gcc 7.5.0

END.

failed to create io_uring ring fd Cannot allocate memory

Trying to use the io_uring based transport but getting errors on startup.
I think I have the necessary requirements (see below).

Exception in thread "main" java.lang.UnsatisfiedLinkError: failed to load the required native library
at io.netty.incubator.channel.uring.IOUring.ensureAvailability(IOUring.java:63)
at io.netty.incubator.channel.uring.IOUringEventLoop.(IOUringEventLoop.java:64)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.newChild(IOUringEventLoopGroup.java:117)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.newChild(IOUringEventLoopGroup.java:31)
at io.netty.util.concurrent.MultithreadEventExecutorGroup.(MultithreadEventExecutorGroup.java:84)
at io.netty.channel.MultithreadEventLoopGroup.(MultithreadEventLoopGroup.java:68)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.(IOUringEventLoopGroup.java:100)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.(IOUringEventLoopGroup.java:93)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.(IOUringEventLoopGroup.java:86)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.(IOUringEventLoopGroup.java:75)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.(IOUringEventLoopGroup.java:58)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.(IOUringEventLoopGroup.java:44)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.(IOUringEventLoopGroup.java:37)
at hello.TestServer.run(TestServer.java:39)
at hello.TestServer.main(TestServer.java:89)
Caused by: java.lang.RuntimeException: failed to create io_uring ring fd Cannot allocate memory
at io.netty.incubator.channel.uring.Native.ioUringSetup(Native Method)
at io.netty.incubator.channel.uring.Native.createRingBuffer(Native.java:141)
at io.netty.incubator.channel.uring.Native.createRingBuffer(Native.java:174)
at io.netty.incubator.channel.uring.IOUring.(IOUring.java:36)
... 14 more

#########################################################

$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 33 (Thirty Three)
Release: 33
Codename: ThirtyThree

$ uname -a
Linux TRU008012 5.9.9-200.fc33.x86_64 #1 SMP Thu Nov 19 21:25:45 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

pom.xml:

io.netty netty-all 4.1.54.Final io.netty.incubator netty-incubator-transport-native-io_uring 0.0.1.Final linux-x86_64

Remote addresses from server channels do not make sense

Using Netty 4.1.54.Final and 0.0.1.Final of the io_uring transport. I am connecting to a server using TCP listening on a io_uring event loop, but it reports nonsensical remote addresses like 8000:bc:307f:0:0:0:0:0%37 (I was really connected from the IPv4 loopback address 127.0.0.1) and 8000:84:e17f:0:2829:4c69:6f2f:6e65%37 (I was really connected from the IPv6 loopback address ::1). These issues don't appear with the traditional epoll event loop.

uname -a reports Linux fortitude 5.9.8-200.fc33.x86_64 #1 SMP Tue Nov 10 21:58:19 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux, so I'm on a kernel version that should work. I am using Java 11.0.9 to run the server.

Errro on ubuntu 20.04 kenerl 5.10

Exception in thread "Thread-0" java.lang.UnsatisfiedLinkError: could not load a native library: netty_transport_native_io_uring_x86_64
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:226)
at io.netty.incubator.channel.uring.Native.loadNativeLibrary(Native.java:219)
at io.netty.incubator.channel.uring.Native.(Native.java:55)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.(IOUringEventLoopGroup.java:58)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.(IOUringEventLoopGroup.java:44)
at io.netty.incubator.channel.uring.IOUringEventLoopGroup.(IOUringEventLoopGroup.java:37)
at com.pusatgps.bootstraps.Gt06Bootstrap.init(Gt06Bootstrap.java:81)
at com.pusatgps.main.ServerController.init(ServerController.java:115)
at com.pusatgps.main.Context.init(Context.java:349)
at com.pusatgps.threads.ThreadStartServer.run(ThreadStartServer.java:26)
Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_transport_native_io_uring
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:226)
at io.netty.incubator.channel.uring.Native.loadNativeLibrary(Native.java:222)
... 8 more
Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_transport_native_io_uring.so
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:175)
... 9 more
Suppressed: java.lang.UnsatisfiedLinkError: no netty_transport_native_io_uring in java.library.path: [/usr/java/packages/lib, /usr/lib/x86_64-linux-gnu/jni, /lib/x86_64-linux-g nu, /usr/lib/x86_64-linux-gnu, /usr/lib/jni, /lib, /usr/lib]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1873)
at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:351)
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:136)
... 9 more
Suppressed: java.lang.UnsatisfiedLinkError: no netty_transport_native_io_uring in java.library.path: [/usr/java/packages/lib, /usr/lib/x86_64-linux-gnu/jni, /lib/x86_64 -linux-gnu, /usr/lib/x86_64-linux-gnu, /usr/lib/jni, /lib, /usr/lib]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1873)
at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:385)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:377)
at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:341)
... 10 more
Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_transport_native_io_uring_x86_64.so
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:175)
... 9 more
Suppressed: java.lang.UnsatisfiedLinkError: no netty_transport_native_io_uring_x86_64 in java.library.path: [/usr/java/packages/lib, /usr/lib/x86_64-linux-gnu/jni, /lib/x86_64-linux-gn u, /usr/lib/x86_64-linux-gnu, /usr/lib/jni, /lib, /usr/lib]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1873)
at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:351)
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:136)
... 9 more
Suppressed: java.lang.UnsatisfiedLinkError: no netty_transport_native_io_uring_x86_64 in java.library.path: [/usr/java/packages/lib, /usr/lib/x86_64-linux-gnu/jni, /lib/x86_64- linux-gnu, /usr/lib/x86_64-linux-gnu, /usr/lib/jni, /lib, /usr/lib]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1873)
at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:385)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:377)
at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:341)
... 10 more

blocking eventfd in IOUringEventLoop.java

Hi there,
I found there is a blocking eventfd in IOUringEventLoop.java, since I'm not familiar with java and netty, could any tell me what is it for?
Here the thing is an eventfd without O_NONBLOCK flag will trigger io-wq threads in io_uring. Is reading/writing for this eventfd high frequency operations? If yes, then in systems that has few cpu resources, it may affect the service quality, I guess.

Regards,
Hao

Some requests are received and processed twice?

I'm running on the latest "release" of io_uring (0.0.13.Final). I recently noticed build failures on GitHub Actions which seem the be caused
by io_uring. Removing io_uring and only testing against epoll/kqueue/nio works perfectly fine.

I had originally two issues, one of them I was able to solve myself. However, that might be interesting as well: I have some code which did a websocket handshake, I executed it and called syncUninterruptedly which began to fail as well. Seems like I need to execute/handle that async, wich worked seemlessly a few days ago.

On the other hand I am testing if sent http requests are having the same request method when receiving. In a nutshell this code looks like this:

        Assertions.assertEquals(SUPPORTED_METHODS.get(handledTypes.getAndIncrement()), context.request().method());
        // send ok http response

And I send the request with an HttpUrlConnection:

    for (String supportedMethod : SUPPORTED_METHODS) {
      HttpUrlConnection connection = construct_here;
      connection.setRequestMethod(supportedMethod)
      connection.connect();

      Assertions.assertEquals(200, connection.getResponseCode());
    }

But I receive some requests twice:

    SENDING WITH GET
    GOT GET /// 0 /// IOUringEventLoopGroup-7-1
    SENDING WITH POST
    GOT POST /// 1 /// IOUringEventLoopGroup-7-2
    SENDING WITH HEAD
    GOT HEAD /// 2 /// IOUringEventLoopGroup-7-3
    SENDING WITH OPTIONS
    GOT OPTIONS /// 3 /// IOUringEventLoopGroup-7-3
    GOT OPTIONS /// 4 /// IOUringEventLoopGroup-7-4

or


    SENDING WITH GET
    GOT GET /// 0 /// IOUringEventLoopGroup-7-1
    SENDING WITH POST
    GOT POST /// 1 /// IOUringEventLoopGroup-7-2
    SENDING WITH HEAD
    GOT HEAD /// 2 /// IOUringEventLoopGroup-7-2
    GOT HEAD /// 3 /// IOUringEventLoopGroup-7-3

I'm pretty sure that the request is not sent twice as that test works fine with epoll and nio. I wasn't yet able to validate this, but there was a recent kernel update which changed stuff related to io_uring, maybe it's a good start to check if it works fine on older kernel versions? (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=42a7b4ed45e7667836fae4fb0e1ac6340588b1b0)

zlib and io_uring

hey,

we have a pretty large codebase so I'll try to pull out the most important parts

we essentially dropped in epoll support whereas before we used nio - no issue there.
we later deployed kernel 5 + io_uring with the io_uring module, and we started to have issues. we compress the network stream data with zlib (mostly implemented native to avoid copying bytebuf)

error flows from here: https://github.com/SpigotMC/BungeeCord/blob/master/native/src/main/c/NativeCompressImpl.cpp#L76

always errors showing -2. I would usually attribute this to a bug on our side, but the issue only surfaces when we put the "proxy" type server on io_uring, as epoll and nio work without issue. not sure what kind of logs you guys need but I can try to provide anything requested.

JVM crash on startup

Hey,

I was looking forward to test around with io uring. I'm trying to start an application which contains the library, relocated to libeu_cloudnetservice_relocate_netty_transport_native_io_uring_x86-64.so (loading works as expected, relocating using gradle shadow relocate("META-INF/native/libnetty", "META-INF/native/libeu_cloudnetservice_relocate_netty")), as described in the docs. The relocated application startup fails with this error, my other application without relocating works fine.

Hopefully someone can give some information if this is a bug of the implementation or if I'm doing something wrong.

Thanks in advance!

IOUring uses more heap memory than Epoll transport

We have integrated IOUring into our communication layer as an experimental feature, after which I did some comparison test between EPOLL and IOURING I want to share some info.

I ran small load test and noticed that IOURING transport uses more heap memory than EPOLL with same load.

  1. EPOLL
    image

  2. IOURING
    image

After that I decided to use the async-profiler and check memory allocation for both transport. After briefly comparing two flame graphs I found that io.netty.incubator.channel.uring.IOUringSubmissionQueue#setData allocate allot of java.lang.Integer and java.lang.Long.

I think it's because we use

            logger.trace("UserDataField: {}", userData);
            logger.trace("BufferAddress: {}", bufferAddress);
            logger.trace("Length: {}", length);
            logger.trace("Offset: {}", offset);

without check logger.isTraceEnabled() , since we pass a primitive and the method takes an Object as parameter, we allocate the new object each time.

OS version: 5.9.0-050900-generic #202010112230 SMP Sun Oct 11 22:34:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Java version: openjdk version "11.0.9.1" 2020-11-04

io_uring cannot allocate memory

In the FAQ:

$ ulimit -l
65536

I dug through all the layers to increase the memlock limit for a program running in a docker container. Increased the limit to 1GB. It still failed.

Thankfully, transitive dependency exclusion came to the rescue.

fd reuse cause new connection to be deregistered

File Descriptor reuse can cause this sequence of bad events to happen for a connection:

  1. issue a POLL_IN SQEs, awaiting data to be received (due to auto-read)
  2. user code request to close the connection: given that there's no scheduled I/O (read/write)
    a new CLOSE SQE is submitted and it invoke a fireChannelInactiveAndDeregister,
    that will enqueue (via invokeLater) a doDeregister.
    The fd is now marked as "closed" (but not yet deregistered)
  3. deregistering cannot happen due to the previously scheduled POLL_IN: instead, it enqueue 2 POLL_REMOVEs
  4. CLOSE complete and the CQE pass through IOUringEventLoop::handle without being handled (because it isn't a "delayed close", the fd is already marked as "closed"!)
  5. a new connection is created, reusing the previous one's fd (that is effectively closed, from the OS pov): IOUringEventLoop replace the closed channel with the new one
  6. a POLL_IN CQE with ERRNO_ECANCELED_NEGATIVE status complete, but given that there are none yet scheduled for the new channel, nothing bad happen
  7. POLL_REMOVE CQEs complete and, if for the new connection there's nothing scheduled (read/write/connect/poll/...), it will straight removed from the map of handled channels!

This will makes the state of Netty's connections to not being in sync with what the OS think the fd is.

Use io_uring with `respectMaybeMoreData` flag for `RecvByteBufAllocator`

I found that if respectMaybeMoreData = false and maxMessagesPerRead > 1, then channelReadComplete is not called

EchoIOUringClient
public class EchoIOUringClient {

    public static void main(String... args) {
        IOUringEventLoopGroup group = new IOUringEventLoopGroup(1);

        try {
            FixedRecvByteBufAllocator allocator = new FixedRecvByteBufAllocator(2000);
            allocator.respectMaybeMoreData(false);
            allocator.maxMessagesPerRead(2);

            Bootstrap b = new Bootstrap();
            b.group(group)
                    .channel(IOUringSocketChannel.class)
                    // TODO channelReadComplete not calling
                    .option(ChannelOption.RCVBUF_ALLOCATOR, allocator)
                    .handler(new ChannelInitializer<SocketChannel>() {
                        @Override
                        public void initChannel(SocketChannel ch) {
                            ChannelPipeline p = ch.pipeline();
                            p.addLast(new HttpClientCodec());
                            p.addLast(new LoggingHandler(LogLevel.INFO));
                        }
                    });

            String host = "google.com";
            int port = 80;

            DefaultHttpRequest request = new DefaultHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.GET, "http://" + host + "/");
            request.headers().set(HttpHeaderNames.HOST, host);


            // Start the client.
            ChannelFuture f = b.connect(host, port).sync();

            f.addListener((GenericFutureListener<ChannelFuture>) channelFuture -> {
                if (channelFuture.isSuccess()) {
                    Channel channel = channelFuture.channel();
                    channel.writeAndFlush(request);
                } else {
                    channelFuture.cause().printStackTrace();
                }
            });

            // Wait until the connection is closed.
            f.channel().closeFuture().sync();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            // Shut down the event loop to terminate all threads.
            group.shutdownGracefully();
        }
    }
}
log
Feb 10, 2023 8:42:46 PM io.netty.handler.logging.LoggingHandler channelRegistered
INFO: [id: 0xe58606fe] REGISTERED
Feb 10, 2023 8:42:46 PM io.netty.handler.logging.LoggingHandler connect
INFO: [id: 0xe58606fe] CONNECT: google.com/216.58.208.110:80
Feb 10, 2023 8:42:46 PM io.netty.handler.logging.LoggingHandler channelActive
INFO: [id: 0xe58606fe, L:/45.63.40.90:32004 - R:google.com/216.58.208.110:80] ACTIVE
Feb 10, 2023 8:42:46 PM io.netty.handler.logging.LoggingHandler write
INFO: [id: 0xe58606fe, L:/45.63.40.90:32004 - R:google.com/216.58.208.110:80] WRITE: DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
GET http://google.com/ HTTP/1.1
host: google.com
Feb 10, 2023 8:42:46 PM io.netty.handler.logging.LoggingHandler flush
INFO: [id: 0xe58606fe, L:/45.63.40.90:32004 - R:google.com/216.58.208.110:80] FLUSH
Feb 10, 2023 8:42:46 PM io.netty.handler.logging.LoggingHandler channelRead
INFO: [id: 0xe58606fe, L:/45.63.40.90:32004 - R:google.com/216.58.208.110:80] READ: DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Fri, 10 Feb 2023 17:42:46 GMT
Expires: Sun, 12 Mar 2023 17:42:46 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
Feb 10, 2023 8:42:46 PM io.netty.handler.logging.LoggingHandler channelRead
INFO: [id: 0xe58606fe, L:/45.63.40.90:32004 - R:google.com/216.58.208.110:80] READ: DefaultLastHttpContent(data: PooledSlicedByteBuf(ridx: 0, widx: 219, cap: 219/219, unwrapped: PooledUnsafeDirectByteBuf(ridx: 528, widx: 528, cap: 2000)), decoderResult: success), 219B
         +-------------------------------------------------+
         |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
+--------+-------------------------------------------------+----------------+
|00000000| 3c 48 54 4d 4c 3e 3c 48 45 41 44 3e 3c 6d 65 74 |<HTML><HEAD><met|
|00000010| 61 20 68 74 74 70 2d 65 71 75 69 76 3d 22 63 6f |a http-equiv="co|
|00000020| 6e 74 65 6e 74 2d 74 79 70 65 22 20 63 6f 6e 74 |ntent-type" cont|
|00000030| 65 6e 74 3d 22 74 65 78 74 2f 68 74 6d 6c 3b 63 |ent="text/html;c|
|00000040| 68 61 72 73 65 74 3d 75 74 66 2d 38 22 3e 0a 3c |harset=utf-8">.<|
|00000050| 54 49 54 4c 45 3e 33 30 31 20 4d 6f 76 65 64 3c |TITLE>301 Moved<|
|00000060| 2f 54 49 54 4c 45 3e 3c 2f 48 45 41 44 3e 3c 42 |/TITLE></HEAD><B|
|00000070| 4f 44 59 3e 0a 3c 48 31 3e 33 30 31 20 4d 6f 76 |ODY>.<H1>301 Mov|
|00000080| 65 64 3c 2f 48 31 3e 0a 54 68 65 20 64 6f 63 75 |ed</H1>.The docu|
|00000090| 6d 65 6e 74 20 68 61 73 20 6d 6f 76 65 64 0a 3c |ment has moved.<|
|000000a0| 41 20 48 52 45 46 3d 22 68 74 74 70 3a 2f 2f 77 |A HREF="http://w|
|000000b0| 77 77 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 2f 22 3e |ww.google.com/">|
|000000c0| 68 65 72 65 3c 2f 41 3e 2e 0d 0a 3c 2f 42 4f 44 |here</A>...</BOD|
|000000d0| 59 3e 3c 2f 48 54 4d 4c 3e 0d 0a                |Y></HTML>..     |
+--------+-------------------------------------------------+----------------+

IOUringEventLoop nextWakeupNanos

In the IOUringEventLoop the nextWakeupNanos is updated twice:

nextWakeupNanos.set(curDeadlineNanos);
...
if (nextWakeupNanos.get() == AWAKE || nextWakeupNanos.getAndSet(AWAKE) == AWAKE){  
   pendingWakeup = true;
}

The nextWakeupNanos is an AtomicLong and the set and getAndSet are not very cheap. On the X86 the trigger a memory fence which effectively causes the CPU to stop issuing loads till the store buffer has been drained. And this will not benefit performance.

Based on the code it seems that the nextWakeupNanos is not used by any other thread. Perhaps I'm missing something since I didn't study the code in-depth, but I think the nextWakeupNanos could be converted to a simple plain long.

THe IOUringSubmissionQueue already has the appropriate fences.

Use io_uring fast-poll or poll op's multi-shot

Seems that for regular socket send/recv operations, current implementation still uses one pair of poll op and send/recv op, which is inefficient. Below perf report shows that io_poll_add() introduces obvious overhead.

  • 51.79% 0.31% IOUringEventLoo [kernel.kallsyms]
  • 51.48% io_issue_sqe
    • 32.98% io_write
    • 12.26% io_read
    • 4.35% io_poll_add
      • 4.31% __io_arm_poll_handler
        • 3.72% sock_poll
          • 3.40% tcp_poll
            2.54% _raw_spin_unlock_irqrestore
    • 1.79% io_assign_file

I wonder whether we can use IORING_FEAT_FAST_POLL or IORING_OP_POLL_ADD's IORING_POLL_ADD_MULT feature, which will reduce most io_poll_add calls.

netty io_uring was slower than epoll

I collected some stats on x86, 5.13 kernel, using netty-incubator-iouring 13 with Cassandra 4.0. The network throughput is about 8% lower than netty epoll. The context switches is 69% higher than than epoll, and the interrupts are 2% higher than epoll. Also, CPI (circles per instruction) is 8% higher.

  iouring epoll diff    
load 1000 1000   Actual Calculated
throughput 142868 154465 1.081 8.1 11.4
util 52.0 50.3 0.967 -3.3  
freq 3.09 3.13 1.013 1.3  
CPI 1.33 1.22 0.915 8.5  
Pathlength (Kinstruction/throughput) 842.7 801.6 0.951 4.9  

netty io_uring flamegraph
iouring-read-cache-run002_profiler

netty epoll flamegraph
epoll-read-cache-run002_profiler

Support for Netty 5

Currently, Io_Uring transport is supported only for Netty 4.1. It'd be great if we support the upcoming Netty 5.

random machine reboots whilst using io_uring

we deployed some io_uring stuff to end-user facing stuff (essentially giant reverse proxies) that run Netty.

we usually average around 800 concurrent connections on each, during busy periods scaling up to 2000 on each. when we run this using the io_uring transport, after a few hours, the machines just simply die (nothing in logs relating to a reboot, etc). tried on various Debian versions, different machines, different kernel versions. the only constant is that when we run it w/ io_uring, the machines die. willing to provide any logs requested, but the issue is that its almost as if someone unplugged the power cable to these servers (no reboot feedback in syslog, events etc).

could this be related to some form of leak in either kernel io_uring or the c implementation in the Netty impl?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.