Modify

Opened 4 years ago

Closed 4 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 4 years ago.
Screen-shot whilst JOSM frozen
jstack-info.txt (48.3 KB) - added by alexkemp 4 years ago.
Result from jstack 27457 > jstack-info.txt obtained whilst JOSM is frozen

Download all attachments as: .zip

Change History (5)

Changed 4 years ago by alexkemp

Attachment: Workspace 1_001.png added

Screen-shot whilst JOSM frozen

Changed 4 years ago by alexkemp

Attachment: jstack-info.txt added

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

comment:1 Changed 4 years ago by stoecker

Related to #14659? Background loading broken somehow?

comment:2 Changed 4 years ago by Don-vip

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 Changed 4 years ago by Don-vip

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.

Add Comment


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

 
Note: See TracTickets for help on using tickets.