Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QuarkusTest thread testing Amazon SES Client rest endpoint always stuck #35699

Closed
peter-bocak-wallee opened this issue Sep 4, 2023 · 8 comments
Labels
kind/bug Something isn't working

Comments

@peter-bocak-wallee
Copy link

peter-bocak-wallee commented Sep 4, 2023

Describe the bug

I have simple rest endpoint which sends email via AWS SES Client. @QuarkusTest for the endpoint never finishes (using continuous testing). There is no error message, the test thread just get stuck in Running state and application needs to be killed from terminal.

  • The problem occurs regardless of using Sync of Async SES client.
  • Calling endpoint directly via DevTools + Swagger UI works correctly, however when in stop the application using Dev Console, exception is thrown: ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (vert.x-eventloop-thread-1) HTTP Request to %s failed, error id: %s [Error Occurred After Shutdown]: java.nio.file.ClosedFileSystemException.

Expected behavior

Once QuarkusTest for AWS SES endpoint finishes during continuous testing, application will proceed with execution.

Actual behavior

Quarkus tests thread seems to be blocked and never finishes, which prevents further tests to proceed or re-run tests again.

How to Reproduce?

Rest service:

@Path("/api/v1/email")
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_JSON)
public class EmailResource {

  @Inject
  SesAsyncClient ses;

  @POST
  @Path("send")
  public Uni<String> sendMailAsync(Email data) {
    return Uni.createFrom()
        .completionStage(
            ses.sendEmail(req -> req
                .source(data.getFrom())
                .destination(d -> d.toAddresses(data.getTo()))
                .message(msg -> msg
                    .subject(sub -> sub.data(data.getSubject()))
                    .body(b -> b.text(txt -> txt.data(data.getBody()))))))
        .onItem().transform(SendEmailResponse::messageId);
  }
}

Quarkus test:

@QuarkusTest
public class EmailResourceTest {

  @Inject
  SesClient ses;

  @Test
  public void testSendEmail() {
    String to = "test1@example.com";
    String from = "test2@example.com";

    ses.verifyEmailAddress(VerifyEmailAddressRequest.builder().emailAddress(to).build());
    ses.verifyEmailAddress(VerifyEmailAddressRequest.builder().emailAddress(from).build());

    given()
        .when()
        .contentType(ContentType.JSON)
        .accept(ContentType.TEXT)
        .body(Email.builder()
            .body("body")
            .subject("test")
            .to(to)
            .from(from).build())
        .post("/api/v1/email/send")
        .then()
        .statusCode(200);

  }
}

Steps to reproduce:

  1. Run app via quarkus dev command
  2. Run tests by hitting R key
  3. Not possible to re-run tests again, the test execution is blocked because previous test never finishes

Output of uname -a or ver

Darwin MBP 22.5.0 Darwin Kernel Version 22.5.0: Thu Jun 8 22:22:20 PDT 2023; root:xnu-8796.121.3~7/RELEASE_ARM64_T6000 arm64

Output of java -version

OpenJDK 64-Bit Server VM GraalVM CE 20.0.2+9.1 (build 20.0.2+9-jvmci-23.0-b15, mixed mode, sharing)

GraalVM version (if different from Java)

No response

Quarkus version or git rev

3.3.1

Build tool (ie. output of mvnw --version or gradlew --version)

tested with both gradle (8.1.1) and maven (v. 3.9.3)

Additional information

No response

@peter-bocak-wallee peter-bocak-wallee added the kind/bug Something isn't working label Sep 4, 2023
@geoand geoand added triage/needs-reproducer We are waiting for a reproducer. and removed triage/needs-triage labels Sep 4, 2023
@geoand
Copy link
Contributor

geoand commented Sep 4, 2023

Can you attach a sample that behaves as you describe?

Thanks

@peter-bocak-wallee
Copy link
Author

Hi @geoand, I am attaching the sample
example.zip

@geoand geoand removed the triage/needs-reproducer We are waiting for a reproducer. label Sep 5, 2023
@geoand
Copy link
Contributor

