Modify

Opened 10 years ago

Closed 10 years ago

#10987 closed defect (fixed)

EDT violation during GeoImageLayer merge

Reported by: holgermappt Owned by: team
Priority: normal Milestone: 15.01
Component: Core Version: latest
Keywords: template_report Cc:

Description (last modified by holgermappt)

What steps will reproduce the problem?

  1. Get the two images from ticket:10853: attachment:ticket:10853:fullexifgps.jpg and attachment:ticket:10853:noexifgps.jpg
  2. Download session file geoimage_ivd_edt_violation.jos
  3. Start JOSM in the directory where the images are with the session file as argument
  4. Select layer Geotagged Images 1
  5. Merge with other layer (icon Merge this layer into another layer, click Merge in following dialog)

What is the expected result?

No EDT violation.

What happens instead?

EDT violation detected
javax.swing.JButton[,36,5,26x26,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@7219e3b5,flags=424,maximumSize=,minimumSize=,preferredSize=java.awt.Dimension[width=26,height=26],defaultIcon=javax.swing.ImageIcon@3f531236,disabledIcon=sun.swing.ImageIconUIResource@10ccbf28,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=null,defaultCapable=true]
        at java.lang.Thread.getStackTrace(Thread.java:1589)
        at org.jdesktop.swinghelper.debug.CheckThreadViolationRepaintManager.checkThreadViolations(CheckThreadViolationRepaintManager.java:81)
        at org.jdesktop.swinghelper.debug.CheckThreadViolationRepaintManager.addDirtyRegion(CheckThreadViolationRepaintManager.java:72)
        at javax.swing.JComponent.repaint(JComponent.java:4784)
        at java.awt.Component.repaint(Component.java:3297)
        at javax.swing.JComponent.setEnabled(JComponent.java:2670)
        at javax.swing.AbstractButton.setEnabled(AbstractButton.java:2087)
        at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.setNextEnabled(ImageViewerDialog.java:271)
        at org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer.checkPreviousNextButtons(GeoImageLayer.java:746)
        at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.showImage(ImageViewerDialog.java:251)
        at org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer.mergeFrom(GeoImageLayer.java:416)
        at org.openstreetmap.josm.actions.MergeLayerAction$1.run(MergeLayerAction.java:55)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

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

Build-Date: 2015-01-17 18:33:25
Revision: 7968
Is-Local-Build: true

Identification: JOSM/1.5 (7968 SVN en) Linux openSUSE 13.2 (Harlequin) (x86_64)
Memory Usage: 481 MB / 7141 MB (368 MB allocated, but free)
Java version: 1.7.0_71, Oracle Corporation, OpenJDK 64-Bit Server VM
Java package: java-1_7_0-openjdk:x86_64-1.7.0.71
Program arguments: [geoimage_ivd_edt_violation.jos]

Plugins:
- HouseNumberTaggingTool (30416)
- InfoMode (30416)
- PicLayer (30436)
- Tracer2 (30416)
- buildings_tools (30485)
- continuosDownload (28565)
- graphview (30416)
- imageryadjust (30416)
- log4j (30416)
- measurement (30416)
- mirrored_download (30495)
- photo_geotagging (30887)
- photoadjust (30905)
- reverter (30521)
- terracer (30416)
- undelete (30416)
- utilsplugin2 (30460)

Comments

changeset:6964 moved Main.main.removeLayer() into GuiHelper.runInEDTAndWait(). There is no violation if targetLayer.mergeFrom() is moved into it too. But I don't know if that would cause other trouble.

Attachments (1)

geoimage_ivd_edt_violation.jos (1.7 KB ) - added by holgermappt 10 years ago.
Session file

Download all attachments as: .zip

Change History (5)

by holgermappt, 10 years ago

Session file

comment:1 by holgermappt, 10 years ago

Description: modified (diff)

comment:2 by Don-vip, 10 years ago

Milestone: 15.01

in reply to:  description comment:3 by bastiK, 10 years ago

changeset:6964 moved Main.main.removeLayer() into GuiHelper.runInEDTAndWait(). There is no violation if targetLayer.mergeFrom() is moved into it too. But I don't know if that would cause other trouble.

A patch would certainly be appreciated, even if you aren't 100% sure. You should test it and the person that applies the patch will also check if it looks alright.

comment:4 by Don-vip, 10 years ago

Resolution: fixed
Status: newclosed

In 7983/josm:

fix #10987 - EDT violation during GeoImageLayer merge

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.