-
Notifications
You must be signed in to change notification settings - Fork 146
Open
Description
Steps to reproduce:
- Clone the repo
- Start the
openai
IT module in dev mode, using OpenAI API:
mvn clean quarkus:dev -Dopenai.key=<EDITED> -Dquarkus.langchain4j.openai.chat-model.model-name=gpt-4o-mini -pl integration-tests/openai/
Expectation: results from the query
Reality: the page hangs, logs contain the following:
2025-08-13 16:54:13,149 WARNING [io.qua.ope.run.exp.otl.sen.VertxGrpcSender] (vert.x-eventloop-thread-4) Failed to export TraceRequestMarshalers. The request could not be executed. Full error message: Connection refused: localhost/127.0.0.1:4317
2025-08-13 16:54:15,158 INFO [io.qua.lan.ope.com.OpenAiRestApi$OpenAiClientLogger] (vert.x-eventloop-thread-3) Request:
- method: POST
- url: https://api.openai.com/v1/chat/completions
- headers: [Accept: text/event-stream], [Authorization: Be...MA], [Content-Type: application/json], [User-Agent: langchain4j-openai], [content-length: 384]
- body: {
"model" : "gpt-4o-mini",
"messages" : [ {
"role" : "user",
"content" : "How do I optimize database queries for a large-scale e-commerce platform? Answer short in three to five lines maximum."
} ],
"temperature" : 1.0,
"top_p" : 1.0,
"stream" : true,
"stream_options" : {
"include_usage" : true
},
"presence_penalty" : 0.0,
"frequency_penalty" : 0.0
}
2025-08-13 16:54:15,787 ERROR [io.qua.mut.run.MutinyInfrastructure] (vert.x-eventloop-thread-3) Mutiny had to drop the following exception: java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:220)
at java.base/java.util.concurrent.ConcurrentLinkedQueue.offer(ConcurrentLinkedQueue.java:355)
at java.base/java.util.concurrent.ConcurrentLinkedQueue.add(ConcurrentLinkedQueue.java:283)
at dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder.append(OpenAiStreamingResponseBuilder.java:75)
at dev.langchain4j.model.openai.OpenAiStreamingChatModel.lambda$doChat$0(OpenAiStreamingChatModel.java:148)
at dev.langchain4j.model.openai.internal.SyncOrAsyncOrStreaming.lambda$onRawPartialResponse$0(SyncOrAsyncOrStreaming.java:12)
at io.smallrye.mutiny.subscription.Subscribers$CallbackBasedSubscriber.onItem(Subscribers.java:79)
at io.smallrye.mutiny.operators.multi.builders.BufferItemMultiEmitter.drain(BufferItemMultiEmitter.java:123)
at io.smallrye.mutiny.operators.multi.builders.BufferItemMultiEmitter.emit(BufferItemMultiEmitter.java:37)
at io.smallrye.mutiny.operators.multi.builders.SerializedMultiEmitter.onItem(SerializedMultiEmitter.java:50)
at io.smallrye.mutiny.operators.multi.builders.SerializedMultiEmitter.emit(SerializedMultiEmitter.java:140)
at org.jboss.resteasy.reactive.client.impl.MultiInvoker$MultiRequest.emit(MultiInvoker.java:74)
at org.jboss.resteasy.reactive.client.impl.MultiInvoker.lambda$registerForSse$2(MultiInvoker.java:244)
at org.jboss.resteasy.reactive.client.impl.SseEventSourceImpl.fireEvent(SseEventSourceImpl.java:231)
at org.jboss.resteasy.reactive.client.impl.SseParser.dispatchEvent(SseParser.java:181)
at org.jboss.resteasy.reactive.client.impl.SseParser.parseEvent(SseParser.java:155)
at org.jboss.resteasy.reactive.client.impl.SseParser.handle(SseParser.java:115)
at org.jboss.resteasy.reactive.client.impl.SseParser.handle(SseParser.java:11)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270)
at io.vertx.core.http.impl.HttpEventHandler.handleChunk(HttpEventHandler.java:51)
at io.vertx.core.http.impl.HttpClientResponseImpl.handleChunk(HttpClientResponseImpl.java:239)
at io.vertx.core.http.impl.Http1xClientConnection$StreamImpl.lambda$new$0(Http1xClientConnection.java:429)
at io.vertx.core.streams.impl.InboundBuffer.handleEvent(InboundBuffer.java:279)
at io.vertx.core.streams.impl.InboundBuffer.drain(InboundBuffer.java:266)
at io.vertx.core.streams.impl.InboundBuffer.lambda$asyncDrain$1(InboundBuffer.java:317)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:252)
at io.vertx.core.impl.ContextInternal.lambda$runOnContext$0(ContextInternal.java:50)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:998)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1447)
2025-08-13 16:54:18,882 WARNING [io.qua.ope.run.exp.otl.sen.VertxGrpcSender] (vert.x-eventloop-thread-6) Failed to export TraceRequestMarshalers. The request could not be executed. Full error message: Connection refused: localhost/127.0.0.1:4317
2025-08-13 16:55:13,643 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /chat/memory failed, error id: 0806d55b-215e-4064-91e0-13d38d269506-1
Exception in ChatLanguageModelResource.java:138
136
137 streamingChatLanguageModel.chat(chatMemory.messages(), handler);
→ 138 AiMessage firstAiMessage = futureRef.get().get(60, TimeUnit.SECONDS);
139 chatMemory.add(firstAiMessage);
140 : java.util.concurrent.TimeoutException
at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:2006)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2141)
at org.acme.example.openai.chat.ChatLanguageModelResource.memory(ChatLanguageModelResource.java:138)
at org.acme.example.openai.chat.ChatLanguageModelResource$quarkusrestinvoker$memory_e79e4773689d9f0b2a1dd7916cd7fb59e4627c95.invoke(Unknown Source)
at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
at io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:638)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1447)
2025-08-13 16:55:13,704 INFO [io.qua.ope.run.QuarkusContextStorage] (vert.x-eventloop-thread-3) Context in storage not the expected context, Scope.close was not called correctly. Details: OTel context before: {spanId=74f617cd51e9dd2f, traceId=d275a505ac51cf86e7261c96b2065eab, sampled=true, parentId=545bf19edba3402a}. OTel context toAttach: {spanId=545bf19edba3402a, traceId=d275a505ac51cf86e7261c96b2065eab, sampled=true}
2025-08-13 16:55:14,825 WARNING [io.qua.ope.run.exp.otl.sen.VertxGrpcSender] (vert.x-eventloop-thread-6) Failed to export TraceRequestMarshalers. The request could not be executed. Full error message: Connection refused: localhost/127.0.0.1:4317
Metadata
Metadata
Assignees
Labels
No labels