geoand commented Sep 5, 2023

Thanks

@geoand
Copy link
Contributor

geoand commented Sep 5, 2023

I could not reproduce the problem with the attached sample.

After making a small change to the serialization in RestAssured (which was failing in a way completely unrelated to the reported issue), everything worked as expected.

@geoand geoand added the triage/needs-reproducer We are waiting for a reproducer. label Sep 5, 2023
@peter-bocak-wallee
Copy link
Author

Thanks for the update, I will check in the evening on different environments if I can reproduce the issue there and I will get back to you.

@peter-bocak-wallee
Copy link
Author

@geoand sorry for the late reply. I've retested the example on Windows environment, but the problem remains. I am adding more clear instructions on how to reproduce the issue:

  1. Run app via quarkus dev command
  2. Run tests by hitting R key
  3. Not possible to re-run tests again, the test execution is blocked because previous test never finishes

When testing with 3.4.0.CR1, I get this exception after a while:

@QuarkusTest has detected a hang, as there has been no test activity in PT10M
To configure this timeout use the quarkus.test.hang-detection-timeout config property
A stack trace is below to help diagnose the potential hang
=== Stack Trace ===
Thread Reference Handler: RUNNABLE
  Stack:
    java.base@20.0.2/java.lang.ref.Reference.waitForReferencePendingList(Native Method)
    java.base@20.0.2/java.lang.ref.Reference.processPendingReferences(Reference.java:246)
    java.base@20.0.2/java.lang.ref.Reference$ReferenceHandler.run(Reference.java:208)
Thread Finalizer: WAITING
  Waiting on java.lang.ref.NativeReferenceQueue$Lock@4303c26e
  Stack:
    java.base@20.0.2/java.lang.Object.wait0(Native Method)
    java.base@20.0.2/java.lang.Object.wait(Object.java:366)
    java.base@20.0.2/java.lang.Object.wait(Object.java:339)
    java.base@20.0.2/java.lang.ref.NativeReferenceQueue.await(NativeReferenceQueue.java:48)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.remove0(ReferenceQueue.java:158)
    java.base@20.0.2/java.lang.ref.NativeReferenceQueue.remove(NativeReferenceQueue.java:89)
    java.base@20.0.2/java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:173)
Thread Signal Dispatcher: RUNNABLE
  Stack:
Thread JVMCI-native CompilerThread0: RUNNABLE
  Stack:
Thread Common-Cleaner: TIMED_WAITING
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:269)
    java.base@20.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1847)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.await(ReferenceQueue.java:71)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.remove0(ReferenceQueue.java:143)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:218)
    java.base@20.0.2/jdk.internal.ref.CleanerImpl.run(CleanerImpl.java:140)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
    java.base@20.0.2/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:186)
Thread JDWP Transport Listener: dt_socket: RUNNABLE
  Stack:
Thread JDWP Event Helper Thread: RUNNABLE
  Stack:
Thread Notification Thread: RUNNABLE
  Stack:
Thread Reference Reaper #1: WAITING
  Waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@12140bf9
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
    java.base@20.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3780)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3725)
    java.base@20.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1707)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.await(ReferenceQueue.java:67)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.remove0(ReferenceQueue.java:158)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:234)
    app//io.smallrye.common.ref.References$ReaperThread.run(References.java:62)
Thread Reference Reaper #2: WAITING
  Waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@12140bf9
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
    java.base@20.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3780)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3725)
    java.base@20.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1707)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.await(ReferenceQueue.java:67)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.remove0(ReferenceQueue.java:158)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:234)
    app//io.smallrye.common.ref.References$ReaperThread.run(References.java:62)
Thread Reference Reaper #3: WAITING
  Waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@12140bf9
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
    java.base@20.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3780)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3725)
    java.base@20.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1707)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.await(ReferenceQueue.java:67)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.remove0(ReferenceQueue.java:158)
    java.base@20.0.2/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:234)
    app//io.smallrye.common.ref.References$ReaperThread.run(References.java:62)
