Opened 16 years ago
Closed 15 years ago
#2747 closed defect (fixed)
josm hangs when russian chars are input into changeset summary field
Reported by: | anonymous | Owned by: | team |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Core | Version: | |
Keywords: | Cc: |
Description
The problem introduced in 1656, present in current 1678-SVN. Josm running on Java 1.6.0.3p4, on FreeBSD 8.0.
How to repeat: load this example changeset http://glebius.int.ru/tmp/qqq.osm, press Ctrl-Shift-U, switch keyboard to russian, try to type smth into the changeset summary field.
Attachments (0)
Change History (6)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
It would be helpful if you make thread dump next time this happens. You can use kill -QUIT <josm pid> on linux or Ctrl+Break on windows.
It would be even more helpful if you make more than one thread dump so it would be possible to see which threads moved on.
comment:3 by , 16 years ago
Here it is. Copied by mouse, so probably some lines are broken.
Received SIGQUIT, looking for /tmp.attach_pid12299
2009-07-01 21:47:44
Full thread dump Java HotSpot(TM) 64-Bit Server VM (1.6.0_03-p4-glebius_25_may_2009_01_40-b00 mixed mode):
"Map Status Collector" daemon prio=5 tid=0x000000081d0a9000 nid=0x81aea0080 in Object.wait() [0x00007ffffdadd000..0x00007ffffdaddaa0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000080b6ab2d0> (a org.openstreetmap.josm.gui.MapStatus$Collector) at java.lang.Object.wait(Object.java:485) at org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:141)
- locked <0x000000080b6ab2d0> (a org.openstreetmap.josm.gui.MapStatus$Collector) at java.lang.Thread.run(Thread.java:619)
"pool-1-thread-1" prio=5 tid=0x000000081d0a9800 nid=0x81aea0240 waiting on condition [0x00007ffffdbde000..0x00007ffffdbdea20]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000080a3b18c0> (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:946) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906) at java.lang.Thread.run(Thread.java:619)
"Timer-0" daemon prio=5 tid=0x000000081d0ad000 nid=0x81aea1040 in Object.wait() [0x00007ffffe4e7000..0x00007ffffe4e79a0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000080bacb6d0> (a java.util.TaskQueue) at java.lang.Object.wait(Object.java:485) at java.util.TimerThread.mainLoop(Timer.java:483)
- locked <0x000000080bacb6d0> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462)
"OSMJobThread 1" daemon prio=5 tid=0x000000081d0ad800 nid=0x81aea1200 waiting on condition [0x00007ffffe5e8000..0x00007ffffe5e8920]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000080bac3120> (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:123) at org.openstreetmap.gui.jmapviewer.JobDispatcher$JobThread.run(JobDispatcher.java:110)
"DestroyJavaVM" prio=5 tid=0x0000000801858000 nid=0x800a08e40 waiting on condition [0x0000000000000000..0x00007fffffbfeb00]
java.lang.Thread.State: RUNNABLE
"TimerQueue" daemon prio=5 tid=0x000000081d0adc00 nid=0x81aea1740 in Object.wait() [0x00007ffffe8eb000..0x00007ffffe8ebba0]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000080a8a7b10> (a javax.swing.TimerQueue) at javax.swing.TimerQueue.run(TimerQueue.java:236)
- locked <0x000000080a8a7b10> (a javax.swing.TimerQueue) at java.lang.Thread.run(Thread.java:619)
"AWT-EventQueue-0" prio=5 tid=0x0000000801851800 nid=0x80183b080 runnable [0x00007ffffebec000..0x00007ffffebeea20]
java.lang.Thread.State: RUNNABLE
at javax.swing.text.AbstractDocument$AbstractElement.getDocument(AbstractDocument.java:2048)
at javax.swing.text.View.getDocument(View.java:779)
at javax.swing.text.TextLayoutStrategy.getLimitingOffset(TextLayoutStrategy.java:223)
at javax.swing.text.TextLayoutStrategy.createView(TextLayoutStrategy.java:168)
at javax.swing.text.FlowView$FlowStrategy.layoutRow(FlowView.java:495)
at javax.swing.text.TextLayoutStrategy.layoutRow(TextLayoutStrategy.java:109)
at javax.swing.text.FlowView$FlowStrategy.layout(FlowView.java:452)
at javax.swing.text.TextLayoutStrategy.layout(TextLayoutStrategy.java:92)
at javax.swing.text.FlowView.layout(FlowView.java:184)
at javax.swing.text.BoxView.setSize(BoxView.java:380)
at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1701)
at javax.swing.plaf.basic.BasicTextUI$RootView.paint(BasicTextUI.java:1420)
at javax.swing.plaf.basic.BasicTextUI.paintSafely(BasicTextUI.java:725)
at javax.swing.plaf.basic.BasicTextUI.paint(BasicTextUI.java:868)
at javax.swing.plaf.basic.BasicTextUI.update(BasicTextUI.java:847)
at javax.swing.JComponent.paintComponent(JComponent.java:763)
at javax.swing.JComponent.paint(JComponent.java:1027)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5122)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:285)
at javax.swing.RepaintManager.paint(RepaintManager.java:1128)
at javax.swing.JComponent._paintImmediately(JComponent.java:5070)
at javax.swing.JComponent.paintImmediately(JComponent.java:4880)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:723)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:679)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:659)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
at java.awt.Dialog$1.run(Dialog.java:1039)
at java.awt.Dialog$3.run(Dialog.java:1091)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1089)
at java.awt.Component.show(Component.java:1419)
at java.awt.Component.setVisible(Component.java:1372)
at java.awt.Window.setVisible(Window.java:801)
at java.awt.Dialog.setVisible(Dialog.java:979)
at org.openstreetmap.josm.gui.ExtendedDialog.<init>(ExtendedDialog.java:48)
at org.openstreetmap.josm.actions.UploadAction$1.checkUpload(UploadAction.java:127)
at org.openstreetmap.josm.actions.UploadAction.actionPerformed(UploadAction.java:189)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
"AWT-Shutdown" prio=5 tid=0x0000000801852000 nid=0x80183b240 in Object.wait() [0x00007ffffecef000..0x00007ffffecef9a0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000080a4aa0f8> (a java.lang.Object) at java.lang.Object.wait(Object.java:485) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
- locked <0x000000080a4aa0f8> (a java.lang.Object) at java.lang.Thread.run(Thread.java:619)
"AWT-XAWT" daemon prio=5 tid=0x0000000801853c00 nid=0x80183b400 runnable [0x00007ffffedf0000..0x00007ffffedf0920]
java.lang.Thread.State: RUNNABLE
at sun.awt.X11.XToolkit.waitForEvents(Native Method)
at sun.awt.X11.XToolkit.run(XToolkit.java:544)
at sun.awt.X11.XToolkit.run(XToolkit.java:519)
at java.lang.Thread.run(Thread.java:619)
"Java2D Disposer" daemon prio=5 tid=0x0000000801854400 nid=0x80183b5c0 in Object.wait() [0x00007ffffeef1000..0x00007ffffeef18a0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000080a3690c8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x000000080a3690c8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) at sun.java2d.Disposer.run(Disposer.java:125) at java.lang.Thread.run(Thread.java:619)
"Low Memory Detector" daemon prio=5 tid=0x0000000801857800 nid=0x80183b780 runnable [0x0000000000000000..0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread1" daemon prio=5 tid=0x0000000801855400 nid=0x80183b940 waiting on condition [0x0000000000000000..0x00007fffff1f3ba0]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=5 tid=0x0000000801855c00 nid=0x80183bb00 waiting on condition [0x0000000000000000..0x00007fffff2f4b20]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=5 tid=0x0000000801856400 nid=0x80183bcc0 waiting on condition [0x0000000000000000..0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=5 tid=0x0000000801856800 nid=0x80183be80 in Object.wait() [0x00007fffff4f7000..0x00007fffff4f79a0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000080a3694c8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x000000080a3694c8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=5 tid=0x0000000801857000 nid=0x80183c040 in Object.wait() [0x00007fffff5f8000..0x00007fffff5f8920]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000080a369618> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x000000080a369618> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=5 tid=0x00000008018e3400 nid=0x80183c200 runnable
"GC task thread#0 (ParallelGC)" prio=5 tid=0x00000008018e4c00 nid=0x80183c900 runnable
"GC task thread#1 (ParallelGC)" prio=5 tid=0x00000008018e4400 nid=0x80183c740 runnable
"GC task thread#2 (ParallelGC)" prio=5 tid=0x00000008018e4000 nid=0x80183c580 runnable
"GC task thread#3 (ParallelGC)" prio=5 tid=0x00000008018e3800 nid=0x80183c3c0 runnable
"VM Periodic Task Thread" prio=5 tid=0x00000008018e2c00 nid=0x80183cac0 waiting on condition
JNI global references: 1940
Heap
PSYoungGen total 84736K, used 79160K [0x0000000814d20000, 0x000000081a270000, 0x000000081a270000)
eden space 82112K, 93% used [0x0000000814d20000,0x00000008197ed4e0,0x0000000819d50000)
from space 2624K, 97% used [0x0000000819d50000,0x0000000819fd0ca8,0x0000000819fe0000)
to space 2624K, 0% used [0x0000000819fe0000,0x0000000819fe0000,0x000000081a270000)
PSOldGen total 130368K, used 114711K [0x000000080a270000, 0x00000008121c0000, 0x0000000814d20000)
object space 130368K, 87% used [0x000000080a270000,0x0000000811275ed0,0x00000008121c0000)
PSPermGen total 38720K, used 26831K [0x0000000804e70000, 0x0000000807440000, 0x000000080a270000)
object space 38720K, 69% used [0x0000000804e70000,0x00000008068a3f50,0x0000000807440000)
comment:4 by , 16 years ago
This look more like Java bug. You can try newer version of Java 1.6 or Java 1.5.
Btw. It doesn't look like JOSM is locked, it looks more like it's looping endlessly. Does CPU usage go high when this happen?
comment:5 by , 16 years ago
Yes, sorry for wrong term. It isn't locked, it is looping. It consumes all CPU.
P.S. Unfortunately this problem doesn't reproduce evenly.