Bug 64984 - Darklaf LAF: Selecting a Test element does not work under certain screen resolutions on Windows
Summary: Darklaf LAF: Selecting a Test element does not work under certain screen reso...
Status: RESOLVED FIXED
Alias: None
Product: JMeter
Classification: Unclassified
Component: Main (show other bugs)
Version: 5.4
Hardware: PC All
: P2 normal (vote)
Target Milestone: JMETER 5.4.1
Assignee: JMeter issues mailing list
URL:
Keywords: FixedInTrunk
Depends on:
Blocks:
 
Reported: 2020-12-14 10:12 UTC by Dietmar Berchtold
Modified: 2020-12-18 12:58 UTC (History)
2 users (show)



Attachments
Screenrecording (220.16 KB, image/gif)
2020-12-14 10:12 UTC, Dietmar Berchtold
Details
JMX file (4.12 KB, application/xml)
2020-12-14 10:13 UTC, Dietmar Berchtold
Details
Recording using AuthorizationManager (412.05 KB, image/gif)
2020-12-15 10:55 UTC, Dietmar Berchtold
Details
JMeter.log (8.86 KB, text/x-matlab)
2020-12-15 12:13 UTC, Dietmar Berchtold
Details
Full JMeter log (72.91 KB, text/plain)
2020-12-15 12:32 UTC, Dietmar Berchtold
Details
Screensettings (635.13 KB, image/png)
2020-12-17 19:25 UTC, Dietmar Berchtold
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dietmar Berchtold 2020-12-14 10:12:24 UTC
Created attachment 37607 [details]
Screenrecording

Steps to Reproduce:
- add Backendlistener to TestPlan
- try to select Backendlistener in Tree by clicking on icon/text area of Element
  -> found: Backendlistener is not selected

Workaround:
- click left to the icon/text area


java --version
java 11.0.1 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)

OS:
Microsoft Windows 10 Enterprise
10.0.19041
Comment 1 Dietmar Berchtold 2020-12-14 10:13:29 UTC
Created attachment 37608 [details]
JMX file
Comment 2 Dietmar Berchtold 2020-12-15 09:51:27 UTC
It looks like this is not only limited to BackendListener element. Also other elements are affected but only in some combinations. e.g. In a complex TestPlan with a lot of "Thread Groups" some "Thread Group" elements work as expect, others behave as described in the issue.
When using Version 5.3 of JMeter the issue does not occure.

I also tried the same Test Plan on an other Win 10 Machine. There I could not reproduce the error.
Comment 3 Philippe Mouawad 2020-12-15 09:53:53 UTC
Hello,
Can you test nightly build please ?
https://ci-builds.apache.org/job/JMeter/job/JMeter-trunk/lastSuccessfulBuild/artifact/src/dist/build/distributions/


We plan a release of 5.4.1 if it's ok.

Thanks
Comment 4 Dietmar Berchtold 2020-12-15 10:19:45 UTC
Hello, 
I tried using 5.4.1-SNAPSHOT 53c6db8. Unfortunately with the same result: Select element is broken.
Comment 5 Dietmar Berchtold 2020-12-15 10:55:28 UTC
Created attachment 37613 [details]
Recording using AuthorizationManager

Hello, I attached a recording of the issue where Authorization Manager element shows the issue.
It looks like Authorization Manager is also vulnerable fo the issue.
Comment 6 Felix Schumacher 2020-12-15 11:27:47 UTC
Thanks for testing. Are there any messages written to the log files (jmeter.log)?
Comment 7 Dietmar Berchtold 2020-12-15 12:13:31 UTC
Created attachment 37614 [details]
JMeter.log

Hello, 
there are no messages in the log when I click in the not responding area. 
You can follow the logs written in DEBUG mode in the attached "Recording using AuthorizationManager" file. 

In the attache JMeter.log there are the log entries 
- when clicking on ThreadGroup element (the Text)
- clicking on  Text of AuthorizationManager element -> NO log is written :) Nothing happens
- clicking on space on right side of AuthorizationManager element
Comment 8 Philippe Mouawad 2020-12-15 12:20:34 UTC
Hello,
On what OS and Java version are you facing this ?

Could you attach the whole jmeter.log ? 
Thanks
Comment 9 Dietmar Berchtold 2020-12-15 12:28:30 UTC
java --version
java 11.0.1 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)

OS:
Microsoft Windows 10 Enterprise
10.0.19041
Comment 10 Dietmar Berchtold 2020-12-15 12:32:04 UTC
Created attachment 37615 [details]
Full JMeter log
Comment 11 Dietmar Berchtold 2020-12-15 12:32:37 UTC
Hello,
attached the Full Log
Comment 12 Philippe Mouawad 2020-12-15 12:51:31 UTC
Hello,
Thanks for your feedback ! 
As a workaround, can you confirm that if you switch to System LAF and restart JMeter, you don't face the problem ?
Thanks


At team, I reported:

- https://github.com/weisJ/darklaf/issues/225



Regards
Philippe
Comment 13 Dietmar Berchtold 2020-12-15 13:11:48 UTC
Hello,
you are right. 
If I switch to any other LAF than Darklaf I don't face the problem. 
Even without restarting JMeter.

This workaround helps me a lot.
Thanks!
Comment 14 Philippe Mouawad 2020-12-17 17:19:21 UTC
Hello,
Could you please make this test as I don't reproduce the issue in any of the OSes I have.