Thread Quarkus Devmode keep alive thread: WAITING
  Waiting on java.util.concurrent.CountDownLatch$Sync@787ffed6
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:221)
    java.base@20.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:754)
    java.base@20.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1099)
    java.base@20.0.2/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:230)
    io.quarkus.deployment.dev.IsolatedDevModeMain$4.run(IsolatedDevModeMain.java:382)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread ForkJoinPool.commonPool-worker-1: WAITING
  Waiting on java.util.concurrent.ForkJoinPool@2ceca8dc
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1893)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1809)
    java.base@20.0.2/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Thread ForkJoinPool.commonPool-worker-2: WAITING
  Waiting on java.util.concurrent.ForkJoinPool@2ceca8dc
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1893)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1809)
    java.base@20.0.2/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Thread ForkJoinPool.commonPool-worker-3: TIMED_WAITING
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.parkUntil(LockSupport.java:449)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1891)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1809)
    java.base@20.0.2/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Thread ForkJoinPool.commonPool-worker-4: WAITING
  Waiting on java.util.concurrent.ForkJoinPool@2ceca8dc
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1893)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1809)
    java.base@20.0.2/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Thread ForkJoinPool.commonPool-worker-5: WAITING
  Waiting on java.util.concurrent.ForkJoinPool@2ceca8dc
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1893)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1809)
    java.base@20.0.2/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Thread ForkJoinPool.commonPool-worker-6: WAITING
  Waiting on java.util.concurrent.ForkJoinPool@2ceca8dc
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1893)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1809)
    java.base@20.0.2/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Thread ForkJoinPool.commonPool-worker-7: WAITING
  Waiting on java.util.concurrent.ForkJoinPool@2ceca8dc
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1893)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1809)
    java.base@20.0.2/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Thread Aesh InputStream Reader: RUNNABLE
  Stack:
    java.base@20.0.2/java.io.FileInputStream.readBytes(Native Method)
    java.base@20.0.2/java.io.FileInputStream.read(FileInputStream.java:269)
    org.aesh.readline.tty.terminal.TerminalConnection.openBlocking(TerminalConnection.java:214)
    org.aesh.readline.tty.terminal.TerminalConnection.openBlocking(TerminalConnection.java:203)
    org.aesh.readline.tty.terminal.TerminalConnection$$Lambda$418/0x0000008801308210.run(Unknown Source)
    java.base@20.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    java.base@20.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread testcontainers-ryuk: TIMED_WAITING
  Stack:
    java.base@20.0.2/java.lang.Object.wait0(Native Method)
    java.base@20.0.2/java.lang.Object.wait(Object.java:366)
    org.testcontainers.utility.RyukResourceReaper.lambda$null$0(RyukResourceReaper.java:102)
    org.testcontainers.utility.RyukResourceReaper$$Lambda$1328/0x00000088016062c8.run(Unknown Source)
    org.rnorth.ducttape.ratelimits.RateLimiter.doWhenReady(RateLimiter.java:27)
    org.testcontainers.utility.RyukResourceReaper.lambda$maybeStart$1(RyukResourceReaper.java:88)
    org.testcontainers.utility.RyukResourceReaper$$Lambda$1327/0x00000088016060b0.run(Unknown Source)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread Quarkus Main Thread: WAITING
  Waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@242379f2
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
    java.base@20.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3780)
    java.base@20.0.2/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3725)
    java.base@20.0.2/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitUninterruptibly(AbstractQueuedSynchronizer.java:1660)
    io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:152)
    io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
    io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
    io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
    io.quarkus.runner.GeneratedMain.main(Unknown Source)
    java.base@20.0.2/java.lang.invoke.LambdaForm$DMH/0x0000008801080000.invokeStatic(LambdaForm$DMH)
    java.base@20.0.2/java.lang.invoke.LambdaForm$MH/0x00000088010b4800.invoke(LambdaForm$MH)
    java.base@20.0.2/java.lang.invoke.Invokers$Holder.invokeExact_MT(Invokers$Holder)
    java.base@20.0.2/jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(DirectMethodHandleAccessor.java:155)
    java.base@20.0.2/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    java.base@20.0.2/java.lang.reflect.Method.invoke(Method.java:578)
    io.quarkus.runner.bootstrap.StartupActionImpl$1.run(StartupActionImpl.java:113)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread executor-thread-1: WAITING
  Waiting on org.jboss.threads.EnhancedQueueExecutor@165af54c
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:221)
    org.jboss.threads.EnhancedQueueExecutor$PoolThreadNode.park(EnhancedQueueExecutor.java:2276)
    org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1570)
    org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vertx-blocked-thread-checker: TIMED_WAITING
  Stack:
    java.base@20.0.2/java.lang.Object.wait0(Native Method)
    java.base@20.0.2/java.lang.Object.wait(Object.java:366)
    java.base@20.0.2/java.util.TimerThread.mainLoop(Timer.java:563)
    java.base@20.0.2/java.util.TimerThread.run(Timer.java:516)
