Cannot invoke "String.equals(Object)" because "toolName" is null
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- java, spring-boot
- Domain
- ai, backend-api-design
Research direction
Start by reproducing the error with the shown UserTools, @Tool, ChatClient, and streaming setup on spring-ai-bom 1.0.0-M6, then trace the reported MessageAggregator aggregation error. Done means the tool call completes without a NullPointerException when toolName is null.
Written by the indexing model from the issue text.
Description
Bug description
Sending OK to call Tool Calling error: ERROR 29356 --- [ient-2-Worker-0] o.s.ai.chat.model.MessageAggregator : Aggregation Error
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "toolName" is null
Environment
spring-ai-bom:1.0.0-M6
spring-ai-openai-spring-boot-starter
JDK21
Steps to reproduce
@Component
public class UserTools {
@Tool(name = "getOK",description = "OK")
public String getOK() {
return "ok!ok!ok!";
}
}
@Autowired
private UserTools userTools;
@Bean
public ChatClient chatClient(OpenAiChatModel model, ChatMemory chatMemory) {
return ChatClient
.builder(model)
.defaultSystem("""
你是小清,一个温柔可爱机智的智能助手。
""")
.defaultTools(userTools) // Tool Calling
.build();
}
@Operation(summary = "对话")
@PostMapping(value = "/conversation",produces = "text/html;charset=utf-8")
public Flux chatClient(@RequestBody ChatDto chatDto) {
return chatClient.prompt()
.user(chatDto.getPrompt())
.stream()
.content();
}
- Dominant language
- Java
- Stars
- 9.5k
- Forks
- 2.9k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 5
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from spring-projects/spring-ai
-
status: waiting-for-triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
spring-projects/spring-ai#7000 ·
-
status: waiting-for-triage
Difficulty 1/5 Under an hour Newbie friendliness 90/100
spring-projects/spring-ai#6998 ·
-
[Bug - MCP server] @McpTool error messages are emitted twice when the thrown exception has no cause Openstatus: waiting-for-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
spring-projects/spring-ai#6948 · 1 comment · 1 reaction ·
-
status: waiting-for-triage
Difficulty 1/5 Under an hour Newbie friendliness 90/100
spring-projects/spring-ai#6940 · 1 comment ·
-
status: waiting-for-triage
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
spring-projects/spring-ai#6928 · 1 comment ·
All issues in spring-projects/spring-ai
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
bug needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 1/5 Under an hour Newbie friendliness 94/100
objectionary/hone-maven-plugin#1061 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
spring-projects/spring-modulith#1895 ·