Skip to content

this is a bug for spring-ai-mcp-client of deepseek-v3 by flux type #3297

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

Open
phackss opened this issue May 23, 2025 · 4 comments
Open

this is a bug for spring-ai-mcp-client of deepseek-v3 by flux type #3297

phackss opened this issue May 23, 2025 · 4 comments

Comments

@phackss
Copy link

phackss commented May 23, 2025

this is spring-ai-mcp-client exceptions

-23T10:49:28.676+08:00 ERROR 99079 --- [mcp] [nio-8083-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] threw exception

com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 1]
at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59) ~[jackson-databind-2.17.3.jar:2.17.3]
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4996) ~[jackson-databind-2.17.3.jar:2.17.3]
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4898) ~[jackson-databind-2.17.3.jar:2.17.3]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3848) ~[jackson-databind-2.17.3.jar:2.17.3]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3831) ~[jackson-databind-2.17.3.jar:2.17.3]
at org.springframework.ai.model.ModelOptionsUtils.jsonToMap(ModelOptionsUtils.java:104) ~[spring-ai-model-1.0.0-20250519.092550-306.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.model.ModelOptionsUtils.jsonToMap(ModelOptionsUtils.java:92) ~[spring-ai-model-1.0.0-20250519.092550-306.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.mcp.AsyncMcpToolCallback.call(AsyncMcpToolCallback.java:109) ~[spring-ai-mcp-1.0.0-20250519.092143-444.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.mcp.AsyncMcpToolCallback.call(AsyncMcpToolCallback.java:123) ~[spring-ai-mcp-1.0.0-20250519.092143-444.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.model.tool.DefaultToolCallingManager.lambda$executeToolCall$5(DefaultToolCallingManager.java:224) ~[spring-ai-model-1.0.0-20250519.092550-306.jar:1.0.0-SNAPSHOT]
at io.micrometer.observation.Observation.observe(Observation.java:565) ~[micrometer-observation-1.13.8.jar:1.13.8]
at org.springframework.ai.model.tool.DefaultToolCallingManager.executeToolCall(DefaultToolCallingManager.java:221) ~[spring-ai-model-1.0.0-20250519.092550-306.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.model.tool.DefaultToolCallingManager.executeToolCalls(DefaultToolCallingManager.java:137) ~[spring-ai-model-1.0.0-20250519.092550-306.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.openai.OpenAiChatModel.lambda$internalStream$10(OpenAiChatModel.java:369) ~[spring-ai-openai-1.0.0-RC1.jar:1.0.0-RC1]
at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:46) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.publisher.FluxSubscribeOn$SubscribeOnSubscriber.run(FluxSubscribeOn.java:194) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37) ~[reactor-core-3.6.12.jar:3.6.12]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na]

2025-05-23T10:49:28.677+08:00 ERROR 99079 --- [mcp] [nio-8083-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 1]] with root cause

com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 1]
at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59) ~[jackson-databind-2.17.3.jar:2.17.3]
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4996) ~[jackson-databind-2.17.3.jar:2.17.3]
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4898) ~[jackson-databind-2.17.3.jar:2.17.3]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3848) ~[jackson-databind-2.17.3.jar:2.17.3]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3831) ~[jackson-databind-2.17.3.jar:2.17.3]
at org.springframework.ai.model.ModelOptionsUtils.jsonToMap(ModelOptionsUtils.java:104) ~[spring-ai-model-1.0.0-20250519.092550-306.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.model.ModelOptionsUtils.jsonToMap(ModelOptionsUtils.java:92) ~[spring-ai-model-1.0.0-20250519.092550-306.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.mcp.AsyncMcpToolCallback.call(AsyncMcpToolCallback.java:109) ~[spring-ai-mcp-1.0.0-20250519.092143-444.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.mcp.AsyncMcpToolCallback.call(AsyncMcpToolCallback.java:123) ~[spring-ai-mcp-1.0.0-20250519.092143-444.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.model.tool.DefaultToolCallingManager.lambda$executeToolCall$5(DefaultToolCallingManager.java:224) ~[spring-ai-model-1.0.0-20250519.092550-306.jar:1.0.0-SNAPSHOT]
at io.micrometer.observation.Observation.observe(Observation.java:565) ~[micrometer-observation-1.13.8.jar:1.13.8]
at org.springframework.ai.model.tool.DefaultToolCallingManager.executeToolCall(DefaultToolCallingManager.java:221) ~[spring-ai-model-1.0.0-20250519.092550-306.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.model.tool.DefaultToolCallingManager.executeToolCalls(DefaultToolCallingManager.java:137) ~[spring-ai-model-1.0.0-20250519.092550-306.jar:1.0.0-SNAPSHOT]
at org.springframework.ai.openai.OpenAiChatModel.lambda$internalStream$10(OpenAiChatModel.java:369) ~[spring-ai-openai-1.0.0-RC1.jar:1.0.0-RC1]
at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:46) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.publisher.FluxSubscribeOn$SubscribeOnSubscriber.run(FluxSubscribeOn.java:194) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37) ~[reactor-core-3.6.12.jar:3.6.12]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na]

next is deepseek see retuen message:

data: {"id":"as-5fx5jbf139","object":"chat.completion.chunk","created":1747968878,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"flag":0}]}

