Modify

Opened 7 years ago

Last modified 7 years ago

#15925 new defect

AIOOBE in Java2D rendering code (wireframe/AA mode with large dataset)

Reported by: marc_marc Owned by: team
Priority: normal Milestone:
Component: Core mappaint Version:
Keywords: template_report javabug Cc:

Description (last modified by Klumbumbus)

What steps will reproduce the problem?

  1. use "download from overpass api"
  2. use this query
    [out:xml][timeout:600];
    (
      relation[type=boundary][boundary=administrative][admin_level=2]["is_in:continent"="Europe"];
    );
    out meta;
    >;
    out meta qt;
    
  3. run the query

What is the expected result?

download boundary or display an error message like "query too big"

What happens instead?

crash popup :)

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

URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2018-01-28 23:08:56 +0100 (Sun, 28 Jan 2018)
Build-Date:2018-01-28 22:25:44
Revision:13367
Relative:URL: ^/trunk

Identification: JOSM/1.5 (13367 fr) Linux CentOS Linux 7 (Core)
Memory Usage: 1162 MB / 1717 MB (146 MB allocated, but free)
Java version: 1.8.0_161-b14, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1600x900
Maximum Screen Size: 1600x900
Java package: java-1.8.0-openjdk:x86_64-1.8.0.161
WebStart package: icedtea-web:x86_64-1.6.2
VM arguments: [-Dicedtea-web.bin.name=javaws.itweb, -Dicedtea-web.bin.location=/usr/bin/javaws.itweb]
Dataset consistency test: No problems found

Plugins:
+ HouseNumberTaggingTool (33904)
+ Mapillary (v1.5.10)
+ OpeningHoursEditor (33876)
+ RoadSigns (33798)
+ apache-commons (33668)
+ apache-http (32699)
+ buildings_tools (34040)
+ cadastre-fr (33965)
+ changeset-viewer (1518145917)
+ conflation (0.5.6)
+ continuosDownload (68)
+ ejml (32680)
+ geotools (33958)
+ imagery_offset_db (33774)
+ jogl (1.1.0)
+ jts (32699)
+ log4j (32699)
+ opendata (34019)
+ photo_geotagging (33967)
+ photoadjust (33746)
+ pt_assistant (33860)
+ reverter (34036)
+ tag2link (33934)
+ todo (30303)
+ turnrestrictions (33780)
+ utilsplugin2 (33991)
+ wikipedia (33993)

Tagging presets:
+ https://raw.github<user.name>content.com/yopaseopor/traffic_signs_preset_JOSM/master/CH.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/Light_sources&zip=1
+ http://zibi.openstreetmap.org.pl/kendzi/k/Simple3dPreset/s3db-preset.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/Addr2&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/BuildingPreset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1
+ https://raw.github<user.name>content.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.xml
+ http://osmtools.de/josm/steps.xml

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/BesideTheRoad_Speed&zip=1
- https://raw.github<user.name>content.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1
- https://www.dropbox.com/s/qo3ai47fpv241jf/Styles_Fixme_and_Notes.zip?raw=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/SimpleBuildingTags&zip=1
- https://raw.github<user.name>content.com/yopaseopor/traffic_signs_style_JOSM/master/Styles_Traffic_signs_EUR.zip
- https://josm.openstreetmap.de/josmfile?page=Styles/light_source&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&zip=1
- https://raw.github<user.name>content.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Noname&zip=1

Validator rules:
+ https://raw.github<user.name>content.com/nlehuby/transport_mapcss/master/transport.validator.mapcss
+ http://www.openrailwaymap.org/validator/openrailwaymap.validator.mapcss
+ https://raw.github<user.name>content.com/stefan-a-bauer/josm-validators/master/mtb.validator.mapcss

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: 80132
- E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-1 (33) of JOSM
java.lang.ArrayIndexOutOfBoundsException: 80132
	at sun.java2d.pisces.Renderer$ScanlineIterator.next(Renderer.java:81)
	at sun.java2d.pisces.Renderer$ScanlineIterator.access$600(Renderer.java:32)
	at sun.java2d.pisces.Renderer._endRendering(Renderer.java:450)
	at sun.java2d.pisces.Renderer.endRendering(Renderer.java:534)
	at sun.java2d.pisces.PiscesRenderingEngine.getAATileGenerator(PiscesRenderingEngine.java:564)
	at sun.java2d.pipe.AAShapePipe.renderPath(AAShapePipe.java:152)
	at sun.java2d.pipe.AAShapePipe.draw(AAShapePipe.java:64)
	at sun.java2d.pipe.PixelToParallelogramConverter.draw(PixelToParallelogramConverter.java:148)
	at sun.java2d.SunGraphics2D.draw(SunGraphics2D.java:2497)
	at org.openstreetmap.josm.data.osm.visitor.paint.WireframeMapRenderer.displaySegments(WireframeMapRenderer.java:453)
	at org.openstreetmap.josm.data.osm.visitor.paint.WireframeMapRenderer.displaySegments(WireframeMapRenderer.java:442)
	at org.openstreetmap.josm.data.osm.visitor.paint.WireframeMapRenderer.render(WireframeMapRenderer.java:183)
	at org.openstreetmap.josm.gui.layer.OsmDataLayer.paint(OsmDataLayer.java:474)
	at org.openstreetmap.josm.gui.layer.AbstractMapViewPaintable$CompatibilityModeLayerPainter.paint(AbstractMapViewPaintable.java:27)
	at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:470)
	at org.openstreetmap.josm.gui.MapView.drawMapContent(MapView.java:586)
	at org.openstreetmap.josm.gui.MapView.paint(MapView.java:492)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1047)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
	at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doBeginTask$3(PleaseWaitProgressMonitor.java:256)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doInEDT$0(PleaseWaitProgressMonitor.java:114)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	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 (4)

comment:1 by Klumbumbus, 7 years ago

Description: modified (diff)

comment:2 by Don-vip, 7 years ago

Component: CoreCore mappaint
Keywords: javabug added
Summary: crash on overpass query "is_in:continent"="Europe"AIOOBE in Java2D rendering code (wireframe/AA mode with large dataset)

comment:3 by marc_marc, 7 years ago

if I uncheck "zoom to downloaded data", the download work fine.
zoom with keybord shortcut "1" crash
it also crash with zoom out (at zoom level 2-5 depending the area)

comment:4 by Don-vip, 7 years ago

Ticket #16124 has been marked as a duplicate of this ticket.

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 marc_marc.
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.