Modify

Opened 8 years ago

Closed 8 years ago

#12695 closed defect (duplicate)

Continual errors caused by Terracer

Reported by: alexkemp Owned by: team
Priority: normal Milestone:
Component: Plugin terracer Version:
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. Create building
  2. Shift-T for terracer
  3. Set for terrace of 2 + do NOT select 'keep outline way'
  4. Press OK

What is the expected result?

Set of 2 Terraces

What happens instead?

Software exception

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: 2016-03-13 01:17:21 +0100 (Sun, 13 Mar 2016)
Build-Date:2016-03-13 02:35:00
Revision:9979
Relative:URL: ^/trunk

Identification: JOSM/1.5 (9979 en_GB) Linux Debian GNU/Linux 8.3 (jessie)
Memory Usage: 160 MB / 247 MB (70 MB allocated, but free)
Java version: 1.8.0_74-b02, Oracle Corporation, Java HotSpot(TM) Client VM
VM arguments: [-Djava.net.useSystemProxies=true]

Dataset consistency test:
[NO DATASET] {Way id=-5361 version=0 MVT nodes=[{Node id=-5358 version=0 MV lat=52.96391312860281,lon=-1.1262161555767065}, {Node id=-5375 version=0 MV lat=52.96389616540289,lon=-1.1261564764261252}, {Node id=-5376 version=0 MV lat=52.96386331865382,lon=-1.1261822115084743}, {Node id=-5359 version=0 MV lat=52.96388028186662,lon=-1.1262418906590557}, {Node id=-5358 version=0 MV lat=52.96391312860281,lon=-1.1262161555767065}]} is referenced by {Relation id=-5380 version=0 VT [way -5361, way -5379]} but not found in dataset


Plugins:
- DirectUpload (30762)
- HouseNumberTaggingTool (31772)
- buildings_tools (31895)
- continuosDownload (1446070193)
- imagery_offset_db (32046)
- imageryadjust (31772)
- terracer (31895)
- utilsplugin2 (32099)

Last errors/warnings:
- E: org.openstreetmap.josm.io.IllegalDataException: Way with external ID '-5,612' includes missing node with external ID '-5,599'.
- E: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Relation member must be part of the same dataset as relation(relation -5380, way -5361)

org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Relation member must be part of the same dataset as relation(relation -5380, way -5361)
	at org.openstreetmap.josm.data.osm.Relation.checkMembers(Relation.java:502)
	at org.openstreetmap.josm.data.osm.Relation.setDataset(Relation.java:492)
	at org.openstreetmap.josm.data.osm.DataSet.addPrimitive(DataSet.java:469)
	at org.openstreetmap.josm.command.AddCommand.executeCommand(AddCommand.java:61)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:54)
	at terracer.TerracerAction$1.executeCommand(TerracerAction.java:470)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:43)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:69)
	at terracer.TerracerAction.terraceBuilding(TerracerAction.java:428)
	at terracer.HouseNumberInputHandler.actionPerformed(HouseNumberInputHandler.java:294)
	at terracer.HouseNumberInputDialog.buttonAction(HouseNumberInputDialog.java:235)
	at org.openstreetmap.josm.gui.ExtendedDialog$1.actionPerformed(ExtendedDialog.java:326)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicRootPaneUI$Actions.actionPerformed(BasicRootPaneUI.java:208)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1663)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2882)
	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:307)
	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:250)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2974)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2966)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2845)
	at java.awt.Component.processEvent(Component.java:6312)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4891)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771)
	at java.awt.Component.dispatchEventImpl(Component.java:4762)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Window.dispatchEventImpl(Window.java:2750)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	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:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	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:184)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
...<snip>...

Attachments (0)

Change History (15)

comment:1 by Klumbumbus, 8 years ago

Component: CorePlugin terracer

comment:2 by Don-vip, 8 years ago

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

comment:3 by Don-vip, 8 years ago

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

comment:4 by Don-vip, 8 years ago

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

comment:5 by Don-vip, 8 years ago

OK we get it: terracer plugin is broken.

Now, please stop posting duplicate tickets every day, it will not cause the bugfix happen faster.

comment:6 by alexkemp, 8 years ago

Ah! A response. Maybe now I can stop posting continual notices of the fact that Terracer is broken.

PS
I am most pleased to have tools such as JOSM + the terracer plugin. Thank you for your efforts. They are appreciated. No kidding involved.

comment:7 by alexkemp, 8 years ago

As (perhaps) a slightly more useful comment:-

