Okay, this is driving me quite mad.
I have a testplan that I want to run against a set of webservers. I
have two dedicated testing hosts, running RedHat Fedora 3 with the Sun
jdk1.4.2 installed.
Each testing server is configured to run rmiregistry and
jmeter-server. The first server (tester1) has its own IP address and
tester2's ip address specified in jmeter.properties, and I'm starting
things off on tester1 with:
./jmeter -r -n -t web_200user_5cycle.jmx
SOMETIMES... this works. Jmeter runs, it connects to the two rmi
listeners, and executes the testplan on the two servers.
OTHER times... this fails with the following inscrutable error on the
client:
2005/03/08 19:08:57 WARN - jmeter.engine.ClientJMeterEngine: Error
replacing
sample listeners java.lang.IndexOutOfBoundsException: Index: -1, Size: 7
at java.util.LinkedList.entry(LinkedList.java:360)
at java.util.LinkedList.set(LinkedList.java:317)
at
org.apache.jorphan.collections.ListedHashTree.replace(ListedHashTree.java:133)
at
org.apache.jmeter.engine.ConvertListeners.addNode(ConvertListeners.java:76)
at
org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:1011)
at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:990)
at
org.apache.jmeter.engine.ClientJMeterEngine.run(ClientJMeterEngine.java:115)
at java.lang.Thread.run(Thread.java:534)
2005/03/08 19:08:57 INFO - jmeter.engine.ClientJMeterEngine: sent host
=69.44.125.166
2005/03/08 19:08:57 INFO - jmeter.engine.ClientJMeterEngine: sent host
=69.44.125.167
2005/03/08 19:08:57 INFO - jmeter.engine.ClientJMeterEngine: sent test
2005/03/08 19:08:57 INFO - jmeter.engine.ClientJMeterEngine: sent run
command
2005/03/08 19:08:57 INFO - jmeter.engine.ClientJMeterEngine: sent test
2005/03/08 19:08:57 INFO - jmeter.engine.ClientJMeterEngine: sent run
command
...and on the servers:
java.lang.NullPointerException
at
org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:1012)
at
org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:1012)
at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:990)
at
org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:330)
When this happens, the client sits and spins, and nothing happens on
the servers.
...and yet OTHER times, the client fails immediately with the following error
looping in the log:
2005/03/08 19:15:52 INFO - jmeter.JMeter: Version 2_0.20050306
2005/03/08 19:15:53 INFO - jmeter.JMeter: java.version=1.4.2_07
2005/03/08 19:15:53 INFO - jmeter.JMeter: Copyright (c) 1998-2005 The Apache
Software Foundation
2005/03/08 19:15:53 INFO - jmeter.JMeter: Loading file:
Ignites_legacy_200_5.jmx
2005/03/08 19:15:53 INFO - jmeter.engine.ClientJMeterEngine: about to run
remote test
2005/03/08 19:15:53 IN2005/03/08 19:15:53 INFO -
jmeter.engine.RemoteJMeterEngineImpl: received host: 69.44.125.166
jmeter.engine.ClientJMeterEngine: running clientengine run method
2005/03/08 19:15:53 INFO - jmeter.engine.ClientJMeterEngine: about to run
remote test
2005/03/08 19:15:53 INFO - jmeter.engine.ClientJMeterEngine: done initiating
run command
2005/03/08 19:15:53 INFO - jmeter.engine.ClientJMeterEngine: running
clientengine run method
2005/03/08 19:15:53 INFO - jmeter.engine.ConvertListeners: num threads = 100
2005/03/08 19:15:53 INFO - jmeter.engine.ConvertListeners: num threads = 100
2005/03/08 19:15:53 INFO - jmeter.engine.ConvertListeners: num threads = 100
2005/03/08 19:15:53 INFO - jmeter.engine.ConvertListeners: num threads = 100
2005/03/08 19:15:53 WARN - jmeter.engine.ClientJMeterEngine: Error replacing
sample listeners java.lang.IndexOutOfBoundsException: Index: -1, Size: 7
at java.util.LinkedList.entry(LinkedList.java:360)
at java.util.LinkedList.set(LinkedList.java:317)
at
org.apache.jorphan.collections.ListedHashTree.replace(ListedHashTree.java:133)
at
org.apache.jmeter.engine.ConvertListeners.addNode(ConvertListeners.java:76)
at
org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:1011)
at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:990)
at
org.apache.jmeter.engine.ClientJMeterEngine.run(ClientJMeterEngine.java:115)
at java.lang.Thread.run(Thread.java:534)
2005/03/08 19:15:53 INFO - jmeter.engine.ClientJMeterEngine: sent host
=69.44.125.166
2005/03/08 19:15:53 INFO - jmeter.engine.ClientJMeterEngine: sent host
=69.44.125.167
2005/03/08 19:15:54 ERROR - jmeter.engine.ClientJMeterEngine:
java.rmi.ServerException: RemoteException occurred in server thread; nested
exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is:
java.io.OptionalDataException
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:292)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
at
org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub.configure(Unknown Source)
at
org.apache.jmeter.engine.ClientJMeterEngine.run(ClientJMeterEngine.java:126)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is:
java.io.OptionalDataException
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:249)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
... 1 more
Caused by: java.io.OptionalDataException
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1294)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at java.util.HashMap.readObject(HashMap.java:1005)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1810)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1772)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at java.util.HashMap.readObject(HashMap.java:1006)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:297)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:246)
... 6 more
2005/03/08 19:15:54 ERROR - jmeter.engine.ClientJMeterEngine:
java.rmi.ServerException: RemoteException occurred in server thread; nested
exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is:
java.io.OptionalDataException
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:292)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
at
org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub.configure(Unknown Source)
at
org.apache.jmeter.engine.ClientJMeterEngine.run(ClientJMeterEngine.java:126)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is:
java.io.OptionalDataException
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:249)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
... 1 more
Caused by: java.io.OptionalDataException
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1294)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at java.util.HashMap.readObject(HashMap.java:1005)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1810)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1772)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at java.util.HashMap.readObject(HashMap.java:1006)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:297)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:246)
... 6 more
When this condition occurs, the servers give no errors.
...and there seems to be no predictability whatsoever about when the
errors happen and when the testplan executes.
The errors happen at the same frequency in both the 2.0.2 release and
the latest nightly snapshot.
Er, help?
-n
-------------------------------------------------------------<[EMAIL PROTECTED]>
"This brings up the interesting problem that is all-pervasive in driving games
-- that San Francisco is seen as the best city in which to drive. Of course
the jumps are cool, but the harsh reality (and we at DailyRadar.com live there)
is that driving in San Francisco sucks ass. You can't turn left anywhere, ever,
and if you want to get to the Marina district, you have to be born there. It is
pretty though." (--Frank O'Connor)
<http://blank.org/memory/>-----------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]