Modify

Opened 8 years ago

Closed 8 years ago

#14689 closed defect (duplicate)

JOSM Freeze due to Move Viewport Whilst ISP suffering Network Errors

Reported by: alexkemp Owned by: team
Priority: normal Milestone:
Component: Core Version: latest
Keywords: template_report deadlock Cc:

Description

What steps will reproduce the problem?

  1. Use Synaptic to Update All, Load JOSM, do some work
  2. Use <Ctrl>+<Arrow-key> to Move Viewport; cursor moves but JOSM is braindead (no warning of any kind)
  3. sudo /etc/init.d/network-manager restart has zero change
  4. console ping google.com => ping: unknown host google.com
  5. ISP confirm is district-wide problem at their end (1 hour telephone call)

What is the expected result?

JOSM should not lock-up because of Network issues

What happens instead?

This is Virgin Cable; what do you expect?

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

  • Screenshot whilst JOSM locked is provided.
  • Text file from jstack 27457 > jstack-info.txt whilst JOSM locked is provided.
  • Computer left switched ON & Status Report below after ISP network working + local network restart + JOSM restart + data recovery.
    URL:http://josm.openstreetmap.de/svn/trunk
    Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
    Last:Changed Date: 2017-04-22 23:35:24 +0200 (Sat, 22 Apr 2017)
    Build-Date:2017-04-22 21:38:34
    Revision:11982
    Relative:URL: ^/trunk
    
    Identification: JOSM/1.5 (11982 en_GB) Linux Debian GNU/Linux 8.7 (jessie)
    Memory Usage: 358 MB / 1636 MB (217 MB allocated, but free)
    Java version: 1.8.0_121-8u121-b13-1~bpo8+1-b13, Oracle Corporation, OpenJDK 64-Bit Server VM
    Screen: :0.0 1366x768
    Maximum Screen Size: 1366x768
    Java package: openjdk-8-jre:amd64-8u121-b13-1~bpo8+1
    Java ATK Wrapper package: libatk-wrapper-java:all-0.30.5-1
    VM arguments: [-Djosm.restart=true, -Djosm.dir.name=JOSM-latest, -Djava.net.useSystemProxies=true]
    Dataset consistency test: No problems found
    
    Plugins:
    + DirectUpload (33182)
    + Mapillary (v1.5.3)
    + apache-commons (32994)
    + apache-http (32699)
    + buildings_tools (33004)
    + continuosDownload (53)
    + terracer (33088)
    
    Last errors/warnings:
    - W: Already here java.net.UnknownHostException: api.openstreetmap.org
    - W: org.openstreetmap.josm.io.OsmApiInitializationException: org.openstreetmap.josm.io.OsmTransferException: java.net.UnknownHostException: api.openstreetmap.org. Cause: org.openstreetmap.josm.io.OsmTransferException: java.net.UnknownHostException: api.openstreetmap.org. Cause: java.net.UnknownHostException: api.openstreetmap.org
    - W: java.net.UnknownHostException: api.openstreetmap.org
    - W: Already here java.net.UnknownHostException: api.openstreetmap.org
    - W: Already here java.net.UnknownHostException: api.openstreetmap.org
    - W: org.openstreetmap.josm.io.OsmApiInitializationException: org.openstreetmap.josm.io.OsmTransferException: java.net.UnknownHostException: api.openstreetmap.org. Cause: org.openstreetmap.josm.io.OsmTransferException: java.net.UnknownHostException: api.openstreetmap.org. Cause: java.net.UnknownHostException: api.openstreetmap.org
    - W: java.net.UnknownHostException: api.openstreetmap.org
    - W: Already here java.net.UnknownHostException: api.openstreetmap.org
    - W: Already here java.net.UnknownHostException: api.openstreetmap.org
    - W: org.openstreetmap.josm.io.OsmApiInitializationException: org.openstreetmap.josm.io.OsmTransferException: java.net.UnknownHostException: api.openstreetmap.org. Cause: org.openstreetmap.josm.io.OsmTransferException: java.net.UnknownHostException: api.openstreetmap.org. Cause: java.net.UnknownHostException: api.openstreetmap.org
    

Attachments (2)

Workspace 1_001.png (760.5 KB ) - added by alexkemp 8 years ago.
Screen-shot whilst JOSM frozen
jstack-info.txt (48.3 KB ) - added by alexkemp 8 years ago.
Result from jstack 27457 > jstack-info.txt obtained whilst JOSM is frozen

Download all attachments as: .zip

Change History (5)

by alexkemp, 8 years ago

Attachment: Workspace 1_001.png added

Screen-shot whilst JOSM frozen

