Modify

Opened 18 months ago

Last modified 18 months ago

#23130 new defect

Randomly UI panels are re-rendering on wrong position

Reported by: marek.barinka@… Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report, graphics, UI, user interface Cc:

Description

What steps will reproduce the problem?

Not 100 %, but best I have

  1. Download something using Overpass API
  2. Try to download something using Overpass API, but have invalid query
  3. Observe broken UI

What is the expected result?

After closing error message, app works normally

What happens instead?

After closing error message, UI Panels (JPanel ?) starts to rendering on wrong places. Looks like it uses cursor position as top-left corner.

Please provide any additional information below. Attach a screenshot if possible.

Windows 11 Home, fully updated.
Happened on several Java versions (jdk 8, almost latest and latest, jdk 17, jdk 20), but it is random bug. I am not sure, but I have feeling I saw similar issue some time ago in different java app, but wasn't sucessfull.
GPU drivers should also be latest.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2023-07-31 18:33:06 +0200 (Mon, 31 Jul 2023)
Revision:18789
Build-Date:2023-08-01 01:30:56
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (18789 en) Windows 11 64-Bit
OS Build number: Windows 10 Home 2009 (22621)
Memory Usage: 2016 MB / 8180 MB (572 MB allocated, but free)
Java version: 20.0.2+9-78, Oracle Corporation, OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920×1080 (scaling 1.00×1.00) \Display1 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: Cp1250
Locale info: en_CZ
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djosm.home=<josm.pref>]
Program arguments: [--debug]
Dataset consistency test: No problems found

Last errors/warnings:
- 00000.381 W: extended font config - overriding 'filename.Malgun_Gothic=malgun.ttf' with 'MALGUN.TTF'
- 00000.384 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF'
- 00000.384 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF'
- 00001.513 W: Unable to request certificate of https://roottest-g3.pkioverheid.nl
- 00001.809 W: Unable to request certificate of https://roottest-g3.pkioverheid.nl
- 00363.771 E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<line 4: parse error: ; expected - ) found.>, Error Body=<<?xml version="1.0" encoding="UTF-8"?>
- 00363.780 E: Bad Request - <html>The OSM server 'overpass-api.de' reported a bad request.<br><br>Error message(untranslated): line 4: parse error: ; expected - ) found. </html>

Attachments (4)

BrokenUI.png (884.9 KB ) - added by marek.barinka@… 18 months ago.
Broken UI 1
BrokenUI2.png (252.9 KB ) - added by marek.barinka@… 18 months ago.
Broken UI 2
log-visualbug.txt (6.6 MB ) - added by marek.barinka@… 18 months ago.
Full log 1
log.txt (53.9 KB ) - added by marek.barinka@… 18 months ago.
Full log from instance I created bug using in app button

Change History (9)

by marek.barinka@…, 18 months ago

Attachment: BrokenUI.png added

Broken UI 1

by marek.barinka@…, 18 months ago

Attachment: BrokenUI2.png added

Broken UI 2

by marek.barinka@…, 18 months ago

Attachment: log-visualbug.txt added

Full log 1

by marek.barinka@…, 18 months ago

Attachment: log.txt added

Full log from instance I created bug using in app button

comment:1 by taylor.smock, 18 months ago

Keywords: graphics UI user interface added

After closing error message, UI Panels (JPanel ?) starts to rendering on wrong places. Looks like it uses cursor position as top-left corner.

This almost sounds like a java bug. I remember looking at some graphical issue that another user had, and was never able to reproduce. I think they fixed it by changing the GPU, but I'd have to find the ticket again.

In any case, JOSM core doesn't do anything directly with the GPU; most everything we use is "standard" swing components, which are part of the JDK.

You probably don't have a spare graphics card/machine; if you did, I'd ask you to test against that.

comment:2 by marek.barinka@…, 18 months ago

If I don't forget after work, I will try to test it on older notebook I have and will post results here.

comment:3 by marek.barinka@…, 18 months ago

Sorry for late reply, spent about 2 days updating the notebook I didn't start in half a year, maybe one year.
Tried to break it, probably on integrated Intel HD Graphic and geForce 950M, but unsuccessfull.
So probably some weird component "collision" creating this bug - not sure if just the GPU (if it would be just GPU, it should be much more discussed as geForce 1660 is pretty popular) or some kind of running SW collision (is it possible that some other app works with GPU and java request fails or something like that?).

Thanks for your time and try to help me.

comment:4 by taylor.smock, 18 months ago

At time of writing, the geforce 1660 (ti + super + non-super) has ~5.7% of the market share, according to the steam hardware survey. It was released back in 2019.

Can you try setting -Dsun.java2d.opengl=true or -Dsun.java2d.d3d=false in %LocalAppData%/JOSM/app/JOSM.cfg (so add a line saying java-options=-Dsun.java2d.opengl=true).

comment:5 by marek.barinka@…, 18 months ago

Finally got to try it (too much work).
Tried both, one by one. Both arguments seems to work, based on so far shorter testing.
Will try to use -Dsun.java2d.opengl=true more and we will see.
Thank you very much.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to marek.barinka@….
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.