Modify

Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#5525 closed defect (fixed)

Error when adding a node in the middle of a way

Reported by: anonymous Owned by: anonymous
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. adding a node in the middle of a way with the mouse pointer
  2. See error dialog open

What is the expected result?

What happens instead?

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

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2010-10-02 01:31:13
Last Changed Author: bastiK
Revision: 3578
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2010-10-01 19:27:12 +0200 (Fri, 01 Oct 2010)
Last Changed Rev: 3578

Identification: JOSM/1.5 (3578 fr)
Memory Usage: 418 MB / 1776 MB (59 MB allocated, but free)
Java version: 1.6.0_21, Sun Microsystems Inc., Java HotSpot(TM) 64-Bit Server VM
Operating system: Linux
Dataset consistency test: No problems found

Plugin: turnrestrictions (23346)
Plugin: wmsplugin (23358)

java.util.NoSuchElementException
	at java.util.AbstractList$Itr.next(AbstractList.java:350)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search_contents(QuadBuckets.java:272)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:426)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:451)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:442)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:445)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:445)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:445)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:445)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:445)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:448)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:451)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:442)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:442)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:451)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:448)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:451)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:451)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:451)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:442)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.search(QuadBuckets.java:445)
	at org.openstreetmap.josm.data.osm.QuadBuckets$QBLevel.access$400(QuadBuckets.java:62)
	at org.openstreetmap.josm.data.osm.QuadBuckets.search(QuadBuckets.java:775)
	at org.openstreetmap.josm.data.osm.DataSet.searchNodes(DataSet.java:154)
	at org.openstreetmap.josm.gui.NavigatableComponent.getNearestNode(NavigatableComponent.java:456)
	at org.openstreetmap.josm.gui.NavigatableComponent.getNearest(NavigatableComponent.java:588)
	at org.openstreetmap.josm.gui.MapStatus$Collector.statusBarElementUpdate(MapStatus.java:291)
	at org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:175)
	at java.lang.Thread.run(Thread.java:619)

Attachments (0)

Change History (7)

comment:1 Changed 12 years ago by stoecker

Owner: changed from team to anonymous
Status: newneedinfo

Can't reproduce. Please supply a reproducible description. What data set do you use and what is required minimum? What is exactly required to reach this result?

comment:2 Changed 12 years ago by jttt

This is synchronization problem in QuadBuckets and in Dataset. Because Dataset should be now thread safe (except for search.. methods - that caused this problem), I'll make search.. methods in Dataset use readLock and completely remove synchronization from QuadBuckets.

comment:3 Changed 12 years ago by jttt

Resolution: fixed
Status: needinfoclosed

In [3584/josm]:

Fix #5525 Error when adding a node in the middle of a way

comment:4 Changed 12 years ago by jttt

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

comment:5 Changed 12 years ago by stoecker

Jiri - Can't you document your knowledge about the data storage and thread handling a bit (source or Wiki), so others know how to access stuff correctly?

comment:6 Changed 12 years ago by jttt

In [3588/josm]:

Dataset thread safety documentation (see #5525)

comment:7 Changed 12 years ago by jttt

Ok, I've tried to add some documentation. In case of this ticket, the exception wasn't caused by incorrect dataset usage, it was bug directly in Dataset.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain anonymous.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.