by alexkemp, 8 years ago

Attachment: jstack-info.txt added

Result from jstack 27457 > jstack-info.txt obtained whilst JOSM is frozen

comment:1 by stoecker, 8 years ago

Related to #14659? Background loading broken somehow?

comment:2 by Don-vip, 8 years ago

Keywords: deadlock added

The root cause appears in the jstack output (thanks for sharing it):

"pool-2-thread-3" #341 prio=5 os_prio=0 tid=0x0000000000747800 nid=0x71ca in Object.wait() [0x00007fb4cfdfb000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:502)
	at javax.swing.text.AbstractDocument.readLock(AbstractDocument.java:1387)
	- locked <0x00000000db04f958> (a javax.swing.text.html.HTMLDocument)
	at javax.swing.plaf.basic.BasicTextUI.getMinimumSize(BasicTextUI.java:942)
	at javax.swing.JComponent.getMinimumSize(JComponent.java:1744)
	at javax.swing.GroupLayout$ComponentSpring.calculateNonlinkedMinimumSize(GroupLayout.java:3008)
	at javax.swing.GroupLayout$ComponentSpring.calculateMinimumSize(GroupLayout.java:2972)
	at javax.swing.GroupLayout$Spring.getMinimumSize(GroupLayout.java:1336)
	at javax.swing.GroupLayout$ComponentSpring.calculatePreferredSize(GroupLayout.java:2979)
	at javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1346)
	at javax.swing.GroupLayout$Group.getSpringSize(GroupLayout.java:1638)
	at javax.swing.GroupLayout$Group.calculateSize(GroupLayout.java:1627)
	at javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1602)
	at javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1346)
	at javax.swing.GroupLayout$Group.getSpringSize(GroupLayout.java:1638)
	at javax.swing.GroupLayout$Group.calculateSize(GroupLayout.java:1625)
	at javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1602)
	at javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1346)
	at javax.swing.GroupLayout.calculateAutopadding(GroupLayout.java:1071)
	at javax.swing.GroupLayout.prepare(GroupLayout.java:1058)
	at javax.swing.GroupLayout.preferredLayoutSize(GroupLayout.java:878)
	at java.awt.Container.preferredSize(Container.java:1796)
	- locked <0x000000008d4dd180> (a java.awt.Component$AWTTreeLock)
	at java.awt.Container.getPreferredSize(Container.java:1780)
	at javax.swing.JComponent.getPreferredSize(JComponent.java:1664)
	at java.awt.FlowLayout.preferredLayoutSize(FlowLayout.java:414)
	- locked <0x000000008d4dd180> (a java.awt.Component$AWTTreeLock)
	at java.awt.Container.preferredSize(Container.java:1796)
	- locked <0x000000008d4dd180> (a java.awt.Component$AWTTreeLock)
	at java.awt.Container.getPreferredSize(Container.java:1780)
	at javax.swing.JComponent.getPreferredSize(JComponent.java:1664)
	at org.openstreetmap.josm.gui.NotificationManager.processQueue(NotificationManager.java:110)
	at org.openstreetmap.josm.gui.NotificationManager.showNotification(NotificationManager.java:95)
	- locked <0x00000000943387c0> (a java.util.LinkedList)
	at org.openstreetmap.josm.gui.Notification.show(Notification.java:211)
	at org.openstreetmap.josm.plugins.mapillary.io.download.BoundsDownloadRunnable.run(BoundsDownloadRunnable.java:44)
	at org.openstreetmap.josm.plugins.mapillary.io.download.MapillarySquareDownloadRunnable.run(MapillarySquareDownloadRunnable.java:33)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"pool-2-thread-2" #328 prio=5 os_prio=0 tid=0x000000000072f000 nid=0x71ba waiting for monitor entry [0x00007fb4cfbfa000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.openstreetmap.josm.gui.NotificationManager.showNotification(NotificationManager.java:94)
	- waiting to lock <0x00000000943387c0> (a java.util.LinkedList)
	at org.openstreetmap.josm.gui.Notification.show(Notification.java:211)
	at org.openstreetmap.josm.plugins.mapillary.io.download.BoundsDownloadRunnable.run(BoundsDownloadRunnable.java:44)
	at org.openstreetmap.josm.plugins.mapillary.io.download.MapillarySquareDownloadRunnable.run(MapillarySquareDownloadRunnable.java:33)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

So this is again the deadlock caused by NotificationManager. There's already a ticket on this. Probably the root cause of #14659 as well.

comment:3 by Don-vip, 8 years ago

Resolution: duplicate
Status: newclosed

Closed as duplicate of #13809.

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.