Modify

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#4456 closed defect (fixed)

Ways disappear in wireframe, still show up in mappaint but are broken

Reported by: malenki Owned by: team
Priority: blocker Milestone:
Component: Core Version: latest
Keywords: Cc:

Description

I open a new ticket like it was suggested in #4324.

I used r2899 (since r2906 has a bug which terminates the validator after which no upload is possible).
How to reproduce:
I opened up this file http://www.malenki.ch/OSM/bugs/josm_broken_ways_not_number_4057_reproduce_broken_ways.osm.gz
downloaded http://www.openstreetmap.org/?lat=43.1235&lon=20.6289&zoom=9 and deleted all highway=tertiary which were imported badly (no source=, not connected to existing ways).

After finishing I want to select all ways remaining with the search (via ctrl-f) for type:way. The search marks the not broken ways. Quite a lot of ways I can select but they aren't found by the search.

The heap.bin: http://www.malenki.ch/OSM/bugs/josm_broken_ways_not_number_4057_heap.bin.gz

kill -s QUIT <id> sais:

2010-01-30 23:42:25
Full thread dump Java HotSpot(TM) Server VM (14.3-b01 mixed mode):

"Attach Listener" daemon prio=10 tid=0x0b8b1000 nid=0x1636 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE
"Timer-0" daemon prio=10 tid=0x6e50d000 nid=0x14a9 in Object.wait() [0x6a70b000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x75dee1a8> (a java.util.TaskQueue)
	at java.lang.Object.wait(Object.java:485)
	at java.util.TimerThread.mainLoop(Timer.java:483)
	- locked <0x75dee1a8> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:462)

"OSMJobThread 1" daemon prio=10 tid=0x6e7cd000 nid=0x14a7 waiting on condition [0x6a7ad000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x75de9420> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
	at org.openstreetmap.gui.jmapviewer.JobDispatcher$JobThread.executeJobs(JobDispatcher.java:111)
	at org.openstreetmap.gui.jmapviewer.JobDispatcher$JobThread.run(JobDispatcher.java:98)

"OpenStreetBugs Lade-Warteschleife" prio=10 tid=0x6a4d8400 nid=0x14a1 waiting on condition [0x6bafe000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.openstreetmap.josm.plugins.osb.OsbDownloadLoop.run(OsbDownloadLoop.java:94)

"Map Status Collector" daemon prio=10 tid=0x6acd2400 nid=0x14a0 in Object.wait() [0x6bc72000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:153)
	- locked <0x75b9fa00> (a org.openstreetmap.josm.gui.MapStatus$Collector)
	at java.lang.Thread.run(Thread.java:619)

"pool-1-thread-1" prio=10 tid=0x6aaf8400 nid=0x149c waiting on condition [0x6bcf4000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x73992700> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)

"DestroyJavaVM" prio=10 tid=0x6aa16000 nid=0x1481 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

"TimerQueue" daemon prio=10 tid=0x0b858c00 nid=0x1495 in Object.wait() [0x6ba27000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at javax.swing.TimerQueue.run(TimerQueue.java:232)
	- locked <0x73ca7d50> (a javax.swing.TimerQueue)
	at java.lang.Thread.run(Thread.java:619)

"AWT-EventQueue-0" prio=10 tid=0x0a3d5400 nid=0x1490 in Object.wait() [0x6bd96000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at java.awt.EventQueue.getNextEvent(EventQueue.java:479)
	- locked <0x73a961f0> (a java.awt.EventQueue)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:236)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

"AWT-Shutdown" prio=10 tid=0x0a3d4800 nid=0x148f in Object.wait() [0x6bde7000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
	- locked <0x73ae51c8> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:619)

"AWT-XAWT" daemon prio=10 tid=0x0a3c8400 nid=0x148e runnable [0x6be38000]
   java.lang.Thread.State: RUNNABLE
	at sun.awt.X11.XToolkit.waitForEvents(Native Method)
	at sun.awt.X11.XToolkit.run(XToolkit.java:548)
	at sun.awt.X11.XToolkit.run(XToolkit.java:523)
	at java.lang.Thread.run(Thread.java:619)

"Java2D Queue Flusher" daemon prio=10 tid=0x0a1f4c00 nid=0x148d in Object.wait() [0x6d187000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at sun.java2d.opengl.OGLRenderQueue$QueueFlusher.run(OGLRenderQueue.java:176)
	- locked <0x73bfdff0> (a sun.java2d.opengl.OGLRenderQueue$QueueFlusher)

"Java2D Disposer" daemon prio=10 tid=0x6e7eac00 nid=0x148c in Object.wait() [0x6d1d8000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <0x73bfeef8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at sun.java2d.Disposer.run(Disposer.java:125)
	at java.lang.Thread.run(Thread.java:619)

"Low Memory Detector" daemon prio=10 tid=0x09f03800 nid=0x148a runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread1" daemon prio=10 tid=0x6ec02400 nid=0x1489 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x6ec00800 nid=0x1488 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x09f00c00 nid=0x1487 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x09eee000 nid=0x1486 in Object.wait() [0x6f02b000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <0x738da500> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x09eec800 nid=0x1485 in Object.wait() [0x6f07c000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
	- locked <0x738da588> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x09ee8800 nid=0x1484 runnable 

"GC task thread#0 (ParallelGC)" prio=10 tid=0x09e40400 nid=0x1482 runnable 

"GC task thread#1 (ParallelGC)" prio=10 tid=0x09e41800 nid=0x1483 runnable 

"VM Periodic Task Thread" prio=10 tid=0x09f05400 nid=0x148b waiting on condition 

JNI global references: 3895

Heap
 PSYoungGen      total 114560K, used 2074K [0xac5e0000, 0xb37a0000, 0xb37a0000)
  eden space 112640K, 1% used [0xac5e0000,0xac7a69a8,0xb33e0000)
  from space 1920K, 13% used [0xb33e0000,0xb3420000,0xb35c0000)
  to   space 1920K, 0% used [0xb35c0000,0xb35c0000,0xb37a0000)
 PSOldGen        total 66496K, used 49406K [0x737a0000, 0x77890000, 0xac5e0000)
  object space 66496K, 74% used [0x737a0000,0x767df860,0x77890000)
 PSPermGen       total 28928K, used 19315K [0x6f7a0000, 0x713e0000, 0x737a0000)
  object space 28928K, 66% used [0x6f7a0000,0x70a7ccc8,0x713e0000)

Data consistency check sais: Keine Probleme gefunden (no problems found).

Wireframe:
http://www.malenki.ch/OSM/bugs/josm_broken_ways_not_number_4057_wireframe_way_invisible_gkrellShoot_2010-01-30_233446.png
Mappaint:
http://www.malenki.ch/OSM/bugs/josm_broken_ways_not_number_4057_mappaint_way_visible_gkrellShoot_2010-01-30_233457.png

HTH

Attachments (0)

Change History (3)

comment:1 Changed 8 years ago by jttt

I can't download the heapdump (403 Forbidden). But it can be a good thing, because I forgot to tell you that it's possible to extract osm password from the dump. Can you please send it to me in private message (jiri.klement at gmail.com)?

comment:2 Changed 8 years ago by jttt

Resolution: fixed
Status: newclosed

(In [2911]) Fixed #4456 Ways disappear in wireframe, still show up in mappaint but are broken

comment:3 Changed 8 years ago by jttt

malenki, thanks for the heap dump, it hepled a lot.

I have to say I was really blind, I was looking all the time at the correct place, thinking of complicated stuff while the bug was actually pretty simple and obvious.

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.

Add Comment


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

 
Note: See TracTickets for help on using tickets.