Modify

Opened 9 years ago

Closed 9 years ago

Last modified 4 years ago

#11123 closed defect (fixed)

IllegalArgumentException when resizing window with active notes popup

Reported by: aseerel4c26 Owned by: Don-vip
Priority: trivial Milestone: 15.02
Component: Core notes Version: latest
Keywords: window resize IllegalArgumentException html metal javabug Cc:

Description

tested with: "lastest" (8072) with fresh settings and "tested" (7995) with usual osm working settings

What steps will reproduce the problem?

  1. download a note (core)
  2. open a notes popup (either by clicking on the notes symbol in the map or by clicking on a notes line in the notes dialog
  3. make the window width smaller... that small that the map part is about less than 20 px wide.

What is the expected result?

nothing, as it happens when you do not have a notes popup showing

What happens instead?

exception in the terminal and window about "unerwarteter Fehler". Not a problem except that it is annoying to close the many (for each pixel change while dragging the window border) exception windows.

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

Revision: 8072
Repository Root: http://josm.openstreetmap.de/svn
Relative URL: ^/trunk
Last Changed Author: Don-vip
Last Changed Date: 2015-02-15 22:15:48 +0100 (Sun, 15 Feb 2015)
Build-Date: 2015-02-15 21:20:34
URL: http://josm.openstreetmap.de/svn/trunk
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last Changed Rev: 8072

Java version: 1.8 ...

From terminal:

Fehler: java.lang.IllegalArgumentException: Width and height must be >= 0
java.lang.IllegalArgumentException: Width and height must be >= 0
        at javax.swing.plaf.basic.BasicHTML.getHTMLBaseline(BasicHTML.java:86)
        at javax.swing.plaf.metal.MetalToolTipUI.paint(MetalToolTipUI.java:112)
        at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
        at javax.swing.JComponent.paintComponent(JComponent.java:778)
        at javax.swing.JComponent.paint(JComponent.java:1054)
        at org.openstreetmap.josm.gui.layer.NoteLayer.paint(NoteLayer.java:153)
        at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:536)
        at org.openstreetmap.josm.gui.MapView.paint(MapView.java:635)
        at javax.swing.JComponent.paintChildren(JComponent.java:887)
        at javax.swing.JComponent.paint(JComponent.java:1063)
        at javax.swing.JComponent.paintChildren(JComponent.java:887)
        at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1047)
        at javax.swing.JComponent.paint(JComponent.java:1063)
        at javax.swing.JComponent.paintChildren(JComponent.java:887)
        at javax.swing.JComponent.paint(JComponent.java:1063)
        at javax.swing.JComponent.paintChildren(JComponent.java:887)
        at javax.swing.JComponent.paint(JComponent.java:1063)
        at javax.swing.JComponent.paintChildren(JComponent.java:887)
        at javax.swing.JComponent.paint(JComponent.java:1063)
        at javax.swing.JComponent.paintChildren(JComponent.java:887)
        at javax.swing.JComponent.paint(JComponent.java:1063)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
        at javax.swing.JComponent.paintChildren(JComponent.java:887)
        at javax.swing.JComponent.paintToOffscreen(JComponent.java:5229)
        at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
        at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
        at javax.swing.JComponent.paint(JComponent.java:1040)
        at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
        at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
        at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
        at java.awt.Container.paint(Container.java:1973)
        at java.awt.Window.paint(Window.java:3901)
        at javax.swing.RepaintManager$4.run(RepaintManager.java:835)
        at javax.swing.RepaintManager$4.run(RepaintManager.java:807)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
        at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
        at javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
        at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:702)
        at java.awt.EventQueue$3.run(EventQueue.java:696)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Attachments (0)

Change History (13)

comment:1 by Don-vip, 9 years ago

Owner: set to aseerel4c26
Status: newneedinfo

I can't reproduce, can you please attach your entire status report ? We need all info in it, why did you truncate it ?

comment:2 by aseerel4c26, 9 years ago

