Modify

Opened 14 years ago

Closed 14 years ago

#3884 closed defect (fixed)

ways get modified or deleted without user interaction after downloading several areas

Reported by: dieterdreist Owned by: team
Priority: blocker Milestone:
Component: Core Version:
Keywords: Cc: nakor.wp@…, chunter952@…

Description

after restart, download of some data and modification of 2 nodes precondition failed-error. No upload possible. Upload window shows 351 ways that are "modificated" (to upload).

Attachments (3)

Bildschirmfoto1.png (31.8 KB ) - added by dieterdreist 14 years ago.
Bildschirmfoto2.png (102.9 KB ) - added by dieterdreist 14 years ago.
Bildschirmfoto3.png (189.2 KB ) - added by dieterdreist 14 years ago.

Download all attachments as: .zip

Change History (23)

comment:1 by dieterdreist, 14 years ago

sometimes still occuring. Validator shows no errors, but on upload they are created (duplicate nodes, ways with no nodes, etc.), see screenshots

by dieterdreist, 14 years ago

Attachment: Bildschirmfoto1.png added

by dieterdreist, 14 years ago

Attachment: Bildschirmfoto2.png added

by dieterdreist, 14 years ago

Attachment: Bildschirmfoto3.png added

comment:2 by dieterdreist, 14 years ago

my system:
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2009-11-09 02:31:34
Last Changed Author: Gubaer
Revision: 2417
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2009-11-09 01:03:08 +0100 (Mon, 09 Nov 2009)
Last Changed Rev: 2417

Memory Usage: 14 MB / 1016 MB (1 MB allocated, but free)
Java version: 1.6.0_0

Plugins: AddrInterpolation
AgPifoJ
Create_grid_of_ways
DirectUpload
buildings_tools
colorscheme
dataimport
editgpx
graphview
measurement
multipoly
openvisible
osmarender
remotecontrol
routing
terracer
utilsplugin
validator
walkingpapers
waydownloader
wmsplugin
Plugin AddrInterpolation Version: 18503
Plugin AgPifoJ Version: 18287
Plugin Create_grid_of_ways Version: 17367
Plugin DirectUpload Version: 17532
Plugin buildings_tools Version: 24
Plugin colorscheme Version: 18413
Plugin dataimport Version: 18071
Plugin editgpx Version: 18426
Plugin graphview Version: 18415
Plugin measurement Version: 17377
Plugin multipoly Version: 18415
Plugin openvisible Version: 17536
Plugin osmarender Version: 18480
Plugin remotecontrol Version: 18503
Plugin routing Version: 18415
Plugin terracer Version: 17874
Plugin utilsplugin Version: 18503
Plugin validator Version: 18524
Plugin walkingpapers Version: 18484
Plugin waydownloader Version: 18503
Plugin wmsplugin Version: 18408