1) JOSM crashes normally occur with Terracer when 'keep outline way' is NOT selected. However, and frustratingly (I'm also a software writer), there have subsequently been many occasions in which 'keep outline way' was NOT selected & yet there was zero crash. I can thus not yet provide a failsafe set of steps to reliably produce a crash. This is one reason for the multiple reports, hoping that one of the bug-sets contained sufficient info to help create a magic bullet to nail the bug(s).
2) Terracer reliably creates validation errors on upload reporting that the associatedStreet relation is missing a Street member (naturally, only when 'create an associatedStreet relation' is selected). The JOSM "(menu): relations | Associated Street" Preset creates the exact identical validation errors if used instead of selecting the Terracer relation option.
PS I have zero knowledge of how to fix this validation error. And god knows, I've worked hard to try to find out.

in reply to:  7 ; comment:8 by Klumbumbus, 8 years ago

Replying to alexkemp:

2) Terracer reliably creates validation errors on upload reporting that the associatedStreet relation is missing a Street member (naturally, only when 'create an associatedStreet relation' is selected). The JOSM "(menu): relations | Associated Street" Preset creates the exact identical validation errors if used instead of selecting the Terracer relation option.
PS I have zero knowledge of how to fix this validation error. And god knows, I've worked hard to try to find out.

An associted street relation requires atleast one street member with thr role street and one address/building with the role house. See http://wiki.openstreetmap.org/wiki/Relation:associatedStreet. So when you create such a relation without the required members the warning appears.
Best solution is to not use associated street relations at all.

Version 0, edited 8 years ago by Klumbumbus (next)

in reply to:  8 ; comment:9 by alexkemp, 8 years ago

Replying to Klumbumbus:

Replying to alexkemp:

I have zero knowledge of how to fix this validation error

An associted street relation requires ...


I know that you are trying to help, Klumbumbus, but you have entirely missed the point. I've educated myself to the point that I understand why the error gets reported. What I cannot understand is how to fix it. None of the tools that I've explored so far provide any method (that I've found) to add the missing relation members.

(menu): Presets | Relations | Associated Street should do the business (buildings pre-selected) but does not. That is where one bug exists, and possibly where *the* bug exists. Fix that & we shall be (at least) halfway there.

Best solution is to not use associated street relations at all.


Pshaw! That's not the attitude that allowed the British Empire to get built, my good man.

in reply to:  9 ; comment:10 by Klumbumbus, 8 years ago

Replying to alexkemp:

None of the tools that I've explored so far provide any method (that I've found) to add the missing relation members.

Try the relation editor Help/Dialog/RelationEditor

(menu): Presets | Relations | Associated Street should do the business (buildings pre-selected) but does not.

Because buildings are not enough. You need a street in the relation. It is not added automatically except you preselect also a street when you create a new associated street relation.

in reply to:  10 ; comment:11 by alexkemp, 8 years ago

OMG! That fixed it! (well done Klumbumbus).

Replying to Klumbumbus:

Try the relation editor Help/Dialog/RelationEditor

Seen that before (looked again just now); useless.

(menu): Presets | Relations | Associated Street should do the business (buildings pre-selected) but does not.

Because buildings are not enough. You need a street in the relation. It is not added automatically except you preselect also a street when you create a new associated street relation.



HowTo add a correctly-functioning associatedStreet relation:

Whilst Using the Terracer Plugin:
1). Create the building in the normal manner
2). Select both street + building
3). Use terracer in the normal fashion

Obviously, the ‘add associatedStreet relation’ must be selected. As a bonus, the street will be pre-selected in the dialog.

Whilst using the (menu): Presets | Relations | Associated Street dialog:
1) Preselect the street + building(s)
2) Use the dialog

Unfortunately, this dialog is not intelligent enough to pre-select the street. Note that if you select buildings that already contain more than one associatedStreet relation, then another relation will be created (which contains both a house + street members). The old relation will need deleting. Note also that selecting a single house that contains a relation will also duplicate that relation (although now accurately with a street member), so you may as well select all the houses on the street if fixing bad relations.


Once again, Klumbumbus:- many, many thanks for pointing me in the correct direction. If only accurate directions were contained within the Help & Wiki.

in reply to:  11 comment:12 by stoecker, 8 years ago

Replying to alexkemp:

Once again, Klumbumbus:- many, many thanks for pointing me in the correct direction. If only accurate directions were contained within the Help & Wiki.

As you say yourself: It's a wiki. If you have improvements, then improve it yourself.

comment:13 by Klumbumbus, 8 years ago

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

comment:14 by Klumbumbus, 8 years ago

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

comment:15 by stoecker, 8 years ago

Resolution: duplicate
Status: newclosed

Closed as duplicate of #11878.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
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.