0) Switch back to Darklaf

1) Find the line 151 of jmeter.bat:

=> set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m

3) Replace current value by:

=> set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m -Ddarklaf.treeRowPopup=true


3) Restart JMeter 

4) test again


We'll provide a fix but I want to be sure we are on right track.


Thanks in advance for your feedback.

Regards
Comment 15 Dietmar Berchtold 2020-12-17 18:14:41 UTC
Hello Philippe,
I tested with with changing line 151 to
set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m -Ddarklaf.treeRowPopup=true

unfortunately with no success. The issue still occures. I also tried with moving the line below the if (if not defined HEAP)

If you want me to check some other setting (e.g. use a differen JVM, other screenresolution than 3240x2160) just let me know.

Regards
Comment 16 Felix Schumacher 2020-12-17 18:30:48 UTC
I am curious, why you are using such an old version of JDK 11? Can you try a newer one? (I am still no able to reproduce the issue on my Windows test machine).

Are you using any third party plugins in your setup?
Comment 17 Dietmar Berchtold 2020-12-17 19:10:15 UTC
Hello,
I installed a new version of Java (15.0.1) and used also the Snapshot Version of JMeter with no additional Plugins.

Unfortunatly the issue still occures on my machine :(


Here the extract from JMeter.log from startup:
2020-12-17 19:42:10,494 INFO o.a.j.JMeter: Version 5.4.1-SNAPSHOT 53c6db8
2020-12-17 19:42:10,494 INFO o.a.j.JMeter: java.version=15.0.1
2020-12-17 19:42:10,494 INFO o.a.j.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM
2020-12-17 19:42:10,494 INFO o.a.j.JMeter: os.name=Windows 10
2020-12-17 19:42:10,495 INFO o.a.j.JMeter: os.arch=amd64
2020-12-17 19:42:10,495 INFO o.a.j.JMeter: os.version=10.0
2020-12-17 19:42:10,495 INFO o.a.j.JMeter: file.encoding=Cp1252

Regards
Comment 18 Dietmar Berchtold 2020-12-17 19:15:09 UTC
Hello again.

I tested again by setting a different screen resolution: 1920x1080
-> The issue disappeared, everything works fine!

setting back to screen resolution 3240x2160
-> The issue is back again.
Comment 19 Philippe Mouawad 2020-12-17 19:16:25 UTC
Hello Dietmar,
Did you test my proposal ?

Please set this:

-Ddarklaf.treeRowPopup=false

NO:
-Ddarklaf.treeRowPopup=true

Thanks
Comment 20 Philippe Mouawad 2020-12-17 19:20:17 UTC
(In reply to Dietmar Berchtold from comment #15)
> Hello Philippe,
> I tested with with changing line 151 to
> set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m -Ddarklaf.treeRowPopup=true
> 
> unfortunately with no success. The issue still occures. I also tried with
> moving the line below the if (if not defined HEAP)
> 
> If you want me to check some other setting (e.g. use a differen JVM, other
> screenresolution than 3240x2160) just let me know.
> 
> Regards

Hello Dietmar,
Sorry I missed this comment, I made a mistake in my comment, you need to set the property to false:

-Ddarklaf.treeRowPopup=false

Thanks
Comment 21 Dietmar Berchtold 2020-12-17 19:25:17 UTC
Created attachment 37625 [details]
Screensettings

An other test:
leave setting of screenresolution to high 3240x2160

Text size 225% -> isssue occures
Text size 200% -> issue does not occure.

see attached Screensettings
Comment 22 Dietmar Berchtold 2020-12-17 19:32:57 UTC
(In reply to Philippe Mouawad from comment #20)
> (In reply to Dietmar Berchtold from comment #15)
> > Hello Philippe,
> > I tested with with changing line 151 to
> > set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m -Ddarklaf.treeRowPopup=true
> > 
> > unfortunately with no success. The issue still occures. I also tried with
> > moving the line below the if (if not defined HEAP)
> > 
> > If you want me to check some other setting (e.g. use a differen JVM, other
> > screenresolution than 3240x2160) just let me know.
> > 
> > Regards
> 
> Hello Dietmar,
> Sorry I missed this comment, I made a mistake in my comment, you need to set
> the property to false:
> 
> -Ddarklaf.treeRowPopup=false
> 
> Thanks

YES with this setting it works correct. Also with the settings mentioned below about text size 225% versus 200%

So I can confirm your fix works.

Thanks a lot!
Comment 23 Philippe Mouawad 2020-12-18 12:58:23 UTC
This is an automated email from the ASF dual-hosted git repository.

pmouawad pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git


The following commit(s) were added to refs/heads/master by this push:
     new 655de1a  Bug 64984 - Darklaf LAF: Selecting a Test element does not work under certain screen resolutions on Windows
655de1a is described below

commit 655de1a8aa60c560e214bde06e6ca694d8619d5f
Author: pmouawad <p.mouawad@ubik-ingenierie.com>
AuthorDate: Fri Dec 18 13:54:50 2020 +0100

    Bug 64984 - Darklaf LAF: Selecting a Test element does not work under
    certain screen resolutions on Windows
---
 .../src/main/java/org/apache/jmeter/gui/action/LookAndFeelCommand.java | 3 +++
 xdocs/changes.xml                                                      | 2 ++
 2 files changed, 5 insertions(+)