agpifoj.bounds=474,402,332,226
agpifoj.visible=true
cache.motd.html=1257808940
cache.motd.html.version=2417
cache.wmsplugin.expire=2419200
cache.wmsplugin.maxsize=70
color.conflict=#FF00FF
color.gps marker=#33FFFF
color.gps point=#66FF33
color.node=#FFCCCC
conflict.bounds=474,452,332,126
conflict.visible=true
conflictresolutiondialog.height=763
conflictresolutiondialog.width=1018
conflictresolutiondialog.x=149
conflictresolutiondialog.y=89
coordinates=DECIMAL_DEGREES
download.gps=true
download.tab=2
draw.rawgps.direction=true
draw.rawgps.large=true
draw.rawgps.lines=false
graphview.activeBookmark=pedestrian
graphview.defaultNodeColor=255, 255, 255
graphview.defaultSegmentColor=255, 255, 255
graphview.parameterBookmarks=pedestrian;foot;types={YES,PERMISSIVE,DESIGNATED,UNDEFINED};properties={}|hgv (3.5 t);hgv;types={YES,PERMISSIVE,DESIGNATED,UNDEFINED};properties={WEIGHT=3.5}|motorcar;motorcar;types={YES,PERMISSIVE,DESIGNATED,UNDEFINED};properties={}|bicycle;bicycle;types={YES,PERMISSIVE,DESIGNATED,UNDEFINED};properties={}
graphview.rulesetFolder=/home/mortn
gui.geometry=1280x976+0+24
josm.version=2417
language=en
lastAuthorName=dieterdreist
lastDirectory=/home/mortn/OSM/tracks
layerlist.bounds=488,274,416,252
layerlist.docked=false
marker.audiofromstart=false
marker.buttonlabels=false
mirror.http://josm.openstreetmap.de/presets=1257088403677;/home/mortn/.josm/mirror_http___josm.openstreetmap.de_presets
mirror.http://josm.openstreetmap.de/styles=1257088403507;/home/mortn/.josm/mirror_http___josm.openstreetmap.de_styles
mirror.http://svn.openstreetmap.org/applications/editors/josm/plugins/validator/ignoretags.cfg=1257808944840;/home/mortn/.josm/plugins/validator/mirror_http___svn.openstreetmap.org_applications_editors_josm_plugins_validator_ignoretags.cfg
mirror.http://svn.openstreetmap.org/applications/editors/josm/plugins/validator/tagchecker.cfg=1257808944969;/home/mortn/.josm/plugins/validator/mirror_http___svn.openstreetmap.org_applications_editors_josm_plugins_validator_tagchecker.cfg
mirror.http://svn.openstreetmap.org/applications/editors/josm/plugins/wmsplugin/sources.cfg=1257808945179;/home/mortn/.josm/plugins/wmsplugin/mirror_http___svn.openstreetmap.org_applications_editors_josm_plugins_wmsplugin_sources.cfg
mirror.http://svn.openstreetmap.org/applications/utils/planet.osm/java/speller/words.cfg=1257808944659;/home/mortn/.josm/plugins/validator/mirror_http___svn.openstreetmap.org_applications_utils_planet.osm_java_speller_words.cfg
org.openstreetmap.josm.gui.actionsupport.DeleteFromRelationConfirmationDialog.geometry=x=422,y=612,width=400,height=200
org.openstreetmap.josm.gui.conflict.tags.CombinePrimitiveResolverDialog.geometry=x=344,y=399,width=600,height=400
org.openstreetmap.josm.gui.download.DownloadDialog.geometry=x=228,y=400,width=1000,height=600
org.openstreetmap.josm.gui.io.UploadDialog.geometry=x=593,y=400,width=400,height=600
osm-download.bounds=41.845495937924845;12.47459269818174;41.84817819900866;12.47835705014286
osm-primitives.showid=true
osm-server.url=http://www.openstreetmap.org/api
pluginmanager.lastupdate=1257823254437
pluginmanager.version=2417
plugins=AddrInterpolation
AgPifoJ
Create_grid_of_ways
DirectUpload
buildings_tools
colorscheme
dataimport
editgpx
graphview
measurement
multipoly
openvisible
osmarender
remotecontrol
routing
terracer
utilsplugin
validator
walkingpapers
waydownloader
wmsplugin
propertiesdialog.bounds=490,147,325,440
proxy.anonymous=false
proxy.enable=false
relationlist.visible=true
routing.profile.default.speed.bridleway=40
routing.profile.default.speed.bus_guideway=50
routing.profile.default.speed.byway=50
routing.profile.default.speed.cycleway=40
routing.profile.default.speed.footway=20
routing.profile.default.speed.living_street=30
routing.profile.default.speed.motorway=120
routing.profile.default.speed.motorway_link=120
routing.profile.default.speed.path=40
routing.profile.default.speed.pedestrian=30
routing.profile.default.speed.primary=100
routing.profile.default.speed.primary_link=100
routing.profile.default.speed.residential=50
routing.profile.default.speed.road=100
routing.profile.default.speed.secondary=90
routing.profile.default.speed.service=30
routing.profile.default.speed.steps=10
routing.profile.default.speed.tertiary=90
routing.profile.default.speed.track=50
routing.profile.default.speed.trunk=120
routing.profile.default.speed.trunk_link=120
routing.profile.default.speed.unclassified=50
save.keepbackup=false
selectionlist.bounds=47,173,332,717
shortcut.groups.1=128
shortcut.groups.10=64
shortcut.groups.11=576
shortcut.groups.12=64
shortcut.groups.13=512
shortcut.groups.15=640
shortcut.groups.16=640
shortcut.groups.17=576
shortcut.groups.18=512
shortcut.groups.19=128
shortcut.groups.2=128
shortcut.groups.20=512
shortcut.groups.3=0
shortcut.groups.4=512
shortcut.groups.5=0
shortcut.groups.6=512
shortcut.groups.8=192
shortcut.groups.9=192
shortcut.groups.configured=true
slippymap.autoload_tiles=true
slippymap.autozoom=true
slippymap.draw_debug=false
slippymap.fade_background=0.0
slippymap.max_zoom_lvl=17
slippymap.min_zoom_lvl=13
slippymap.tile_url=http://tah.openstreetmap.org/Tiles/tile
tagimages.lastdirectory=/media/data2/Eigene Bilder/2009_04_11_OSM_Verano+CircoloArt
toolbar=open
save
exportgpx
|
download
upload
|
undo
redo
|
preference
|
|
gps-lines
wayflip
pastetags
tagging_Man-Made/Amenities/Drinking Water
tagging_Man-Made/Amenities/Telephone
upload.comment.history=details Marconi
details EUR
details hairdresser
details pizza
details marconi
details colle di mezzo
details Piazza di San Pietro e vaticano
details bollard
details Piazza di San Pietro, northern part
details POI
details
piazza marconi
curve details
source:maxspeed
laurentina POI
userlist.bounds=474,427,332,176
userlist.visible=true
validator.bounds=-1,24,1282,982
validator.tests=Coastlines=true,SimilarNamedWays=true,UntaggedNode=true,CrossingWays=true,NodesWithSameName=true,TagChecker=true,OverlappingWays=true,UnclosedWays=true,WronglyOrderedWays=true,UnconnectedWays=true,SelfIntersectingWay=true,DuplicatedWayNodes=true,NameMismatch=true,DuplicateWay=true,UntaggedWay=true,DuplicateNode=true
validator.testsBeforeUpload=Coastlines=true,SimilarNamedWays=true,UntaggedNode=true,CrossingWays=true,NodesWithSameName=true,TagChecker=true,OverlappingWays=true,UnclosedWays=true,WronglyOrderedWays=true,UnconnectedWays=true,SelfIntersectingWay=true,DuplicatedWayNodes=true,NameMismatch=true,DuplicateWay=true,UntaggedWay=true,DuplicateNode=true
validator.visible=true
wmsplugin.default.html:http://josm.openstreetmap.de/wmsplugin/YahooDirect.html?=true
wmsplugin.default.http://onearth.jpl.nasa.gov/wms.cgi?request_GetMap&layers_global_mosaic&styles_&format_image/jpeg&=true
wmsplugin.default.http://openaerialmap.org/wms/?VERSION_1.0&request_GetMap&layers_world&styles_&format_image/jpeg&=true
wmsplugin.url.0.name=LandSat
wmsplugin.url.0.url=http://onearth.jpl.nasa.gov/wms.cgi?request=GetMap&layers=global_mosaic&styles=&format=image/jpeg&
wmsplugin.url.1.name=OpenAerial-Karte
wmsplugin.url.1.url=http://openaerialmap.org/wms/?VERSION=1.0&request=GetMap&layers=world&styles=&format=image/jpeg&
wmsplugin.url.2.name=Yahoo Sat
wmsplugin.url.2.url=html:http://josm.openstreetmap.de/wmsplugin/YahooDirect.html?
wmsplugin.url.overlap=false
wmsplugin.url.overlapEast=14
wmsplugin.url.overlapNorth=4

