Bug 51768 - java.lang.StackOverflowError, probably after closing timed-out connections
Summary: java.lang.StackOverflowError, probably after closing timed-out connections
Status: RESOLVED DUPLICATE of bug 50618
Alias: None
Product: JMeter - Now in Github
Classification: Unclassified
Component: HTTP (show other bugs)
Version: 2.5
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ---
Assignee: JMeter issues mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-06 08:07 UTC by Ryszard Łach
Modified: 2011-09-14 14:42 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryszard Łach 2011-09-06 08:07:23 UTC
Hi.
I'm using HttpClient 3.1.
I get an exeption:

2011/09/06 09:07:26 INFO  - jmeter.threads.JMeterThread: Thread finished: Nie-nocna-koszyk 1-1
2011/09/06 09:07:26 INFO  - jmeter.engine.StandardJMeterEngine: Ending thread Nie-nocna-koszyk 1-1
2011/09/06 09:07:26 ERROR - jmeter.threads.JMeterThread: Test failed! java.lang.StackOverflowError
        at java.lang.String.indexOf(String.java:1521)
        at java.lang.ClassLoader.checkName(ClassLoader.java:775)
        at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:947)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:291)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at org.mozilla.javascript.DefiningClassLoader.loadClass(DefiningClassLoader.java:72)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
        at java.lang.Class.getConstructor0(Class.java:2699)
        at java.lang.Class.newInstance0(Class.java:326)
        at java.lang.Class.newInstance(Class.java:308)
        at org.mozilla.javascript.optimizer.Codegen.createScriptObject(Codegen.java:83)
        at org.mozilla.javascript.Context.compileImpl(Context.java:2280)
        at org.mozilla.javascript.Context.compileString(Context.java:1284)
        at org.mozilla.javascript.Context.compileString(Context.java:1273)
        at org.mozilla.javascript.Context.evaluateString(Context.java:1129)
        at org.apache.jmeter.control.IfController.evaluateCondition(IfController.java:110)
        at org.apache.jmeter.control.IfController.next(IfController.java:167)
        at org.apache.jmeter.control.GenericController.nextIsAController(GenericController.java:184)
        at org.apache.jmeter.control.GenericController.next(GenericController.java:148)
        at org.apache.jmeter.control.IfController.next(IfController.java:174)
        at org.apache.jmeter.control.GenericController.nextIsAController(GenericController.java:184)
        at org.apache.jmeter.control.GenericController.next(GenericController.java:148)
        at org.apache.jmeter.control.LoopController.next(LoopController.java:108)
        at org.apache.jmeter.control.GenericController.nextIsAController(GenericController.java:184)
        at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:229)
        at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230)

The last line repeats near 1000 times.

This one exception occured after the following sequence:

1. Running the profile containing some http Samplers (httpClient 3.1) with response tomeout set to 10000ms, 2 concurrent threads
2. Some problem on tested application caused reaching the response timeout - I did not get a response, but "java.net.SocketException: Socket closed" instead
3. Stopping test "Ctrl-." leads to StackOverflow as above, for both threads.

I did also some 30-minute tests with good working application and I can found some such StackOverflows (even for 40% of all launched threads) during the whole test run. I suppose, that it is important to know, whether this threads are still running or not.

Is that exception mean that the thread is going away and is not being restarted?
Comment 1 Ryszard Łach 2011-09-06 09:41:35 UTC
Hi, 

It seems, that stackOverflow and response timeout error are caused by a bug in profile.

I used While controller with module controller as a child and somewhere lost connection between module controller and the module to run. The hile controller had a condition depending on result of its child (MC). So it was causing stack overflow and, as a result, response timeout (coused by thread's infinite loop).

I suppose, that I would'nt file this bug, if the Module Controller informed in jmeter.log, that it has no module to run....

I'm planning to repeat the long-running tests and probably close this bug tomorrow.

Cheers,

R.
Comment 2 Milamber 2011-09-14 14:42:00 UTC

*** This bug has been marked as a duplicate of bug 50618 ***
Comment 3 The ASF infrastructure team 2022-09-24 20:37:46 UTC
This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/2524