Thread vert.x-eventloop-thread-0: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:142)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:883)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vert.x-eventloop-thread-1: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vert.x-acceptor-thread-0: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vert.x-eventloop-thread-2: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread DestroyJavaVM: RUNNABLE
  Stack:
Thread vert.x-worker-thread-1: WAITING
  Waiting on org.jboss.threads.EnhancedQueueExecutor@10d0a60d
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:221)
    org.jboss.threads.EnhancedQueueExecutor$PoolThreadNode.park(EnhancedQueueExecutor.java:2276)
    org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1570)
    org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread Test Compile Timer: TIMED_WAITING
  Stack:
    java.base@20.0.2/java.lang.Object.wait0(Native Method)
    java.base@20.0.2/java.lang.Object.wait(Object.java:366)
    java.base@20.0.2/java.util.TimerThread.mainLoop(Timer.java:563)
    java.base@20.0.2/java.util.TimerThread.run(Timer.java:516)
Thread Test runner thread: TIMED_WAITING
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:269)
    org.jboss.threads.EnhancedQueueExecutor.awaitTermination(EnhancedQueueExecutor.java:920)
    software.amazon.awssdk.utils.ScheduledExecutorUtils$UnmanagedScheduledExecutorService.awaitTermination(ScheduledExecutorUtils.java:85)
    java.base@20.0.2/java.util.concurrent.ExecutorService.close(ExecutorService.java:417)
    software.amazon.awssdk.utils.IoUtils.closeQuietly(IoUtils.java:70)
    software.amazon.awssdk.utils.IoUtils.closeIfCloseable(IoUtils.java:87)
    software.amazon.awssdk.utils.AttributeMap.lambda$close$0(AttributeMap.java:87)
    software.amazon.awssdk.utils.AttributeMap$$Lambda$4095/0x000000880234e840.accept(Unknown Source)
    java.base@20.0.2/java.util.HashMap$Values.forEach(HashMap.java:1073)
    software.amazon.awssdk.utils.AttributeMap.close(AttributeMap.java:87)
    software.amazon.awssdk.core.client.config.SdkClientConfiguration.close(SdkClientConfiguration.java:79)
    software.amazon.awssdk.core.internal.http.HttpClientDependencies.close(HttpClientDependencies.java:80)
    software.amazon.awssdk.core.internal.http.AmazonAsyncHttpClient.close(AmazonAsyncHttpClient.java:72)
    software.amazon.awssdk.core.internal.handler.BaseAsyncClientHandler.close(BaseAsyncClientHandler.java:253)
    software.amazon.awssdk.services.ses.DefaultSesAsyncClient.close(DefaultSesAsyncClient.java:5668)
    io.quarkus.amazon.ses.runtime.SesClientProducer.destroy(SesClientProducer.java:51)
    io.quarkus.amazon.ses.runtime.SesClientProducer_Bean.doDestroy(Unknown Source)
    io.quarkus.amazon.ses.runtime.SesClientProducer_Bean.destroy(Unknown Source)
    io.quarkus.amazon.ses.runtime.SesClientProducer_Bean.destroy(Unknown Source)
    io.quarkus.arc.impl.AbstractInstanceHandle.destroyInternal(AbstractInstanceHandle.java:82)
    io.quarkus.arc.impl.ContextInstanceHandleImpl.destroy(ContextInstanceHandleImpl.java:21)
    io.quarkus.arc.impl.AbstractSharedContext.destroy(AbstractSharedContext.java:96)
    io.quarkus.arc.impl.ArcContainerImpl.shutdown(ArcContainerImpl.java:462)
    io.quarkus.arc.Arc.shutdown(Arc.java:66)
    io.quarkus.arc.runtime.ArcRecorder$1.run(ArcRecorder.java:53)
    io.quarkus.runtime.StartupContext.runAllInReverseOrder(StartupContext.java:84)
    io.quarkus.runtime.StartupContext.close(StartupContext.java:73)
    io.quarkus.runner.ApplicationImpl.doStop(Unknown Source)
    io.quarkus.runtime.Application.stop(Application.java:208)
    io.quarkus.runtime.Application.stop(Application.java:155)
    io.quarkus.runtime.Application.close(Application.java:137)
    io.quarkus.runner.bootstrap.StartupActionImpl$5.close(StartupActionImpl.java:293)
    io.quarkus.runner.bootstrap.RunningQuarkusApplicationImpl.close(RunningQuarkusApplicationImpl.java:35)
    io.quarkus.test.junit.QuarkusTestExtension$4.close(QuarkusTestExtension.java:285)
    io.quarkus.test.junit.QuarkusTestExtension$ExtensionState.doClose(QuarkusTestExtension.java:1234)
    io.quarkus.test.junit.QuarkusTestExtensionState.close(QuarkusTestExtensionState.java:42)
    app//org.junit.jupiter.engine.execution.ExtensionValuesStore$$Lambda$3933/0x000000880230b098.execute(Unknown Source)
    app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    app//org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda$closeAllStoredCloseableValues$3(ExtensionValuesStore.java:68)
    app//org.junit.jupiter.engine.execution.ExtensionValuesStore$$Lambda$3919/0x0000008802308ed0.accept(Unknown Source)
    java.base@20.0.2/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    java.base@20.0.2/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    java.base@20.0.2/java.util.stream.SortedOps$RefSortingSink$$Lambda$443/0x00000088012cbc58.accept(Unknown Source)
    java.base@20.0.2/java.util.ArrayList.forEach(ArrayList.java:1511)
    java.base@20.0.2/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
    java.base@20.0.2/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
    java.base@20.0.2/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
    java.base@20.0.2/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    java.base@20.0.2/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    java.base@20.0.2/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    java.base@20.0.2/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    java.base@20.0.2/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
    app//org.junit.jupiter.engine.execution.ExtensionValuesStore.closeAllStoredCloseableValues(ExtensionValuesStore.java:68)
    app//org.junit.jupiter.engine.descriptor.AbstractExtensionContext.close(AbstractExtensionContext.java:80)
    app//org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.close(JupiterEngineExecutionContext.java:53)
    app//org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor.cleanUp(JupiterEngineDescriptor.java:70)
    app//org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor.cleanUp(JupiterEngineDescriptor.java:31)
    app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$cleanUp$10(NodeTestTask.java:167)
    app//org.junit.platform.engine.support.hierarchical.NodeTestTask$$Lambda$3913/0x0000008802308000.execute(Unknown Source)
    app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    app//org.junit.platform.engine.support.hierarchical.NodeTestTask.cleanUp(NodeTestTask.java:167)
    app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:98)
    app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
    app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
    app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
    app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
    app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
    app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
    app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
    app//org.junit.platform.launcher.core.EngineExecutionOrchestrator$$Lambda$1908/0x00000088019bf540.accept(Unknown Source)
    app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
    app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
    app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
    app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95)
    app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91)
    app//org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60)
    io.quarkus.deployment.dev.testing.JunitTestRunner$2.run(JunitTestRunner.java:224)
    io.quarkus.deployment.dev.testing.ModuleTestRunner$2.run(ModuleTestRunner.java:89)
    io.quarkus.deployment.dev.testing.TestSupport.runInternal(TestSupport.java:466)
    io.quarkus.deployment.dev.testing.TestSupport$3.run(TestSupport.java:386)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread Quarkus hang detection timer thread: RUNNABLE
  Stack:
    java.management@20.0.2/sun.management.ThreadImpl.dumpThreads0(Native Method)
    java.management@20.0.2/sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:540)
    java.management@20.0.2/sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:527)
    io.quarkus.test.junit.QuarkusTestExtension$1.run(QuarkusTestExtension.java:153)
    java.base@20.0.2/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
    java.base@20.0.2/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    java.base@20.0.2/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
    java.base@20.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    java.base@20.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread testcontainers-ryuk: TIMED_WAITING
  Stack:
    java.base@20.0.2/java.lang.Object.wait0(Native Method)
    java.base@20.0.2/java.lang.Object.wait(Object.java:366)
    org.testcontainers.utility.RyukResourceReaper.lambda$null$0(RyukResourceReaper.java:102)
    org.testcontainers.utility.RyukResourceReaper$$Lambda$3015/0x0000008801deda18.run(Unknown Source)
    org.rnorth.ducttape.ratelimits.RateLimiter.doWhenReady(RateLimiter.java:27)
    org.testcontainers.utility.RyukResourceReaper.lambda$maybeStart$1(RyukResourceReaper.java:88)
    org.testcontainers.utility.RyukResourceReaper$$Lambda$3014/0x0000008801ded800.run(Unknown Source)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vertx-blocked-thread-checker: TIMED_WAITING
  Stack:
    java.base@20.0.2/java.lang.Object.wait0(Native Method)
    java.base@20.0.2/java.lang.Object.wait(Object.java:366)
    java.base@20.0.2/java.util.TimerThread.mainLoop(Timer.java:563)
    java.base@20.0.2/java.util.TimerThread.run(Timer.java:516)
