Bug 64479

Summary: Regression: HTTP(s) Script Recorder prevents proper shutdown in non-GUI mode
Product: JMeter Reporter: honza
Component: MainAssignee: JMeter issues mailing list <issues>
Status: RESOLVED FIXED    
Severity: regression CC: p.mouawad
Priority: P2    
Version: 5.3   
Target Milestone: JMETER_5.4   
Hardware: PC   
OS: All   
Attachments: thread dump
jmeter.log file
List of plugins used
Picture of .jmx script used

Description honza 2020-05-28 17:20:48 UTC
Created attachment 37275 [details]
thread dump

After the upgrade to version 5.3 some of my scripts stopped working (works just fine on 5.2.1).
I have the same config on both versions of JMeter, also the same plugins.

When running the test I get the following:

Creating summariser <summary>
Created the tree successfully using ..\Scripts\AGReportGeneratorForAutomatization.jmx
Starting standalone test @ Thu May 28 19:07:55 CEST 2020 (1590685675948)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary =      2 in 00:00:11 =    0.2/s Avg:     0 Min:     0 Max:     1 Err:     0 (0.00%)
Tidying up ...    @ Thu May 28 19:08:09 CEST 2020 (1590685689077)
... end of run
The JVM should have exited but did not.
The following non-daemon threads are still running (DestroyJavaVM is OK):
Thread[AWT-Shutdown,5,system], stackTrace:java.lang.Object#wait
sun.awt.AWTAutoShutdown#run
java.lang.Thread#run

Thread[DestroyJavaVM,5,main], stackTrace:
Thread[AWT-EventQueue-0,6,main], stackTrace:sun.misc.Unsafe#park
java.util.concurrent.locks.LockSupport#park
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#await
java.awt.EventQueue#getNextEvent
java.awt.EventDispatchThread#pumpOneEventForFilters
java.awt.EventDispatchThread#pumpEventsForFilter
java.awt.EventDispatchThread#pumpEventsForHierarchy
java.awt.EventDispatchThread#pumpEvents
java.awt.EventDispatchThread#pumpEvents
java.awt.EventDispatchThread#run

jmeter.log attached.
Also, thread dump attached.
Comment 1 honza 2020-05-28 17:21:06 UTC
Created attachment 37276 [details]
jmeter.log file
Comment 2 Felix Schumacher 2020-05-28 17:48:23 UTC
Can you share more information about the scripts you use? Which features do they use? What third party plugins do you use? Is the problem happening without the plugins?
Comment 3 honza 2020-05-29 06:42:52 UTC
The script is basically just a Graphs Generator plugin listener in a thread group (see png attached, screenshot is taken from 5.2.1, but the script is the same).
I'll attach the list of plugins I'm using (all in their latest versions) as png as well.
Comment 4 honza 2020-05-29 06:43:49 UTC
Created attachment 37278 [details]
List of plugins used
Comment 5 honza 2020-05-29 06:44:14 UTC
Created attachment 37279 [details]
Picture of .jmx script used
Comment 6 Philippe Mouawad 2020-06-16 19:28:55 UTC
Hello,
I confirm this bug has no relation with 3rd party plugins.
It has been introduced by fix to Bug 64400

Thanks for report.
Regards
Comment 7 Philippe Mouawad 2020-06-16 19:29:42 UTC
As a workaround until a fix is delivered, remove Http(s) Test Script recorder from plan and issue will be resolved.
Comment 8 Philippe Mouawad 2020-06-16 21:35:06 UTC
Hello,
To be clear issue is related to javax.swing.Timer being created and started in constructor.
But never stopped.

Regards
Comment 9 honza 2020-06-17 08:20:26 UTC
(In reply to Philippe Mouawad from comment #7)
> As a workaround until a fix is delivered, remove Http(s) Test Script
> recorder from plan and issue will be resolved.

I confirm this is working. Thanks for your response!
Comment 10 Felix Schumacher 2020-06-17 10:38:57 UTC
Thanks for the report and Philippe for the debugging. A fix has been submitted in trunk.

@Honza Can you try out the next nightly or trunk build and report back, if it fixes your issue?

commit 913735db54bf5a2e0a1461aee0e110df19512424
AuthorDate: Wed Jun 17 12:20:21 2020 +0200

    Fix ProxyControl timer that prevents correct shutdown
    
    Regression introduced with Bug 64400
    
    Bugzilla Id: 64479
---
 .../java/org/apache/jmeter/protocol/http/proxy/ProxyControl.java | 9 ++++++++-
 xdocs/changes.xml                                                | 1 +
 2 files changed, 9 insertions(+), 1 deletion(-)
Comment 11 Philippe Mouawad 2020-06-24 06:53:29 UTC
Hello Honza,
My tests show it is fixed, what does yours do ?

I will close it as fixed for now, if it is not please reopen.

Thank you
Comment 12 honza 2020-07-10 13:00:44 UTC
Hi, sorry for the late response, I was on vacation.

I tested the fix on the r1781-fb66ca90547856d39b59e98b978cb551e53f5a04 build, and is now working as intended.
Test is OK, ticket can be closed.

Thanks a lot!