in reply to:  2 comment:3 by dieterdreist, 14 years ago

Maybe the reason is a problem when download new data overlapping with already downloaded data (creates duplicate and empty ways?)

comment:4 by DiverCTH <chunter952@…>, 14 years ago

Getting the same issue on my machine as well. I just deleted a way that had "0" nodes in it, only to discover that the actual way was deleted as well.

Machine info:
JOSM Build - 2417
JAVA Version - 1.6.0_15
OS - XP Professional SP3

I've also been able to duplicate the error message by downloading a new area that contains an already edited way or node. (See dieterdreist's comment)

comment:5 by MikeN, 14 years ago

I also saw this with a custom build #2427 - suddenly many un-touched objects were set to upload. Perhaps related to multiple overlapping downloads or continuing with an open changeset. I could not consistently reproduce enough to give more detail.

comment:6 by MikeN, 14 years ago

Updated to build 2439 and was able to duplicate it by a download - tiny edit - move and download - tiny edit - move and download, then an Upload shows many items to upload.

Build 2439 (Custom) Java 1.6.0_17 OS Win 7 X64

comment:7 by anonymous, 14 years ago

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

comment:8 by anonymous, 14 years ago

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

comment:9 by anonymous, 14 years ago

Summary: precondition failed - upload impossibleways got deleted after downloading several areas

