svn commit: r919915 - in /jakarta/jmeter/trunk: docs/images/screenshots/junit_sampler.png xdocs/images/screenshots/junit_sampler.png xdocs/usermanual/component_reference.xml

2010-03-06 Thread sebb
Author: sebb
Date: Sun Mar  7 02:52:29 2010
New Revision: 919915

URL: http://svn.apache.org/viewvc?rev=919915&view=rev
Log:
Add details of JUnit4 support

Modified:
jakarta/jmeter/trunk/docs/images/screenshots/junit_sampler.png
jakarta/jmeter/trunk/xdocs/images/screenshots/junit_sampler.png
jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml

Modified: jakarta/jmeter/trunk/docs/images/screenshots/junit_sampler.png
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/images/screenshots/junit_sampler.png?rev=919915&r1=919914&r2=919915&view=diff
==
Binary files - no diff available.

Modified: jakarta/jmeter/trunk/xdocs/images/screenshots/junit_sampler.png
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/images/screenshots/junit_sampler.png?rev=919915&r1=919914&r2=919915&view=diff
==
Binary files - no diff available.

Modified: jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=919915&r1=919914&r2=919915&view=diff
==
--- jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml Sun Mar  7 
02:52:29 2010
@@ -1251,7 +1251,7 @@
 
 
 
-
+
 
 The current implementation supports standard Junit convention and extensions. 
It also
 includes extensions like oneTimeSetUp and oneTimeTearDown. The sampler works 
like the
@@ -1294,6 +1294,7 @@
 
 
   Descriptive name for this element that is 
shown in the tree.
+  Select this to 
search for JUnit 4 tests (@Test annotations)
   Comma separated list of packages 
to show. Example, org.apache.jmeter,junit.framework.
   Fully qualified name of the JUnit 
test class.
   String pass to the string 
constructor. If a string is set, the sampler will use the
@@ -1312,6 +1313,14 @@
   Whether or not to 
append assertion errors to the response message.
   Whether or not to 
append runtime exceptions to the response message. Only applies if "Append 
assertion errors" is not selected.
 
+
+The following JUnit4 annotations are recognised:
+
+@Test - used to find test methods and classes. The "expected" and 
"timeout" attributes are supported.
+@Before - treated the same as setUp() in JUnit3
+@After - treated the same as tearDown() in JUnit3
+
+
 
 
 



-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

Sebb  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #20 from Sebb  2010-03-06 21:39:58 UTC ---
Thanks again for the report and fix.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #19 from Sebb  2010-03-06 21:39:28 UTC ---
Applied patch:

URL: http://svn.apache.org/viewvc?rev=919850&view=rev
Log:
Bug 48350 - Deadlock on distributed testing with 2 clients

Modified:
  
jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java
   jakarta/jmeter/trunk/xdocs/changes.xml

As far as I can make out, there's no need to clone the properties.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



svn commit: r919857 - /jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java

2010-03-06 Thread sebb
Author: sebb
Date: Sat Mar  6 21:37:34 2010
New Revision: 919857

URL: http://svn.apache.org/viewvc?rev=919857&view=rev
Log:
Eliminate unnecessary instance variable

Modified:

jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java

Modified: 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java?rev=919857&r1=919856&r2=919857&view=diff
==
--- 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java
 (original)
+++ 
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java
 Sat Mar  6 21:37:34 2010
@@ -37,8 +37,6 @@
 
 private static final long serialVersionUID = 233L;
 
-private transient String comparatorErrorMessage;// Only used for 
communication with compareSize()
-
 // * Static int to signify the type of logical comparitor to assert
 public final static int EQUAL = 1;
 
@@ -79,9 +77,10 @@
 resultSize = response.getBytes();
 }
 // is the Sample the correct size?
