Bug 49734 - Null pointer exception on stop Threads command (Run>Stop)
Null pointer exception on stop Threads command (Run>Stop)
Status: RESOLVED FIXED
Product: JMeter
Classification: Unclassified
Component: Main
2.4
PC Windows XP
: P2 major (vote)
: ---
Assigned To: JMeter issues mailing list
:
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2010-08-10 07:17 UTC by stef
Modified: 2010-11-16 05:12 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description stef 2010-08-10 07:17:15 UTC
Some times when asking jmeter to stop a running thread group a null pointer exception is thrown and the window saying "Stopping Threads" remains displayed.
The exception is:
Exception in thread "Thread-357" java.lang.NullPointerException
	at org.apache.jmeter.engine.StandardJMeterEngine.tellThreadsToStop(StandardJMeterEngine.java:542)
	at org.apache.jmeter.engine.StandardJMeterEngine.access$700(StandardJMeterEngine.java:57)
	at org.apache.jmeter.engine.StandardJMeterEngine$StopTest.run(StandardJMeterEngine.java:357)
	at java.lang.Thread.run(Unknown Source)

It seams a null check on the Thread object retreived should be done in this method:

    private void tellThreadsToStop() {
        synchronized (allThreads) { // Protect iterator
            Iterator<JMeterThread> iter = new HashSet<JMeterThread>(allThreads.keySet()).iterator();
            while (iter.hasNext()) {
                JMeterThread item = iter.next();
                item.stop(); // set stop flag
                item.interrupt(); // interrupt sampler if possible
                Thread t = allThreads.get(item);
                t.interrupt(); // also interrupt JVM thread           // <-- Line 542
            }
        }
    }

Regards,

Stephane
Comment 1 Sebb 2010-08-16 12:31:12 UTC
Thanks for the report; fixed in SVN:

URL: http://svn.apache.org/viewvc?rev=986020&view=rev
Log:
Bug 49734 - Null pointer exception on stop Threads command (Run>Stop)

Modified:
   jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
   jakarta/jmeter/trunk/xdocs/changes.xml
Comment 2 Cheng Chi 2010-11-16 02:52:57 UTC
(In reply to comment #1)
> Thanks for the report; fixed in SVN:
> 
> URL: http://svn.apache.org/viewvc?rev=986020&view=rev
> Log:
> Bug 49734 - Null pointer exception on stop Threads command (Run>Stop)
> 
> Modified:
>   
> jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
>    jakarta/jmeter/trunk/xdocs/changes.xml

Hi, Sebb, 

The Fix is confused, can you explain why t can be 'null' here or shall we need to dig the root cause deeper? :)

if (t != null ) { // Bug 49734
t.interrupt(); // also interrupt JVM thread
} 

Thanks!
Cheng Chi
Comment 3 Sebb 2010-11-16 05:12:28 UTC
See the original bug report stack trace.