comment:10 by Nakor, 14 years ago

Cc: nakor.wp@… added

comment:11 by DiverCTH <chunter952@…>, 14 years ago

Cc: chunter952@… added
Version: latest

watchlisted

comment:12 by DiverCTH <chunter952@…>, 14 years ago

Summary: ways got deleted after downloading several areasways get modified or deleted after downloading several areas

Rolling 3905 back into this one

comment:13 by anonymous, 14 years ago

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

comment:14 by DiverCTH <chunter952@…>, 14 years ago

I've also discovered that any any new or modified nodes in the way become orphaned when a new area is downloaded.

comment:15 by DiverCTH <chunter952@…>, 14 years ago

Summary: ways get modified or deleted after downloading several areasways get modified or deleted without user interaction after downloading several areas

comment:16 by hansendc, 14 years ago

I have a theory about what's going on. Look at DataSetMerger. Let's say we have a way that was not in the original data set, but it *is* in the new data set being merged.

mergePrimitive() will be unable to find a candidate way, so it will:

case WAY: my = other.isNew() ? new Way() : new Way(other.getId());

...

fixReferences.add(other.getUniqueId());

Then eventually call fixReferences():

public void fixReferences() {

for (Way w : theirDataSet.getWays()) {

if (!conflicts.hasConflictForTheir(w) && fixReferences.contains(w.getUniqueId())) {

mergeNodeList(w);
fixIncomplete(w);

}

}

which calls into mergeNodeList():

private void mergeNodeList(Way other) {

Way myWay = (Way)getMergeTarget(other);

Now, myWay is set to that newly-created, but empty way that got created in mergePrimitive()'s case: statement. In a moment, we populate myNodes with the new data set's nodes based off of nodes from 'other'. Then we test to see if myWay got changed:

if (myWay.getNodes().size() != myNodes.size()) {

myWay.setModified(true);

} else {

If it is one of those empty ways, of *course* it got changed. It seems like we shouldn't be setting these ways modified if they are one of the newly-created and empty ones before this function.

comment:17 by Nakor, 14 years ago

Going back in the nightly builds, 2394 is OK, more recent version have one form (enpty ways) or the other (modified unchanged way) of the bug.

comment:18 by hansendc, 14 years ago

Version: latest

I checked it out 2416 and it seems OK too. The bug seems to have been introduced in 2417 with the MergeVisitor changes.

comment:19 by Gubaer, 14 years ago

Should be fixed in r2443

comment:20 by Gubaer, 14 years ago

Resolution: fixed
Status: newclosed

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.