Okay, interesting. The missing info of the status report: http://sebsauvage.net/paste/?c173eeae23f2de9c#dNoDTkOcEiBjOXZEx31rFOVGj/305XdLBSxM9jQigyg= (still, a part is redacted since this is personal information should not be public). I also do not want my system detail to be public forever(!) in a machine readable form - which is the case if I paste it here.

comment:3 by aseerel4c26, 9 years ago

Owner: aseerel4c26 removed
Status: needinfonew

comment:4 by Don-vip, 9 years ago

Sorry but java version and distribution name is no public information but needed technical info. It's annoying to ask it every time and loose precious time. If you don't want to help me that's your choice I'll wait for a more cooperative bug report.

comment:5 by aseerel4c26, 9 years ago

what is "public" and what not is a personal judgement. You already got the info now, so what? This is the first bug report where you/someone else could not reproduce it (with the information provided). It is also annoying to get such a disrespectful comment from you.

My bug reports are not helpful? Okay, fine, I will not report anymore then. Just tell me.

Version 2, edited 9 years ago by aseerel4c26 (previous) (next) (diff)

comment:6 by Don-vip, 9 years ago

Truncating on purpose the bug reports by removing critical debug information is also disrespectful against developers. We have plenty of bugs that depend on a specific version of Java, or especially on Linux, on bugged implementations of some distros (for some time the icedtea-6 package provided by Debian or Ubuntu was severely flawed. Right now the openjdk-8 package provided by OpenSUSE is totally unusable. We have some other bugs only affecting Mint, for example). So yes, knowing the Linux distribution is required as a first step of the bug analysis in order to be able to reproduce it.

Your reports are helpful, thanks, but we're lucky everyone is not so reluctant to share their bug reports or I would have stopped to fix bugs long ago. I'll try to reproduce it on Ubuntu. Right now I don't understand why I wasn't able to reproduce it with the same version of Java.

comment:7 by aseerel4c26, 9 years ago

Thanks for your explanations. I have written you a OSM mail concerning the kind-of dispute.

If you cannot reproduce it on a usual Linux system with the OpenJDK 8 then it is fine, just close this bug report since it does not cause a big problem anyway.

comment:8 by aseerel4c26, 9 years ago

I could not reproduce it with the "latest" 8072 on Windows 7 (64 bit) with

  • Java 7.0.550 (64 bit)
  • Java 8.0.310 (64 bit)
    • Identification: JOSM/1.5 (8072 de) Windows 7 64-Bit
    • Memory Usage: 178 MB / 1820 MB (82 MB allocated, but free)
    • Java version: 1.8.0_31, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM

I will try to find another system where I can reproduce it ...

  • I tried on my system under a simple twm graphical environment, also happens.
  • I tried on a spare (older) notebook with the same (publicly undisclosed Linux distribution): also happens. It also has the latest OpenJDK 8 (but 32 bit).

In the next days I will try to find another system with another Linux distribution to test it. Would be good if someone could try with an easier available Linux system (e.g. a common ubuntu) to test it.

Last edited 9 years ago by aseerel4c26 (previous) (diff)

comment:9 by Don-vip, 9 years ago

Ok thanks for the investigation. If I cannot reproduce it I will still implement a blind workaround. It's always better however to be able to check the correction.

comment:10 by Don-vip, 9 years ago

Keywords: html metal javabug added
Milestone: 15.02

OK reproduced on Ubuntu, and on Windows too by enabling the Metal L&F. It's a bug of Java (javabug:6719550) itself that can happen even if our tooltip has positive dimensions. Netbeans guys already encountered the bug and silently ignored the exception, I'll do the same.

comment:11 by Don-vip, 9 years ago

Owner: set to Don-vip
Resolution: fixed
Status: newclosed

In 8079/josm:

fix #11123 - IllegalArgumentException when resizing window with active notes popup

comment:12 by aseerel4c26, 9 years ago

Ah, nice... what an old java bug ...

Thank you! I have tested it with 8081: it just outputs the spam "Fehler: java.lang.IllegalArgumentException: Width and height must be >= 0" to the terminal but does not show a popup. So, it is better now, yes.

comment:13 by skyper, 4 years ago

See #19585 where it is back.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Don-vip.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


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