-if (!(compareSize(resultSize))) {
+final String msg = compareSize(resultSize);
+if (msg.length() > 0) {
 result.setFailure(true);
-Object[] arguments = { new Long(resultSize), 
comparatorErrorMessage, new Long(getAllowedSize()) };
+Object[] arguments = { new Long(resultSize), msg, new 
Long(getAllowedSize()) };
 String message = 
MessageFormat.format(JMeterUtils.getResString("size_assertion_failure"), 
arguments); //$NON-NLS-1$
 result.setFailureMessage(message);
 }
@@ -142,7 +141,8 @@
  * than eqaul, less than equal, .
  * 
  */
-private boolean compareSize(long resultSize) {
+private String compareSize(long resultSize) {
+String comparatorErrorMessage;
 boolean result = false;
 int comp = getCompOper();
 switch (comp) {
@@ -175,6 +175,6 @@
 comparatorErrorMessage = "ERROR - invalid condition";
 break;
 }
-return result;
+return result ? "" : comparatorErrorMessage;
 }
 }



-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



svn commit: r919850 - in /jakarta/jmeter/trunk: src/core/org/apache/jmeter/engine/ClientJMeterEngine.java xdocs/changes.xml

2010-03-06 Thread sebb
Author: sebb
Date: Sat Mar  6 21:02:34 2010
New Revision: 919850

URL: http://svn.apache.org/viewvc?rev=919850&view=rev
Log:
Bug 48350 - Deadlock on distributed testing with 2 clients

Modified:

jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java
jakarta/jmeter/trunk/xdocs/changes.xml

Modified: 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java?rev=919850&r1=919849&r2=919850&view=diff
==
--- 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java 
(original)
+++ 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java 
Sat Mar  6 21:02:34 2010
@@ -39,6 +39,8 @@
 public class ClientJMeterEngine implements JMeterEngine, Runnable {
 private static final Logger log = LoggingManager.getLoggerForClass();
 
+private static final Object LOCK = new Object();
+
 private RemoteJMeterEngine remote;
 
 private HashTree test;
@@ -119,7 +121,15 @@
 
 try {
 JMeterContextService.startTest();
-remote.configure(test, host);
+/*
+ * Add fix for Deadlocks, see:
+ * 
+ * See https://issues.apache.org/bugzilla/show_bug.cgi?id=48350
+*/
+synchronized(LOCK)
+{
+remote.configure(testTree, host);
+}
 log.info("sent test to " + host);
 if (savep != null){
 log.info("Sending properties "+savep);

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=919850&r1=919849&r2=919850&view=diff
==
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Sat Mar  6 21:02:34 2010
@@ -130,6 +130,7 @@
 Bug 47646 -  NullPointerException in the "Random Variable" element
 Disallow adding any child elements to JDBC Configuration
 BeanInfoSupport now caches getBeanDescriptor() - should avoid an NPE on 
non-Sun JVMs when using CSVDataSet (and some other TestBeans)
+Bug 48350 - Deadlock on distributed testing with 2 clients
 
 
 



-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #18 from Philippe Mouawad  
2010-03-06 19:22:20 UTC ---
(In reply to comment #15)
> I've been able to reproduce the problem with a slightly trimmed version of the
> test plan.
> 
> Using 
> 
> remote.configure(testTree, host);
> instead of
> remote.configure(test, host);
> 
> does not stop the deadlocks.
> 
> Nor does synchronizing on testTree, however using a static lock object does
> work for me.
> 
> The -G option does not seem to cause deadlocks.
> 
> I'm not yet sure why there can be a deadlock; the code seems to create a
> separate copy of the test tree for each client. Perhaps one of the nested data
> structures is not being copied. If so, then fixing that should prevent the
> deadlock.
> 
> However this may be very tricky to find; in the meantime your original
> suggested patch would prevent the deadlocks.
> 
> I don't think it's necessary to synch. for the -G option.

Hello,
>From my investigations:
- synchronizing on testTree doesn't do it because there are 2 different
instances of test
- and concerning this fix, it doesn't do it because due to HashTree testTree =
test, test and testTree are the same object:
> remote.configure(testTree, host);
> instead of
> remote.configure(test, host);

Philippe.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #17 from Philippe Mouawad  
2010-03-06 19:10:48 UTC ---
Created an attachment (id=25100)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=25100)
Patch to deadlock

Here is a patch that:
- Synchronizes configuration sending to avoid deadlock
- clones properties to avoid locking issues (remove synchronization block since
Properties object is only read)


You are right, there are 2 different references of test HashTree but they share
somewhere the same object.


Philippe
http://.ubik-ingenierie.com

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

Philippe Mouawad  changed:

   What|Removed |Added

  Attachment #25097|0   |1
is obsolete||

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

Sebb  changed:

   What|Removed |Added

 Status|NEEDINFO|NEW

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #16 from Sebb  2010-03-06 18:58:54 UTC ---
Created an attachment (id=25099)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=25099)
Simpler test case - does not need Tomcat

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



svn commit: r919806 - /jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/TreeCloner.java

2010-03-06 Thread sebb
Author: sebb
Date: Sat Mar  6 17:52:28 2010
New Revision: 919806

URL: http://svn.apache.org/viewvc?rev=919806&view=rev
Log:
Make private fields final.
Rename and rearrange code to make a bit clearer.

Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/TreeCloner.java

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/TreeCloner.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/TreeCloner.java?rev=919806&r1=919805&r2=919806&view=diff
==
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/TreeCloner.java 
(original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/TreeCloner.java Sat 
Mar  6 17:52:28 2010
@@ -28,23 +28,36 @@
 
 public class TreeCloner implements HashTreeTraverser {
 
-private ListedHashTree newTree;
+private final ListedHashTree newTree;
 
-private LinkedList objects = new LinkedList();
+private final LinkedList objects = new LinkedList();
 
-private boolean forThread = true;
+private final boolean honourNoThreadClone;
 
+/**
+ * Clone the test tree, honouring NoThreadClone markers.
+ * 
+ */
 public TreeCloner() {
 this(true);
 }
 
-public TreeCloner(boolean forThread) {
+/**
+ * Clone the test tree.
+ * 
+ * @param honourNoThreadClone set false to clone NoThreadClone nodes as 
well
+ */
+public TreeCloner(boolean honourNoThreadClone) {
 newTree = new ListedHashTree();
-this.forThread = forThread;
+this.honourNoThreadClone = honourNoThreadClone;
 }
 
 public void addNode(Object node, HashTree subTree) {
-if ((!forThread || !(node instanceof NoThreadClone)) && (node 
instanceof TestElement)) {
+
+if ( (node instanceof TestElement) // Check can cast for clone
+   // Don't clone NoThreadClone unless honourNoThreadClone == false
+  && (!honourNoThreadClone || !(node instanceof NoThreadClone))
+) {
 node = ((TestElement) node).clone();
 newTree.add(objects, node);
 } else {



-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #15 from Sebb  2010-03-06 16:56:48 UTC ---
I've been able to reproduce the problem with a slightly trimmed version of the
test plan.

Using 

remote.configure(testTree, host);
instead of
remote.configure(test, host);

does not stop the deadlocks.

Nor does synchronizing on testTree, however using a static lock object does
work for me.

The -G option does not seem to cause deadlocks.

I'm not yet sure why there can be a deadlock; the code seems to create a
separate copy of the test tree for each client. Perhaps one of the nested data
structures is not being copied. If so, then fixing that should prevent the
deadlock.

However this may be very tricky to find; in the meantime your original
suggested patch would prevent the deadlocks.

I don't think it's necessary to synch. for the -G option.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #14 from Philippe Mouawad  
2010-03-06 16:37:01 UTC ---
Hello Sebb,
I tested with -Gdummy=1 and deadlock occurs with your change and mine.
So I applied your change:
remote.configure(testTree, host);

And added the following change on properties:
Properties clonedProperties = null;
synchronized (LOCK) {
 clonedProperties = (Properties)savep.clone();
}
remote.setProperties(clonedProperties);



I cloned the saveP so each thread has its copy.

I tested and everything is OK

Cordially
Philippe Mouawad
http://www.ubik-ingenierie.com

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

Philippe Mouawad  changed:

   What|Removed |Added

  Attachment #25093|0   |1
is obsolete||

--- Comment #13 from Philippe Mouawad  
2010-03-06 16:35:20 UTC ---
Created an attachment (id=25097)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=25097)
Path that solves issue with -G option

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #12 from Philippe Mouawad  
2010-03-06 16:25:51 UTC ---
Hello Sebb,
I just tested removing synchronized with 
remote.configure(testTree, host);
instead of
remote.configure(test, host);


Deadlock does not occur,my understanding  of your modification is that you
cleanup a bit HashTree from Swing elements and other ones useless for test.
But changes are a bit more important than my hack, maybe more tests are
required than my little ones.
I will try on my real life scenario.

Philippe
http://www.Ubik-ingenierie.com

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #11 from Philippe Mouawad  
2010-03-06 16:21:03 UTC ---
Created an attachment (id=25096)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=25096)
Deadlock Scenario

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

Philippe Mouawad  changed:

   What|Removed |Added

  Attachment #25095|0   |1
is obsolete||

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #10 from Philippe Mouawad  
2010-03-06 16:15:11 UTC ---
Forget my previous comment

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #9 from Philippe Mouawad  2010-03-06 
16:14:31 UTC ---
Hello,
I tested:
remote.configure(testTree, host);
instead of
remote.configure(test, host);

Same behaviour, because testTree is the same reference as test so same locked
object.

Philippe.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

Philippe Mouawad  changed:

   What|Removed |Added

  Attachment #25092|0   |1
is obsolete||

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #8 from Philippe Mouawad  2010-03-06 
16:07:37 UTC ---
Created an attachment (id=25095)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=25095)
Cleaned up Test

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #7 from Philippe Mouawad  2010-03-06 
15:32:15 UTC ---
Issue occurs on Trunk version of JMeter on which I applied the patch.
It also occured on 2.4.

Concerning OS I thought I had answered it, I tested on:
- MacOS X as Controller , 1 server on Windows XP, 1 server on Windows 2000
- Linux Redhat as Controller, Linux as 2 Servers
- MacOSx as Controller,  2 servers on Mac OSX


Concerning the test case you can use Tomcat 6 as server to run IT, I created
specially to submint the bug so you can reproduce.
I think bug occurs when scenario is complex as the one I create.

No -G option at all.

The deadlock is only on master controller which sends it config to 2 others
servers.
This send is done by 2 threads, one for each remote server as I understand.

I will try to do what you are asking for as soon as possible.

Cordially.
Philippe
http://www.ubik-ingenierie.com

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #6 from Sebb  2010-03-06 15:19:04 UTC ---
By the way, which version of JMeter are you using?

Also, which OS?

These are listed at the start of jmeter.log.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

Sebb  changed:

   What|Removed |Added

 Status|NEW |NEEDINFO

--- Comment #5 from Sebb  2010-03-06 15:17:59 UTC ---
Thanks very much for the thread dump and patch.
It's not obvious why the deadlock occurs, because each remote host has its own
ClientJMeterEngine.

Do you have a simpler test case that shows the problem?

Also, do you use the -G options at all?

Seems to me that this could perhaps also cause a deadlock, as the
ClientJMeterEngine code for this is fairly similar.

Perhaps you could try a test with your patch plus a dummy -G option, e.g. just
add

-Gdummy=1

to the client startup.

If this also causes deadlocks, then the remote.setProperties() call probably
needs to be moved into the synch. block as well.

Could you also please try:

remote.configure(testTree, host);
instead of
remote.configure(test, host);

without the synch. block?

Might also be worth trying synchronising on (testTree) with the above change.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #4 from Philippe Mouawad  2010-03-06 
13:25:06 UTC ---
Created an attachment (id=25093)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=25093)
Patch to deadlock

Patch that avoids deadlock by synchronizing only configuration send to each
remote server.
Should have a very low performance impact.
Tested successfully.

Philippe Mouawad
http://www.ubik-ingenierie.com

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #3 from Philippe Mouawad  2010-03-06 
12:54:20 UTC ---
To reproduce deadlock do the following:
- Start 2 servers on same machine or 2 different machines
- Start controller


Deadlock occurs on a very high frequence (4 times on 5 runs).
I reprocuded it on:
-Mac OSX (controller and servers on same machine)
-Linux (controller and servers on same machine)
-Window / Mac (controller on Mac, Servers on Windows)


Philippe
http://www.ubik-ingenierie.com

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

--- Comment #2 from Philippe Mouawad  2010-03-06 
12:51:32 UTC ---
Created an attachment (id=25092)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=25092)
Test scenario

This scenario illustrates the bug.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org



DO NOT REPLY [Bug 48350] Deadlock on distributed testing with 2 clients

2010-03-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=48350

Philippe Mouawad  changed:

   What|Removed |Added

  Attachment #24680|0   |1
is obsolete||

--- Comment #1 from Philippe Mouawad  2010-03-06 
12:50:45 UTC ---
Created an attachment (id=25091)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=25091)
Thread Dump of Deadlocked Threads

Sorry for my previous attachment, it didn't show deadlock.
Here is the good one that shows Deadlock in the controller when serializing
HashTree.

Philippe
http://www.ubik-ingenierie.com

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.

-
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org