#11607 closed defect (fixed)
RangeViolatedError: the new range must be within a single subrange
Reported by: | Owned by: | team | |
---|---|---|---|
Priority: | major | Milestone: | 18.02 |
Component: | Core mappaint | Version: | tested |
Keywords: | range | Cc: | bastiK, Nzara, muerkelmann, v.v.chebotar@…, dieterdreist |
Description (last modified by )
Löschen von Zwischenpunkten bei Tramgleisen
Revision: 8491 Repository Root: http://josm.openstreetmap.de/svn Relative URL: ^/trunk Last Changed Author: Don-vip Last Changed Date: 2015-06-16 23:27:08 +0200 (Tue, 16 Jun 2015) Build-Date: 2015-06-16 21:45:58 URL: http://josm.openstreetmap.de/svn/trunk Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last Changed Rev: 8491 Identification: JOSM/1.5 (8491 de) Windows 7 64-Bit Memory Usage: 742 MB / 910 MB (244 MB allocated, but free) Java version: 1.8.0_45, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM Dataset consistency test: No problems found Plugins: - ImportImagePlugin (31241) - PicLayer (31241) - RoadSigns (31241) - buildings_tools (31241) - ext_tools (31241) - geotools (31126) - jts (31126) - log4j (31231) - measurement (31241) - turnrestrictions (31241) - utilsplugin2 (31241) Last errors/warnings: - E: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange. Ursache: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange. Ursache: java.lang.AssertionError: the new range must be within a single subrange - E: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange. Ursache: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange. Ursache: java.lang.AssertionError: the new range must be within a single subrange - E: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange. Ursache: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange. Ursache: java.lang.AssertionError: the new range must be within a single subrange - E: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange. Ursache: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange. Ursache: java.lang.AssertionError: the new range must be within a single subrange - E: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange. Ursache: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange. Ursache: java.lang.AssertionError: the new range must be within a single subrange java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer$ConcurrentTasksHelper.process(StyledMapRenderer.java:1626) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.render(StyledMapRenderer.java:1660) at org.openstreetmap.josm.gui.layer.OsmDataLayer.paint(OsmDataLayer.java:347) at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:534) at org.openstreetmap.josm.gui.MapView.paint(MapView.java:634) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JSplitPane.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$4.run(Unknown Source) at javax.swing.RepaintManager$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.access$1300(Unknown Source) at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(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) Caused by: java.util.concurrent.ExecutionException: java.lang.AssertionError: the new range must be within a single subrange at java.util.concurrent.FutureTask.report(Unknown Source) at java.util.concurrent.FutureTask.get(Unknown Source) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer$ConcurrentTasksHelper.process(StyledMapRenderer.java:1623) ... 52 more Caused by: java.lang.AssertionError: the new range must be within a single subrange at org.openstreetmap.josm.gui.mappaint.StyleCache.putImpl(StyleCache.java:187) at org.openstreetmap.josm.gui.mappaint.StyleCache.put(StyleCache.java:141) at org.openstreetmap.josm.gui.mappaint.StyleCache.put(StyleCache.java:132) at org.openstreetmap.josm.gui.mappaint.ElemStyles.getStyleCacheWithRange(ElemStyles.java:130) at org.openstreetmap.josm.gui.mappaint.ElemStyles.get(ElemStyles.java:68) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer$ComputeStyleListWorker.add(StyledMapRenderer.java:1572) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer$ComputeStyleListWorker.visit(StyledMapRenderer.java:1555) at org.openstreetmap.josm.data.osm.Relation.accept(Relation.java:167) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer$ComputeStyleListWorker.call(StyledMapRenderer.java:1507) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer$ComputeStyleListWorker.call(StyledMapRenderer.java:1473) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
Attachments (0)
Change History (28)
comment:1 by , 10 years ago
Component: | Core → Core mappaint |
---|---|
Description: | modified (diff) |
Summary: | Löschen von Zwischenpunkten bei Tramgleisen → AssertionError: the new range must be within a single subrange |
comment:2 by , 10 years ago
Cc: | added |
---|
comment:3 by , 10 years ago
comment:4 by , 10 years ago
Hallo bastiK,
The JOSM Standard (MapCSS) was active while deleting points. Further I used the Potlatch 2.
Yes, I deleted a set of not necessary points of a tram track. So I usually marked the point and pressed the delete key.
Kind Regards, Lars
comment:6 by , 10 years ago
Please add another report if it happens with JOSM version >= 8575 (should contain more details about the error). Also, if you can describe how to reproduce the problem reliably, this would be extremely helpful.
comment:11 by , 7 years ago
Cc: | added |
---|---|
Keywords: | range added |
Priority: | normal → major |
Summary: | AssertionError: the new range must be within a single subrange → RangeViolatedError: the new range must be within a single subrange |
comment:12 by , 7 years ago
List of duplicate tickets: #11963 #13170 #14342 #14504 #15486 #15658
The last one includes a small list of map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/PTStops&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1 + https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransportV2&zip=1 - http://www.openrailwaymap.org/styles/maxspeed.zip - http://www.openrailwaymap.org/styles/standard.zip - http://www.openrailwaymap.org/styles/electrified.zip - http://www.openrailwaymap.org/styles/signals.zip - https://josm.openstreetmap.de/josmfile?page=Styles/Power&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/PowerMapping&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/LessObtrusiveNodes&zip=1
and some debug info:
java.lang.AssertionError: Range violated: the new range must be within a single subrange (2) - object: way 28167237 - current style: org.openstreetmap.josm.gui.mappaint.StyleCache@1cf7a298 - scale: 1249.5028181264659 - new stylelist: [LineElemStyle{z_idx=[3.0/0.0/0.0] width=2.0 realWidth=0.0 color=#404040 dashed=[9.0, 9.0] dashedColor=#ffffff linejoin=round linecap=none}] - new range: |s955.4628535647032-Infinity
org.openstreetmap.josm.gui.mappaint.DividedScale$RangeViolatedError: the new range must be within a single subrange (2) at org.openstreetmap.josm.gui.mappaint.DividedScale.putImpl(DividedScale.java:147) at org.openstreetmap.josm.gui.mappaint.DividedScale.put(DividedScale.java:102) at org.openstreetmap.josm.gui.mappaint.StyleCache.put(StyleCache.java:50) at org.openstreetmap.josm.gui.mappaint.ElemStyles.getStyleCacheWithRange(ElemStyles.java:191)
comment:16 by , 7 years ago
comment:17 by , 7 years ago
I finally managed to (accidentally) reproduce this issue! I will keep JOSM running so that I can connect VisualVM. Is there something in particular you would like to know/have to debug?
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2018-01-31 16:13:51 +0100 (Wed, 31 Jan 2018) Revision:13376 Build-Date:2018-02-01 02:32:13 URL:http://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (13376 en) Windows 10 64-Bit OS Build number: Windows 10 Pro 1709 (16299) Memory Usage: 421 MB / 4088 MB (144 MB allocated, but free) Java version: 9.0.4+11, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM Screen: \Display0 1920x1080, \Display1 1920x1080, \Display2 1280x1024 Maximum Screen Size: 1920x1080 VM arguments: [--add-modules=ALL-DEFAULT,javafx.deploy, -Djava.security.manager, -Djava.util.Arrays.useLegacyMergeSort=true, --add-modules=java.activation,java.se.ee, --add-exports=java.base/sun.security.util=ALL-UNNAMED, --add-exports=java.base/sun.security.x509=ALL-UNNAMED, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-exports=javafx.graphics/com.sun.javafx.application=ALL-UNNAMED, --add-exports=jdk.deploy/com.sun.deploy.config=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djnlpx.jvm=<java.home>\bin\javaw.exe, -Djnlpx.home=<java.home>, -Djnlpx.remove=false, -Djnlpx.offline=false, -Djnlpx.relaunch=true, -Djnlpx.session.data=%UserProfile%\AppData\Local\Temp\session5115672980912310574, -Djnlpx.heapsize=NULL,NULL, -Djava.security.policy=file:<java.home>\conf\security\javaws.policy, -DtrustProxy=true, -Djnlpx.origFilenameArg=%UserProfile%\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\31\583aa85f-116ee0e0, --illegal-access=deny, --add-modules=ALL-DEFAULT, --add-exports=java.base/com.sun.net.ssl.internal.ssl=jdk.deploy, --add-exports=java.base/jdk.internal.misc=jdk.deploy, --add-exports=java.base/jdk.internal.util.jar=jdk.deploy, --add-exports=java.base/sun.net.www=jdk.deploy, --add-exports=java.base/sun.net.www.protocol.file=jdk.deploy, --add-exports=java.base/sun.net.www.protocol.http=jdk.deploy, --add-exports=java.base/sun.net.www.protocol.http.ntlm=jdk.deploy, --add-exports=java.base/sun.net.www.protocol.https=jdk.deploy, --add-exports=java.base/sun.net.www.protocol.jar=jdk.deploy, --add-exports=java.base/sun.nio=jdk.deploy, --add-exports=java.base/sun.reflect.misc=jdk.deploy, --add-exports=java.base/sun.security.action=jdk.deploy, --add-exports=java.base/sun.security.pkcs=jdk.deploy, --add-exports=java.base/sun.security.provider=jdk.deploy, --add-exports=java.base/sun.security.provider.certpath=jdk.deploy, --add-exports=java.base/sun.security.rsa=jdk.deploy, --add-exports=java.base/sun.security.ssl=jdk.deploy, --add-exports=java.base/sun.security.timestamp=jdk.deploy, --add-exports=java.base/sun.security.util=jdk.deploy, --add-exports=java.base/sun.security.validator=jdk.deploy, --add-exports=java.base/sun.security.x509=jdk.deploy, --add-exports=java.base/sun.usagetracker=jdk.deploy, --add-exports=java.desktop/sun.awt=jdk.deploy, --add-exports=java.naming/com.sun.jndi.toolkit.url=jdk.deploy, --add-exports=java.base/jdk.internal.misc=jdk.javaws, --add-exports=java.desktop/com.sun.media.sound=jdk.javaws, --add-exports=java.desktop/sun.awt=jdk.javaws, --add-exports=java.desktop/sun.awt.image=jdk.javaws, --add-exports=java.base/jdk.internal.misc=jdk.plugin, --add-exports=java.base/sun.net=jdk.plugin, --add-exports=java.base/sun.net.www=jdk.plugin, --add-exports=java.base/sun.net.www.protocol.jar=jdk.plugin, --add-exports=java.base/sun.security.action=jdk.plugin, --add-exports=java.base/sun.security.util=jdk.plugin, --add-exports=java.desktop/com.sun.media.sound=jdk.plugin, --add-exports=java.desktop/java.awt.peer=jdk.plugin, --add-exports=java.desktop/sun.applet=jdk.plugin, --add-exports=java.desktop/sun.applet.resources=jdk.plugin, --add-exports=java.desktop/sun.awt=jdk.plugin, --add-exports=java.desktop/sun.awt.windows=jdk.plugin, --add-exports=java.desktop/sun.swing=jdk.plugin, --add-exports=jdk.jsobject/jdk.internal.netscape.javascript.spi=jdk.plugin, --add-exports=java.desktop/sun.awt.image=jdk.plugin, -Djdk.module.main=jdk.plugin] Dataset consistency test: No problems found Plugins: + apache-commons (33668) + buildings_tools (34040) + cadastre-fr (33965) + ejml (32680) + geotools (33958) + jts (32699) + opendata (34019) + reverter (34036) + utilsplugin2 (33991) Map paint styles: + https://pasharm.github.io/New_basic_style_for_JOSM/New_basic_style.mapcss Last errors/warnings: - W: Unable to convert property color to type class java.awt.Color: found # of type class java.lang.String! - W: Unable to convert property color to type class java.awt.Color: found # of type class java.lang.String! - W: Unable to convert property color to type class java.awt.Color: found # of type class java.lang.String! - W: Unable to convert property color to type class java.awt.Color: found # of type class java.lang.String! - W: Unable to convert property color to type class java.awt.Color: found # of type class java.lang.String! - W: Unable to convert property color to type class java.awt.Color: found # of type class java.lang.String! - E: Handled by bug report queue: java.lang.AssertionError. Cause: java.lang.AssertionError. Cause: java.lang.AssertionError: Range violated: the new range must be within a single subrange (2) (object: node 1249091578, current style: StyleCache{PLAIN: DS{[0.0, 477.7314267823516, 15287.405657035251, Infinity] [null, [NodeElement{z_idx=[4.95/0.0/0.0] symbol=[symbolShape=CIRCLE size=0 stroke=java.awt.BasicStroke@d1a0003e strokeColor=java.awt.Color[r=74,g=74,b=74] fillColor=java.awt.Color[r=255,g=255,b=255]]}], null]} SELECTED: null}, scale: 181.03084829524738, new stylelist: [NodeElement{z_idx=[4.95/0.0/0.0] symbol=[symbolShape=CIRCLE size=0 stroke=java.awt.BasicStroke@d1a0003e strokeColor=java.awt.Color[r=74,g=74,b=74] fillColor=java.awt.Color[r=255,g=255,b=255]]}], new range: |s119.4328566955879-15287.405657035251). Cause: org.openstreetmap.josm.gui.mappaint.DividedScale$RangeViolatedError: the new range must be within a single subrange (2) - E: Handled by bug report queue: java.lang.AssertionError. Cause: java.lang.AssertionError. Cause: java.lang.AssertionError: Range violated: the new range must be within a single subrange (2) (object: node 1249091578, current style: StyleCache{PLAIN: DS{[0.0, 477.7314267823516, 15287.405657035251, Infinity] [null, [NodeElement{z_idx=[4.95/0.0/0.0] symbol=[symbolShape=CIRCLE size=0 stroke=java.awt.BasicStroke@d1a0003e strokeColor=java.awt.Color[r=74,g=74,b=74] fillColor=java.awt.Color[r=255,g=255,b=255]]}], null]} SELECTED: null}, scale: 181.0297716733981, new stylelist: [NodeElement{z_idx=[4.95/0.0/0.0] symbol=[symbolShape=CIRCLE size=0 stroke=java.awt.BasicStroke@d1a0003e strokeColor=java.awt.Color[r=74,g=74,b=74] fillColor=java.awt.Color[r=255,g=255,b=255]]}], new range: |s119.4328566955879-15287.405657035251). Cause: org.openstreetmap.josm.gui.mappaint.DividedScale$RangeViolatedError: the new range must be within a single subrange (2) - E: Handled by bug report queue: java.lang.AssertionError. Cause: java.lang.AssertionError. Cause: java.lang.AssertionError: Range violated: the new range must be within a single subrange (2) (object: node 1249091578, current style: StyleCache{PLAIN: DS{[0.0, 477.7314267823516, 15287.405657035251, Infinity] [null, [NodeElement{z_idx=[4.95/0.0/0.0] symbol=[symbolShape=CIRCLE size=0 stroke=java.awt.BasicStroke@d1a0003e strokeColor=java.awt.Color[r=74,g=74,b=74] fillColor=java.awt.Color[r=255,g=255,b=255]]}], null]} SELECTED: null}, scale: 181.02957592390706, new stylelist: [NodeElement{z_idx=[4.95/0.0/0.0] symbol=[symbolShape=CIRCLE size=0 stroke=java.awt.BasicStroke@d1a0003e strokeColor=java.awt.Color[r=74,g=74,b=74] fillColor=java.awt.Color[r=255,g=255,b=255]]}], new range: |s119.4328566955879-15287.405657035251). Cause: org.openstreetmap.josm.gui.mappaint.DividedScale$RangeViolatedError: the new range must be within a single subrange (2) - E: Handled by bug report queue: java.lang.AssertionError. Cause: java.lang.AssertionError. Cause: java.lang.AssertionError: Range violated: the new range must be within a single subrange (2) (object: node 1249091578, current style: StyleCache{PLAIN: DS{[0.0, 477.7314267823516, 15287.405657035251, Infinity] [null, [NodeElement{z_idx=[4.95/0.0/0.0] symbol=[symbolShape=CIRCLE size=0 stroke=java.awt.BasicStroke@d1a0003e strokeColor=java.awt.Color[r=74,g=74,b=74] fillColor=java.awt.Color[r=255,g=255,b=255]]}], null]} SELECTED: null}, scale: 181.02957592390706, new stylelist: [NodeElement{z_idx=[4.95/0.0/0.0] symbol=[symbolShape=CIRCLE size=0 stroke=java.awt.BasicStroke@d1a0003e strokeColor=java.awt.Color[r=74,g=74,b=74] fillColor=java.awt.Color[r=255,g=255,b=255]]}], new range: |s119.4328566955879-15287.405657035251). Cause: org.openstreetmap.josm.gui.mappaint.DividedScale$RangeViolatedError: the new range must be within a single subrange (2) === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: AWT-EventQueue-2 (35) of javawsApplicationThreadGroup java.lang.AssertionError at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source) at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(Unknown Source) at java.base/java.util.concurrent.ForkJoinTask.reportException(Unknown Source) at java.base/java.util.concurrent.ForkJoinTask.join(Unknown Source) at java.base/java.util.concurrent.ForkJoinPool.invoke(Unknown Source) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.paintWithLock(StyledMapRenderer.java:1604) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.render(StyledMapRenderer.java:1574) 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 java.desktop/javax.swing.JComponent.paintChildren(Unknown Source) at java.desktop/javax.swing.JComponent.paint(Unknown Source) at java.desktop/javax.swing.JComponent.paintToOffscreen(Unknown Source) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(Unknown Source) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source) at java.desktop/javax.swing.RepaintManager$PaintManager.paint(Unknown Source) at java.desktop/javax.swing.RepaintManager.paint(Unknown Source) at java.desktop/javax.swing.JComponent._paintImmediately(Unknown Source) at java.desktop/javax.swing.JComponent.paintImmediately(Unknown Source) at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source) at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source) at java.desktop/javax.swing.RepaintManager.access$1200(Unknown Source) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source) at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.EventQueue.access$500(Unknown Source) at java.desktop/java.awt.EventQueue$3.run(Unknown Source) at java.desktop/java.awt.EventQueue$3.run(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.lang.AssertionError at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source) at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(Unknown Source) at java.base/java.util.concurrent.ForkJoinTask.reportException(Unknown Source) at java.base/java.util.concurrent.ForkJoinTask.join(Unknown Source) at org.openstreetmap.josm.data.osm.visitor.paint.ComputeStyleListWorker.compute(ComputeStyleListWorker.java:97) at org.openstreetmap.josm.data.osm.visitor.paint.ComputeStyleListWorker.compute(ComputeStyleListWorker.java:34) at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source) at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source) at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) Caused by: java.lang.AssertionError: Range violated: the new range must be within a single subrange (2) (object: node 1249091578, current style: StyleCache{PLAIN: DS{[0.0, 477.7314267823516, 15287.405657035251, Infinity] [null, [NodeElement{z_idx=[4.95/0.0/0.0] symbol=[symbolShape=CIRCLE size=0 stroke=java.awt.BasicStroke@d1a0003e strokeColor=java.awt.Color[r=74,g=74,b=74] fillColor=java.awt.Color[r=255,g=255,b=255]]}], null]} SELECTED: null}, scale: 181.03084829524738, new stylelist: [NodeElement{z_idx=[4.95/0.0/0.0] symbol=[symbolShape=CIRCLE size=0 stroke=java.awt.BasicStroke@d1a0003e strokeColor=java.awt.Color[r=74,g=74,b=74] fillColor=java.awt.Color[r=255,g=255,b=255]]}], new range: |s119.4328566955879-15287.405657035251) at org.openstreetmap.josm.gui.mappaint.ElemStyles.getStyleCacheWithRange(ElemStyles.java:194) at org.openstreetmap.josm.gui.mappaint.ElemStyles.get(ElemStyles.java:127) at org.openstreetmap.josm.data.osm.visitor.paint.ComputeStyleListWorker.add(ComputeStyleListWorker.java:152) at org.openstreetmap.josm.data.osm.visitor.paint.ComputeStyleListWorker.visit(ComputeStyleListWorker.java:133) at org.openstreetmap.josm.data.osm.Node.accept(Node.java:223) at org.openstreetmap.josm.data.osm.visitor.paint.ComputeStyleListWorker.acceptDrawable(ComputeStyleListWorker.java:124) at org.openstreetmap.josm.data.osm.visitor.paint.ComputeStyleListWorker.computeDirectly(ComputeStyleListWorker.java:111) at org.openstreetmap.josm.data.osm.visitor.paint.ComputeStyleListWorker.compute(ComputeStyleListWorker.java:88) ... 5 more Caused by: org.openstreetmap.josm.gui.mappaint.DividedScale$RangeViolatedError: the new range must be within a single subrange (2) at org.openstreetmap.josm.gui.mappaint.DividedScale.putImpl(DividedScale.java:147) at org.openstreetmap.josm.gui.mappaint.DividedScale.put(DividedScale.java:102) at org.openstreetmap.josm.gui.mappaint.StyleCache.put(StyleCache.java:50) at org.openstreetmap.josm.gui.mappaint.ElemStyles.getStyleCacheWithRange(ElemStyles.java:191) ... 12 more
follow-ups: 20 21 comment:19 by , 7 years ago
Great :) I have sent you the heap dump by mail.
What I did:
- launched josm latest in jnlp with java 9.0.4
- ran overpass api request to download footways in Toulouse:
<tag key='query' value='[out:xml][timeout:50];
{{geocodeArea:Toulouse}}->.searchArea;
(
 way["highway"="path"](area.searchArea);
 way["highway"="footway"](area.searchArea);
 way["foot"="yes"](area.searchArea);
);
(._;>;);
out meta;'/>
- selected everything tagged with "sidewalk" and purge it
- right click to drag the map => boum
comment:21 by , 7 years ago
Replying to Don-vip:
Great :) I have sent you the heap dump by mail.
What I did:
- launched josm latest in jnlp with java 9.0.4
- ran overpass api request to download footways in Toulouse:
<tag key='query' value='[out:xml][timeout:50];
{{geocodeArea:Toulouse}}->.searchArea;
(
 way["highway"="path"](area.searchArea);
 way["highway"="footway"](area.searchArea);
 way["foot"="yes"](area.searchArea);
);
(._;>;);
out meta;'/>- selected everything tagged with "sidewalk" and purge it
- right click to drag the map => boum
Okay, this one I can understand:
As the node has a parent way tagged footway=sidewalk
and highway=footway
the purging changes the applicable selectors, e.g. a rule like
way[highway]>node|z16-16 { symbol-shape: circle; symbol-size: 6; symbol-fill-color: #ffffff; symbol-stroke-color: #4A4A4A; }
no longer applies. Any action where a selector changes the evaluation status, but the style cache is not cleared for that primitive, can lead to range violation error.
The fix in this case should be to add
MapPaintStyles.getStyles().clearCached();
at some point after purging. I'll finish the fix on Sunday, unless you beat me to it.
comment:23 by , 7 years ago
There may be other paths to trigger this error, but let's close the ticket for now.
comment:24 by , 7 years ago
Milestone: | → 18.02 |
---|
comment:26 by , 7 years ago
Cc: | removed |
---|
comment:27 by , 7 years ago
For the record, there are several strategies to deal with this error:
(a) Downgrade the exception to a warning message on the console. At the moment, it is so rare that no one will ever notice.
(b) Use a stable, but less efficient caching system. This means getting rid of the fragile code, at the cost of performance: The style would be recomputed at each zoom level, regardless of the zoom selector in the mapcss style.
(c) Carry on as we do now, i.e. try to find the root cause(s) and fix.
Thanks for reporting the problem! Which map styles were active when this happened? Just the default map style or did you load additional ones?
Is it correct that you got this error in select mode directly after pressing the delete key on the keyboard (with one node selected)?