Stack overflow in Random Controller/Interleave Controller if it contains child Throughput Controller elements
- Dominant language
- Java
- Stars
- 9.5k
- Forks
- 2.3k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 5
Description
**Aleksey Koltakov** ([Bug 59223](https://bz.apache.org/bugzilla//show_bug.cgi?id=59223&redirect=false)):
Create and run test plan with several Throughput Controller elements under Random Controller/Interleave Controller:
Test Plan
Thread Group (threads 1; ramp up 1; loop count 1)
Loop Controller (Forever ON)
Random Controller
Throughput Controller (Total Executions; Throughput 2; Per User ON)
HTTP Request
Throughput Controller (Total Executions; Throughput 1; Per User ON)
HTTP Request
Only the first request is sent, test ends with the following error (stack overflow):
cController.next(GenericController.java:180)
at org.apache.jmeter.control.InterleaveControl.next(InterleaveControl.java:84)
at org.apache.jmeter.control.InterleaveControl.nextIsAController(InterleaveControl.java:95)
at org.apache.jmeter.control.GenericController.next(GenericController.java:180)
at org.apache.jmeter.control.InterleaveControl.next(InterleaveControl.java:84)
at org.apache.jmeter.control.InterleaveControl.nextIsAController(InterleaveControl.java:95)
at org.apache.jmeter.control.GenericController.next(GenericController.java:180)
...
If you replace Random Controller with Simple Controller the test will run correctly.
Created attachment [Test Plan.jmx](https://apache.github.io/jmeter-bugzilla-attachments/23/59223/33697/Test%20Plan.jmx): Test plan to reproduce bug
Severity: major
OS: Windows NT
Contributor guide
Research direction
Start with GenericController.next and InterleaveControl.next/nextIsAController, using the attached Test Plan.jmx to reproduce the recursive stack overflow with nested Throughput Controllers. Trace how Random Controller and Interleave Controller advance through child elements. Done means the plan completes without a stack overflow and the expected child HTTP requests are sent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- performance, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100