Summary: | Concurrent GUI update failure | ||
---|---|---|---|
Product: | JMeter - Now in Github | Reporter: | Rossen Raykov <rossen.raykov> |
Component: | HTTP | Assignee: | JMeter issues mailing list <issues> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | rossen.raykov |
Priority: | P1 | ||
Version: | 2.2 | ||
Target Milestone: | --- | ||
Hardware: | All | ||
OS: | All | ||
Attachments: |
Error's stack trace
Suggested patch |
Description
Rossen Raykov
2007-04-26 08:26:30 UTC
Created attachment 20055 [details]
Error's stack trace
This is the original stack trace.
This seems to be the same issue as or at least quite related to bug 39427. Created attachment 20088 [details]
Suggested patch
The patch makes the deliverSampler method synchronized.
Since the Proxy starts one thread for each request it receives, and each thread
adds a sample to the test plan via the "ProxyControl.deliverSampler" method,
the method has to be synchronized. The "deliverSampler" method interacts with
GUI components, which are normally run on the GUI thread, i.e. just one thread.
Therefore, only one thread at the time should be able to deliver samples.
The org.apache.jmeter.gui.GuiPackage class for example, does not seem to be
threadsafe, and methods in that class is called indirectly by deliverSampler.
You can reproduce this bug by pointing your browser to a web site with many
images on the page, so that the browsers issues multiple concurrent requests.
This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/1931 |