vllm-project / vllm-project/production-stack
bug: [Benchmark] ValueError: Length mismatch in multi-round-qa benchmark DataFrame creation
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.6k
- Forks
- 503
- Avg merge
- 4d 17h
- Merged PRs (30d)
- 8
Description
Describe the bug
Bug Description
When running the multi-round-qa benchmark, the program crashes with a ValueError due to length mismatch between different lists when creating the DataFrame.
Error Details
ValueError: Length of values (2) does not match length of index (1)
Error Location
File: benchmarks/multi-round-qa/multi-round-qa.py
Line: 332 in UserSession.summary() method
df["ttft"] = self.ttfts
Root Cause
The issue occurs when creating a DataFrame in the UserSession.summary() method. Different lists (self.ttfts, self.prompt_lengths, etc.) have inconsistent lengths:
self.ttftslength: 2self.prompt_lengthslength: 1- Other lists also have length 1
Steps to Reproduce
- Run the multi-round-qa benchmark
- Wait for the first summary to be generated
- The error occurs when
manager.summary()is called
Expected Behavior
All lists should maintain consistent lengths, and the DataFrame creation should succeed.
Additional Context
This appears to be related to asynchronous request handling where the _update_result method might be called multiple times for the same response, or there's a race condition in the async callback system.
To Reproduce
it is always happened to me
Expected behavior
No response
Additional context
No response
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.
Research direction
Start in benchmarks/multi-round-qa/multi-round-qa.py at UserSession.summary() around line 332, then trace manager.summary() and the asynchronous _update_result path. Reproduce the multi-round-qa benchmark and inspect why self.ttfts has a different length from self.prompt_lengths and the other lists. Done means the summary DataFrame is created without a length-mismatch ValueError and the lists remain consistent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- performance, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100