Opened 14 years ago
Closed 14 years ago
#6578 closed defect (fixed)
turnlanes crash when shortening turnlane to a negative length
Reported by: | Pepou | Owned by: | benshu |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Plugin turnlanes | Version: | latest |
Keywords: | negative length turnlane | Cc: |
Description
I have created a T-crossing of 2+1 ways and 1 crossing point. I've created one turning lane, grabbed its border with mouse and shortened it. After crossing the zero position, a crash dialog appeared. The crash report got uploaded to the server (a few hours ago).
I have to resolve my data' inconsistencies first, to get it uploaded, then I'll try to reproduce the problem and describe it in detail.
Attachments (1)
Change History (9)
follow-up: 2 comment:1 by , 14 years ago
Owner: | changed from | to
---|---|
Status: | new → needinfo |
follow-up: 5 comment:2 by , 14 years ago
Replying to skyper:
Replying to Pepou:
The crash report got uploaded to the server (a few hours ago).
Note: the report gets copied to paste buffer and if you click on one of the links above the report (think it is the second one) a new, prefilled ticket will be created.
If you do not use this link, you have to copy the report manually (its already copied to buffer) and you have to manually upload it somehow. (best include as block code in this ticket). There exist no automatic upload function for reports !
I'll get used to it. Upon reading the (overVERBOSE!) report, I've got the feeling that it gets successfully uploaded :-(
Do you really mean the turnrestriction plugin ?
What you have described above sounds to me more like the turnlanes plugin.
I'm sorry for my confusion, it was off course the turnlanes plugin (I'm realizing there are both turnlanes and turnrestriction plugins).
comment:3 by , 14 years ago
Component: | Plugin turnrestrictions → Plugin turnlanes |
---|
comment:4 by , 14 years ago
Summary: | turnrestriction crash when shortening turnlane to a negative length → turnlanes crash when shortening turnlane to a negative length |
---|
comment:5 by , 14 years ago
Replying to Pepou:
Replying to skyper:
Replying to Pepou:
The crash report got uploaded to the server (a few hours ago).
I'll get used to it. Upon reading the (overVERBOSE!) report, I've got the feeling that it gets successfully uploaded :-(
I forget to mention if you do not know, yet, that you can always save a data layer to file and load it later again, and that you can use several data layers and copy objects from one to another and also download the same area in different layers.
Do you really mean the turnrestriction plugin ?
What you have described above sounds to me more like the turnlanes plugin.
I'm sorry for my confusion, it was off course the turnlanes plugin (I'm realizing there are both turnlanes and turnrestriction plugins).
I get the same error:
- just create a junction or use a existing one. (I have tested T-Junction and X-Junction)
- In turnlanes toggle dialog: add a turnlane, select it and move the length node into across the junction (negative value).
I get following exception:
Repository Root: http://josm.openstreetmap.de/svn Build-Date: 2011-07-12 01:31:43 Last Changed Author: stoecker Revision: 4228 Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b URL: http://josm.openstreetmap.de/svn/trunk Last Changed Date: 2011-07-11 15:53:09 +0200 (Mon, 11 Jul 2011) Last Changed Rev: 4228 Identification: JOSM/1.5 (4228 en) Memory Usage: 93 MB / 508 MB (5 MB allocated, but free) Java version: 1.6.0_18, Sun Microsystems Inc., OpenJDK Client VM Operating system: Linux Dataset consistency test: No problems found Plugin: Curves (16.master-4f7c5a0) Plugin: OpeningHoursEditor (26284)s Plugin: alignways (26174) Plugin: buildings_tools (26254) Plugin: multipoly-convert (26254) Plugin: reltoolbox (26299) Plugin: reverter (26254) Plugin: terracer (26174) Plugin: turnlanes (26299) Plugin: undelete (26254) Plugin: utilsplugin2 (26295) Plugin: waydownloader (26174) java.lang.IllegalArgumentException: from > to at org.openstreetmap.josm.plugins.turnlanes.gui.Path$Start.subpath(Path.java:522) at org.openstreetmap.josm.plugins.turnlanes.gui.Path$Line.subpath(Path.java:221) at org.openstreetmap.josm.plugins.turnlanes.gui.LaneGui.recalculate(LaneGui.java:328) at org.openstreetmap.josm.plugins.turnlanes.gui.RoadGui.paintLanes(RoadGui.java:714) at org.openstreetmap.josm.plugins.turnlanes.gui.RoadGui.paintLanes(RoadGui.java:658) at org.openstreetmap.josm.plugins.turnlanes.gui.RoadGui.paint(RoadGui.java:586) at org.openstreetmap.josm.plugins.turnlanes.gui.JunctionPane.paintPassive(JunctionPane.java:446) at org.openstreetmap.josm.plugins.turnlanes.gui.JunctionPane.paintComponent(JunctionPane.java:386) at javax.swing.JComponent.paint(JComponent.java:1029) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5138) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:302) at javax.swing.RepaintManager.paint(RepaintManager.java:1145) at javax.swing.JComponent._paintImmediately(JComponent.java:5086) at javax.swing.JComponent.paintImmediately(JComponent.java:4896) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:740) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:696) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:676) at javax.swing.RepaintManager.access$700(RepaintManager.java:57) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1550) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647) at java.awt.EventQueue.access$000(EventQueue.java:96) at java.awt.EventQueue$1.run(EventQueue.java:608) at java.awt.EventQueue$1.run(EventQueue.java:606) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:617) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
follow-up: 7 comment:6 by , 14 years ago
Keywords: | negative length turnlane added |
---|---|
Owner: | changed from | to
Priority: | normal → major |
Status: | needinfo → new |
By the way a relation is created anyway.
comment:7 by , 14 years ago
Replying to skyper:
By the way a relation is created anyway.
I was too slow... My exception's stack looks approx. the same, I suppose it is the same :-)
For the sake of completeness, I'll attach my version (except the stack - I've deleted it afterwards.)
Replying to skyper:
A step-to-step discription with a small .osm-file and the report could be useful.
Maybe, you could start with a empty layer and just create the objects you need.
So, I've selected a crossroad, with (+) created one right turning lane (20 meter by default), lengthened it to 25 m, then shortened to 5 m, then continued towards 0,0 m - after reaching it and going a few pixels further, an "Update plugins" dialog popped up with (loosely translated from Slovak) "An error appeared probably caused by a plugin 'turnlanes'. [....] Try to update the plugin... prior to reporting the error. Switch the plugin off?"
I've chosen "Keep the plugin", then "Unexpected program error" dlg appeared: "An unexpected exception happened. This is always a coding error. If you use the most recent JOSM version , consider please and fill an error report." (OK, some translation cleanup is due...)
"Report error" pressed now. (The previous time I've tried "Do nothing", but some errors were appearing again and again.) This time I've understood the error reporting dialog :-) and followed the .../josmticket?... link.
BTW the code block got truncated at the 9-th stack trace line:
.... at org.openstreetmap.josm.plugins.turnlanes.gui.RoadGui.paint(RoadGui.java:586) at org.openstreetmap.josm.plugins.tu
so I'll complete it manually by copy&paste. It follows...
What steps will reproduce the problem?
- Open the attached "Žitná-Stolárska turns.osm" file
- Select the crossing, the lanes are already defined
- Add any turning lanes
- shorten it to under 0,0 meter
What is the expected result?
- Do not crash the plugin
What happens instead?
- An exception is thrown
Please provide any additional information below. Attach a screenshot if possible.
Repository Root: http://josm.openstreetmap.de/svn Build-Date: 2011-07-11 01:31:35 Last Changed Author: stoecker Revision: 4223 Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b URL: http://josm.openstreetmap.de/svn/trunk Last Changed Date: 2011-07-10 22:46:41 +0200 (Sun, 10 Jul 2011) Last Changed Rev: 4223 Identification: JOSM/1.5 (4223 sk) Memory Usage: 239 MB / 455 MB (121 MB allocated, but free) Java version: 1.6.0_25, Sun Microsystems Inc., Java HotSpot(TM) 64-Bit Server VM Operating system: Windows 7 Dataset consistency test: No problems found Plugin: DirectDownload (26174) Plugin: ElevationProfile (26174) Plugin: OpeningHoursEditor (26284) Plugin: openstreetbugs (26299) Plugin: turnlanes (26299) Plugin: turnrestrictions (26299) (stack trace deleted)
comment:8 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Thank you for the (very detailed) bug report. I was able to reproduce the issue. Fixed in [o26316].
Replying to Pepou:
Note: the report gets copied to paste buffer and if you click on one of the links above the report (think it is the second one) a new, prefilled ticket will be created.
If you do not use this link, you have to copy the report manually (its already copied to buffer) and you have to manually upload it somehow. (best include as block code in this ticket). There exist no automatic upload function for reports !
Thanks in advance.
A step-to-step discription with a small .osm-file and the report could be useful.
Maybe, you could start with a empty layer and just create the objects you need.
Do you really mean the turnrestriction plugin ?
What you have described above sounds to me more like the turnlanes plugin.
Thanks