#6821 closed defect (fixed)
509 - "You have downloaded to much data" causes unhandled exception
Reported by: | rasher | Owned by: | team |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Core | Version: | |
Keywords: | template_report | Cc: |
Description (last modified by )
During my mapping I ended up exceeding OSM's bandwidth quota. At first I didn't realise that, since it simply looked like JOSM was crashing, the way I was doing it.
What steps will reproduce the problem?
- Download lots of data to get over the quota (damn)
- Download a single way through "Download Object"
- Try to use the "Download along way" plugin to download the area along the way
What is the expected result?
Either the request succeeds, or a useful error message is presented.
What happens instead?
An empty "error during download" message box and then a crash report.
Additionally, if I try to download an area through the slippy map, I'm simply told (instantly) that the connection timed out.
Please provide any additional information below. Attach a screenshot if
possible.
Repository Root: http://josm.openstreetmap.de/svn Build-Date: 2011-09-10 01:32:12 Last Changed Author: xeen Revision: 4412 Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b URL: http://josm.openstreetmap.de/svn/trunk Last Changed Date: 2011-09-09 16:32:17 +0200 (Fri, 09 Sep 2011) Last Changed Rev: 4412 Identification: JOSM/1.5 (4412 da) Memory Usage: 306 MB / 910 MB (149 MB allocated, but free) Java version: 1.6.0_22, Sun Microsystems Inc., Java HotSpot(TM) 64-Bit Server VM Operating system: Windows 7 Dataset consistency test: No problems found Plugin: FastDraw (26606) Plugin: ImproveWayAccuracy (26610) Plugin: buildings_tools (26606) Plugin: download_along (26606) Plugin: licensechange (26606) Plugin: openvisible (26606) Plugin: restart (26606) java.lang.ClassCastException: javax.swing.JLabel cannot be cast to javax.swing.text.JTextComponent at javax.swing.text.html.EditableView.paint(Unknown Source) at javax.swing.text.BoxView.paintChild(Unknown Source) at javax.swing.text.BoxView.paint(Unknown Source) at javax.swing.text.BoxView.paintChild(Unknown Source) at javax.swing.text.BoxView.paint(Unknown Source) at javax.swing.text.ParagraphView.paint(Unknown Source) at javax.swing.text.html.ParagraphView.paint(Unknown Source) at javax.swing.text.BoxView.paintChild(Unknown Source) at javax.swing.text.BoxView.paint(Unknown Source) at javax.swing.text.html.BlockView.paint(Unknown Source) at javax.swing.text.BoxView.paintChild(Unknown Source) at javax.swing.text.BoxView.paint(Unknown Source) at javax.swing.text.html.BlockView.paint(Unknown Source) at javax.swing.plaf.basic.BasicHTML$Renderer.paint(Unknown Source) at javax.swing.plaf.basic.BasicLabelUI.paint(Unknown Source) at javax.swing.plaf.ComponentUI.update(Unknown Source) at javax.swing.JComponent.paintComponent(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JLayeredPane.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paintToOffscreen(Unknown Source) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source) at javax.swing.RepaintManager$PaintManager.paint(Unknown Source) at javax.swing.RepaintManager.paint(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source) at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source) at sun.awt.SunGraphicsCallback.runComponents(Unknown Source) at java.awt.Container.paint(Unknown Source) at java.awt.Window.paint(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.Dialog$1.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.Dialog$1.run(Unknown Source) at java.awt.Dialog$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Unknown Source) at java.awt.Component.show(Unknown Source) at java.awt.Component.setVisible(Unknown Source) at java.awt.Window.setVisible(Unknown Source) at java.awt.Dialog.setVisible(Unknown Source) at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$3.run(PleaseWaitProgressMonitor.java:83) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
Attachments (1)
Change History (18)
comment:1 by , 13 years ago
comment:4 by , 13 years ago
Priority: | normal → major |
---|
comment:5 by , 13 years ago
How should we handle this issue ? I think if we can evaluate the amount of data that is going to be downloaded (in case of an update, it should be possible), and compare it to the bandwidth limit (does someone know this value ?), JOSM could display a confirmation popup before updating the data for good, explaining to the user that this operation could lead him to be unable to download any more data for some time.
In all cases, we should handle properly the 509 HTTP error code to make a comprehensible error message.
comment:6 by , 13 years ago
This is not a one-time download limit, but rather me getting rate-limited due to downloading lots of data during the past couple of hours. Indeed the individual download I tried at the time I generated this ticket was just a few hundred square metres. So I don't think JOSM can reasonably guess that it's going to be over the limit. Simply reacting sensibly to the error should be sufficient, I'd say.
comment:12 by , 13 years ago
OK, it seems the bug is not strictly related to the reception of a HTTP 509 error code but an internal Swing anomaly when displaying special HTML characters in a JOptionPane. The toString() method of OsmApiException uses '<' and '>', we need to escape these characters to avoid this problem. Fix in progress (I'm trying to reach this bandwidth limit to validate my patch).
comment:14 by , 13 years ago
Should be fixed, let me know if you manage to get a proper 509 error dialog (I only achieved to get a HTTP 500 error).
comment:15 by , 13 years ago
Description: | modified (diff) |
---|---|
Resolution: | → fixed |
Status: | new → closed |
by , 13 years ago
Attachment: | josm-toomuch-ok.png added |
---|
This is the error message displayed from JOSM 4540 :)
comment:17 by , 13 years ago
With 4549, I'm getting a proper 509 error message. 4487 would just tell me that communication with the API server timed out (instantly).
Ticket #6846 has been marked as a duplicate of this ticket.