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

Devservice for amqp can't load channels on dev ui #36900

Closed
GregJohnStewart opened this issue Nov 6, 2023 · 1 comment · Fixed by #36965
Closed

Devservice for amqp can't load channels on dev ui #36900

GregJohnStewart opened this issue Nov 6, 2023 · 1 comment · Fixed by #36965

Comments

@GregJohnStewart
Copy link
Contributor

GregJohnStewart commented Nov 6, 2023

Describe the bug

When poking around dev ui for my amqp (quarkus-smallrye-reactive-messaging-amqp) enabled app, I found that when trying to access the "channels" ui section, nothing ends up loading. On the console output, I get:

2023-11-06 14:04:34,653 ERROR [io.qua.dev.run.jso.JsonRpcCodec] (executor-thread-1) Error in JsonRPC Call: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at io.smallrye.mutiny.unchecked.UncheckedSupplier.lambda$toSupplier$0(UncheckedSupplier.java:45)
	at io.smallrye.context.impl.wrappers.SlowContextualSupplier.get(SlowContextualSupplier.java:21)
	at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:28)
	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
	at io.smallrye.mutiny.operators.uni.UniRunSubscribeOn.lambda$subscribe$0(UniRunSubscribeOn.java:27)
	at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at io.quarkus.devui.runtime.comms.JsonRpcRouter.lambda$invoke$0(JsonRpcRouter.java:98)
	at io.smallrye.mutiny.unchecked.UncheckedSupplier.lambda$toSupplier$0(UncheckedSupplier.java:41)
	... 11 more
Caused by: java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
	at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
	at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
	at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
	at java.base/java.util.Objects.checkIndex(Objects.java:361)
	at java.base/java.util.ArrayList.get(ArrayList.java:427)
	at io.quarkus.smallrye.reactivemessaging.runtime.QuarkusMediatorConfiguration.getOutgoing(QuarkusMediatorConfiguration.java:122)
	at io.quarkus.smallrye.reactivemessaging.runtime.devui.DevReactiveMessagingInfos$1.get(DevReactiveMessagingInfos.java:61)
	at io.quarkus.smallrye.reactivemessaging.runtime.devui.DevReactiveMessagingInfos$1.get(DevReactiveMessagingInfos.java:28)
	at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:32)
	at io.quarkus.smallrye.reactivemessaging.runtime.devui.DevReactiveMessagingInfos.getChannels(DevReactiveMessagingInfos.java:110)
	at io.quarkus.smallrye.reactivemessaging.runtime.devui.ReactiveMessagingJsonRpcService.getInfo(ReactiveMessagingJsonRpcService.java:16)
	at io.quarkus.smallrye.reactivemessaging.runtime.devui.ReactiveMessagingJsonRpcService_ClientProxy.getInfo(Unknown Source)
	... 17 more

Expected behavior

The devui should load channels correctly.

Actual behavior

An indexoutofbounds exception occurs

How to Reproduce?

Reproducer: https://github.com/GregJohnStewart/calc-quarkus

  1. Start service ./gradlew quarkusDev
  2. Navigate to dev ui `localhost:8080/'
  3. Click on "Channels" under "Smallrye Reactive Messaging":
    image

Output of uname -a or ver

Linux dev.local 6.5.9-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 25 20:40:49 UTC 2023 x86_64 GNU/Linux

Output of java -version

openjdk version "17.0.8" 2023-07-18 OpenJDK Runtime Environment (Red_Hat-17.0.8.0.7-1.fc38) (build 17.0.8+7) OpenJDK 64-Bit Server VM (Red_Hat-17.0.8.0.7-1.fc38) (build 17.0.8+7, mixed mode, sharing)

Quarkus version or git rev

3.5.0

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

Welcome to Gradle 8.3! Here are the highlights of this release: - Faster Java compilation - Reduced memory usage - Support for running on Java 20 For more details see https://docs.gradle.org/8.3/release-notes.html ------------------------------------------------------------ Gradle 8.3 ------------------------------------------------------------ Build time: 2023-08-17 07:06:47 UTC Revision: 8afbf24b469158b714b36e84c6f4d4976c86fcd5 Kotlin: 1.9.0 Groovy: 3.0.17 Ant: Apache Ant(TM) version 1.10.13 compiled on January 4 2023 JVM: 17.0.8 (Red Hat, Inc. 17.0.8+7) OS: Linux 6.5.9-200.fc38.x86_64 amd64

Additional information

No response

Copy link

quarkus-bot bot commented Nov 6, 2023

/cc @cescoffier (devui), @evanchooly (kotlin), @geoand (devservices,kotlin), @phillip-kruger (devui), @stuartwdouglas (devservices)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant