deepset-ai / deepset-ai/haystack
JsonSchemaValidator raises IndexError for an empty message list
@davidsbatista is already working on this.
Since Sep 16, 2026.
- Dominant language
- Python
- Stars
- 26.6k
- Forks
- 3.2k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 194
Description
Describe the bug
JsonSchemaValidator.run([]) raises a bare IndexError while trying to read messages[-1]. The component accepts a list of messages and documents validation errors, but it does not validate that the list contains a message before indexing it.
Error message
IndexError: list index out of range
Expected behavior
An empty message list should raise a descriptive ValueError, consistent with the component's existing validation errors for a missing schema or a message with no text content.
To Reproduce
from haystack.components.validators import JsonSchemaValidator
validator = JsonSchemaValidator(json_schema={"type": "object"})
validator.run([])
Additional context
The failure happens before schema validation at last_message = messages[-1]. A guard at the start of run() can turn the implementation detail into an actionable input error.
FAQ Check
- Have you had a look at our new FAQ page?
System:
- OS: Linux
- Haystack version:
mainat44246f850714529353513a2a41e691bb1cf78b7e
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.
Assessment
This issue has not been assessed yet.