data: {"id":"as-5fx5jbf139","object":"chat.completion.chunk","created":1747968878,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":""},"flag":0}]}

data: {"id":"as-5fx5jbf139","object":"chat.completion.chunk","created":1747968878,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":""},"flag":0}]}

data: {"id":"as-5fx5jbf139","object":"chat.completion.chunk","created":1747968878,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":""},"flag":0}]}

data: {"id":"as-5fx5jbf139","object":"chat.completion.chunk","created":1747968878,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":""},"flag":0}]}

data: {"id":"as-5fx5jbf139","object":"chat.completion.chunk","created":1747968878,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":""},"flag":0}]}

data: {"id":"as-5fx5jbf139","object":"chat.completion.chunk","created":1747968878,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":""},"flag":0}]}

data: {"id":"as-5fx5jbf139","object":"chat.completion.chunk","created":1747968878,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":""},"flag":0}]}

data: {"id":"as-5fx5jbf139","object":"chat.completion.chunk","created":1747968878,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":"","tool_calls":[{"id":"8a5b36c19de14f9ea2f4402b9346429c","type":"function","index":0,"function":{"name":"mcp_sampling_server_server1_getTemperature","arguments":""}}]},"flag":0}]}

data: {"id":"as-5fx5jbf139","object":"chat.completion.chunk","created":1747968878,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":"","tool_calls":[{"id":"8a5b36c19de14f9ea2f4402b9346429c","type":"function","index":0,"function":{"arguments":"{"latitude"}}]},"flag":0}]}

data: {"id":"as-5fx5jbf139","object":"chat.completion.chunk","created":1747968878,"model":"deepseek-v3","choices":[{"index":0,"delta":{"content":"","tool_calls":[{"id":"8a5b36c19de14f9ea2f4402b9346429c","type":"function","index":0,"function":{"arguments":"":39"}}]},"flag":0}]}

@argmnt
Copy link

argmnt commented May 23, 2025

Can you provide a bit structured steps like this: #3017 ex: steps to reproduce, and if it is possible reproducible example somewhere.

@cntigers
Copy link

Can you provide a bit structured steps like this: #3017 ex: steps to reproduce, and if it is possible reproducible example somewhere.

tool without params,and use flux client

@cntigers
Copy link

Can you provide a bit structured steps like this: #3017 ex: steps to reproduce, and if it is possible reproducible example somewhere.

tool without params,and use flux client

@argmnt

@phackss
Copy link
Author

phackss commented May 26, 2025

Can you provide a bit structured steps like this: #3017 ex: steps to reproduce, and if it is possible reproducible example somewhere.

tool without params,and use flux client

@argmnt

yes the deepseek-v3 stream result ,first message has no tool content , next three mesaage contain tool info. so the spring-ai-mcp-client throw excepion .

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

No branches or pull requests

3 participants