You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Tanya Powell <po...@your-system.de> on 2006/09/16 13:25:15 UTC
NPE in HashTree.traverseInto()
Hello people,
For no reason that I can think of, I am getting this exception
in batch Mode, witch I am not getting in gui mode. The log file (DEBUG-level)
just stops without further comments.
Created the tree successfully
Starting the test
(that was the beanshell server startup)
java.lang.NullPointerException
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:956)
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:302)
at java.lang.Thread.run(Unknown Source)
JMeters last entry in the log file was:
2006/09/16 13:13:28 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
Next is the end, initiated by a beanshell server command:
2006/09/16 13:14:23 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
Yesterday, I worked a lot with cut and paste in the file to transfer arguments
between Samplers. Everything worked fine. No errors on the same test plan.
Hm. If anyone wants to look at my test plan (the list won't accept it inline
because it is too big) I would be happy to send it privately, please let me
know.
Thanks for any help,
Tanya
P.S. I am working with jmeter 2.2. The testplan version looks like this:
<jmeterTestPlan version="1.2" properties="1.8">
[...]
</jmeterTestPlan>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
Re: NPE in HashTree.traverseInto()
Posted by Tanya Powell <po...@your-system.de>.
Hello Jaw,
thanks again for taking an interest. I think it might be difficult for you
to find the problem with just the test plan file, because I source so
many other scripts around the test plan. However, I have located
the spot by removing pieces of the test plan using the gui.
It is the hashtree inside
LoadTest->Random Order Controller->User-Session-Module->
Quicksearch-Module->While Next Result->If Controller.
Maybe you can reproduce it by pasting the code snippets below
in another test plan. I have deactivated line wrapping in my mail client
so you might find the lines intact in yours if you deactivate wrapping
too.
When I put one item into the If controller, it works with
GUI and NON-Gui, when there is more than one item in
the If Controller, it only works in the gui and not in batch mode.
Funny thing is, with "one item", I mean actually two items -
a HTTP Sampler and an Include Controller which includes
three other HTTP Samplers that need to be called after each
HTTP Sampler. Hm. This is probably hard to understand.
I have managed to get around the problem both by placing
my samplers in three subsequent if controllers instead of one,
and by placing the six samplers in three subsequent simple
controllers inside one if controller.
I am still puzzled. I don't think I will be able to come up with the reason
why this NPE happens.
Regards,
Tanya
So, this works in gui and batch mode:
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
<stringProp name="IfController.condition">${loopCount} > ${max} || ${nextId} == "false"</stringProp>
</IfController>
<hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="order activity" enabled="true"/>
<hashTree>
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="setorder#${username}/activity" enabled="true">
<stringProp name="HTTPSampler.path">/${username}/search/setorder</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.port"></stringProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">activity</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">sort_order</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">list</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">mode</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">quicksearch</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">search_name</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">${nextId}</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">batch_start</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.mimetype"></stringProp>
<stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
<stringProp name="HTTPSampler.monitor">false</stringProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.FILE_NAME"></stringProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
</HTTPSampler>
<hashTree/>
<IncludeController guiclass="IncludeControllerGui" testclass="IncludeController" testname="Ajax-LoggedIn-Requests" enabled="true">
<stringProp name="IncludeController.includepath">/test/Ajax-LoggedIn-Requests.jmx</stringProp>
</IncludeController>
<hashTree/>
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="order age" enabled="true"/>
<hashTree>
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="setorder#${username}/age" enabled="true">
<stringProp name="HTTPSampler.path">/${username}/search/setorder</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.port"></stringProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">age</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">sort_order</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">list</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">mode</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">quicksearch</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">search_name</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">${nextId}</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">batch_start</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.mimetype"></stringProp>
<stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
<stringProp name="HTTPSampler.monitor">false</stringProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.FILE_NAME"></stringProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
</HTTPSampler>
<hashTree/>
<IncludeController guiclass="IncludeControllerGui" testclass="IncludeController" testname="Ajax-LoggedIn-Requests" enabled="true">
<stringProp name="IncludeController.includepath">/test/Ajax-LoggedIn-Requests.jmx</stringProp>
</IncludeController>
<hashTree/>
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="order new" enabled="true"/>
<hashTree>
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="setorder#${username}/new" enabled="true">
<stringProp name="HTTPSampler.path">/${username}/search/setorder</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.port"></stringProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">new</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">sort_order</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">list</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">mode</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">quicksearch</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">search_name</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">${nextId}</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">batch_start</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.mimetype"></stringProp>
<stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
<stringProp name="HTTPSampler.monitor">false</stringProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.FILE_NAME"></stringProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
</HTTPSampler>
<hashTree/>
<IncludeController guiclass="IncludeControllerGui" testclass="IncludeController" testname="Ajax-LoggedIn-Requests" enabled="true">
<stringProp name="IncludeController.includepath">/test/Ajax-LoggedIn-Requests.jmx</stringProp>
</IncludeController>
<hashTree/>
</hashTree>
</hashTree>
And this works in gui, but not in batch-mode:
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
<stringProp name="IfController.condition">${loopCount} > ${max} || ${nextId} == "false"</stringProp>
</IfController>
<hashTree>
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="setorder#${username}/activity" enabled="true">
<stringProp name="HTTPSampler.path">/${username}/search/setorder</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.port"></stringProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">activity</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">sort_order</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">list</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">mode</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">quicksearch</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">search_name</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">${nextId}</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">batch_start</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.mimetype"></stringProp>
<stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
<stringProp name="HTTPSampler.monitor">false</stringProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.FILE_NAME"></stringProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
</HTTPSampler>
<hashTree/>
<IncludeController guiclass="IncludeControllerGui" testclass="IncludeController" testname="Ajax-LoggedIn-Requests" enabled="true">
<stringProp name="IncludeController.includepath">/test/Ajax-LoggedIn-Requests.jmx</stringProp>
</IncludeController>
<hashTree/>
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="setorder#${username}/age" enabled="true">
<stringProp name="HTTPSampler.path">/${username}/search/setorder</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.port"></stringProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">age</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">sort_order</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">list</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">mode</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">quicksearch</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">search_name</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">${nextId}</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">batch_start</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.mimetype"></stringProp>
<stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
<stringProp name="HTTPSampler.monitor">false</stringProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.FILE_NAME"></stringProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
</HTTPSampler>
<hashTree/>
<IncludeController guiclass="IncludeControllerGui" testclass="IncludeController" testname="Ajax-LoggedIn-Requests" enabled="true">
<stringProp name="IncludeController.includepath">/test/Ajax-LoggedIn-Requests.jmx</stringProp>
</IncludeController>
<hashTree/>
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="setorder#${username}/new" enabled="true">
<stringProp name="HTTPSampler.path">/${username}/search/setorder</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.port"></stringProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">new</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">sort_order</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">list</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">mode</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">quicksearch</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">search_name</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name="" elementType="HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">${nextId}</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">batch_start</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.mimetype"></stringProp>
<stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
<stringProp name="HTTPSampler.monitor">false</stringProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.FILE_NAME"></stringProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
</HTTPSampler>
<hashTree/>
<IncludeController guiclass="IncludeControllerGui" testclass="IncludeController" testname="Ajax-LoggedIn-Requests" enabled="true">
<stringProp name="IncludeController.includepath">/test/Ajax-LoggedIn-Requests.jmx</stringProp>
</IncludeController>
<hashTree/>
</hashTree>
Re: NPE in HashTree.traverseInto()
Posted by Jaw Dat <id...@gmail.com>.
Hello Tanya,
I would be very happy to look at your test plan. Thanks for offering :)
Cheers.
On Sat, 2006-09-16 at 13:25 +0200, Tanya Powell wrote:
> Hello people,
>
> For no reason that I can think of, I am getting this exception
> in batch Mode, witch I am not getting in gui mode. The log file (DEBUG-level)
> just stops without further comments.
>
> Created the tree successfully
> Starting the test
> (that was the beanshell server startup)
>
> java.lang.NullPointerException
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:956)
> at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:302)
> at java.lang.Thread.run(Unknown Source)
>
> JMeters last entry in the log file was:
> 2006/09/16 13:13:28 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
>
> Next is the end, initiated by a beanshell server command:
> 2006/09/16 13:14:23 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
>
>
> Yesterday, I worked a lot with cut and paste in the file to transfer arguments
> between Samplers. Everything worked fine. No errors on the same test plan.
> Hm. If anyone wants to look at my test plan (the list won't accept it inline
> because it is too big) I would be happy to send it privately, please let me
> know.
>
> Thanks for any help,
>
> Tanya
>
>
> P.S. I am working with jmeter 2.2. The testplan version looks like this:
>
> <jmeterTestPlan version="1.2" properties="1.8">
> [...]
> </jmeterTestPlan>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
Re: NPE in HashTree.traverseInto()
Posted by sebb <se...@gmail.com>.
NPE errors are always a bug ;-) - please could you raise a Buzilla report?
It would be useful to know (please add to the report):
Does the same problem occur if you add the Include controller manually?
If the included files are different, does the NPE still occur, or is
it only when the same file is included?
S///
On 18/09/06, Tanya Powell <po...@your-system.de> wrote:
> Hello everyone,
>
> it seems that I have found the exact circumstances under
> which the NPE occurs. Re-using an Include-Controller
> (via copy+paste in the gui) inside the same parent controller
> always causes an NPE in batch-Mode.
> Can anyone confirm this? Is JMeter supposed to act
> like this?
>
> Regards,
> Tanya
>
> Am Samstag 16 September 2006 13:25 schrieb Tanya Powell:
> > Hello people,
> >
> > For no reason that I can think of, I am getting this exception
> > in batch Mode, witch I am not getting in gui mode. The log file (DEBUG-level)
> > just stops without further comments.
> >
> > Created the tree successfully
> > Starting the test
> > (that was the beanshell server startup)
> >
> > java.lang.NullPointerException
> > at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> > at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> > at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> > at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> > at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> > at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> > at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> > at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:956)
> > at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:302)
> > at java.lang.Thread.run(Unknown Source)
> >
> > JMeters last entry in the log file was:
> > 2006/09/16 13:13:28 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
> >
> > Next is the end, initiated by a beanshell server command:
> > 2006/09/16 13:14:23 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
> >
> >
> > Yesterday, I worked a lot with cut and paste in the file to transfer arguments
> > between Samplers. Everything worked fine. No errors on the same test plan.
> > Hm. If anyone wants to look at my test plan (the list won't accept it inline
> > because it is too big) I would be happy to send it privately, please let me
> > know.
> >
> > Thanks for any help,
> >
> > Tanya
> >
> >
> > P.S. I am working with jmeter 2.2. The testplan version looks like this:
> >
> > <jmeterTestPlan version="1.2" properties="1.8">
> > [...]
> > </jmeterTestPlan>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
> >
> >
> >
>
> --
> powell your system
> Turnerstr. 3 Fon: +49 (0)40 4321 359-0
> D-20357 Hamburg Fax: +49 (0)40 4321 359-9
> mailto:powell@your-system.de http://www.your-system.de
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
Re: NPE in HashTree.traverseInto()
Posted by Tanya Powell <po...@your-system.de>.
Hello everyone,
it seems that I have found the exact circumstances under
which the NPE occurs. Re-using an Include-Controller
(via copy+paste in the gui) inside the same parent controller
always causes an NPE in batch-Mode.
Can anyone confirm this? Is JMeter supposed to act
like this?
Regards,
Tanya
Am Samstag 16 September 2006 13:25 schrieb Tanya Powell:
> Hello people,
>
> For no reason that I can think of, I am getting this exception
> in batch Mode, witch I am not getting in gui mode. The log file (DEBUG-level)
> just stops without further comments.
>
> Created the tree successfully
> Starting the test
> (that was the beanshell server startup)
>
> java.lang.NullPointerException
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:973)
> at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:956)
> at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:302)
> at java.lang.Thread.run(Unknown Source)
>
> JMeters last entry in the log file was:
> 2006/09/16 13:13:28 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
>
> Next is the end, initiated by a beanshell server command:
> 2006/09/16 13:14:23 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
>
>
> Yesterday, I worked a lot with cut and paste in the file to transfer arguments
> between Samplers. Everything worked fine. No errors on the same test plan.
> Hm. If anyone wants to look at my test plan (the list won't accept it inline
> because it is too big) I would be happy to send it privately, please let me
> know.
>
> Thanks for any help,
>
> Tanya
>
>
> P.S. I am working with jmeter 2.2. The testplan version looks like this:
>
> <jmeterTestPlan version="1.2" properties="1.8">
> [...]
> </jmeterTestPlan>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>
>
--
powell your system
Turnerstr. 3 Fon: +49 (0)40 4321 359-0
D-20357 Hamburg Fax: +49 (0)40 4321 359-9
mailto:powell@your-system.de http://www.your-system.de
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org