Thread vert.x-eventloop-thread-0: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vert.x-eventloop-thread-1: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vert.x-acceptor-thread-0: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vert.x-eventloop-thread-2: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vert.x-eventloop-thread-3: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vert.x-eventloop-thread-4: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vert.x-eventloop-thread-5: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vert.x-eventloop-thread-6: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread vert.x-eventloop-thread-7: RUNNABLE
  Stack:
    java.base@20.0.2/sun.nio.ch.KQueue.poll(Native Method)
    java.base@20.0.2/sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:125)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
    java.base@20.0.2/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:147)
    io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)
    io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:879)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:526)
    io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
Thread executor-thread-2: WAITING
  Waiting on org.jboss.threads.EnhancedQueueExecutor@6649b612
  Stack:
    java.base@20.0.2/jdk.internal.misc.Unsafe.park(Native Method)
    java.base@20.0.2/java.util.concurrent.locks.LockSupport.park(LockSupport.java:221)
    org.jboss.threads.EnhancedQueueExecutor$PoolThreadNode.park(EnhancedQueueExecutor.java:2276)
    org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1570)
    org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.base@20.0.2/java.lang.Thread.runWith(Thread.java:1636)
    java.base@20.0.2/java.lang.Thread.run(Thread.java:1623)
=== End Stack Trace ===

@geoand geoand removed the triage/needs-reproducer We are waiting for a reproducer. label Sep 19, 2023
@scrocquesel
Copy link
Contributor

Hello, I guess it is related to aws/aws-sdk-java-v2#4395. There were a bug prior to aws sdk 2.21.15 (and quarkus aws 2.5.3) with Java SDK 19+.

@gsmet
Copy link
Member

gsmet commented Aug 19, 2024

I think we can close this one given @scrocquesel 's feedback.

@gsmet gsmet closed this as completed Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants