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} &gt; ${max} || ${nextId} == &quot;false&quot;</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} &gt; ${max} || ${nextId} == &quot;false&quot;</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