Modify

Opened 11 years ago

Closed 11 years ago

Last modified 10 years ago

#8921 closed defect (othersoftware)

Many exceptions caused by EDT violations with latest security update of OpenJDK 6

Reported by: skyper Owned by: team
Priority: major Milestone:
Component: Core Version: latest
Keywords: edt openjdk java6 linux debian ubuntu Cc:

Description

What steps will reproduce the problem?

  1. start JOSM and open some data
  2. select object and open add value dialog
  3. double click on a pair really fast

What is the expected result?

key-value pair is added and dialog is closed

What happens instead?

NPE

Please provide any additional information below. Attach a screenshot if

possible.

I use a list of 25 entries with preserving set to true.

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2013-07-28 01:34:50
Last Changed Author: akks
Revision: 6090
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2013-07-26 21:45:36 +0200 (Fri, 26 Jul 2013)
Last Changed Rev: 6090

Identification: JOSM/1.5 (6090 en) Linux Debian GNU/Linux 7.1 (wheezy)
Memory Usage: 363 MB / 592 MB (177 MB allocated, but free)
Java version: 1.6.0_27, Sun Microsystems Inc., OpenJDK 64-Bit Server VM
Program arguments: []
Dataset consistency test: No problems found

Plugin: OpeningHoursEditor (29778)
Plugin: conflation (0.1.6)
Plugin: jts (29613)
Plugin: mirrored_download (29643)
Plugin: notes (0.1-4-ge6be9c4)
Plugin: openstreetbugs (29435)
Plugin: reverter (29771)
Plugin: undelete (29555)
Plugin: utilsplugin2 (29771)
Plugin: wikipedia (29778)

java.lang.NullPointerException
	at javax.swing.SwingUtilities.getWindowAncestor(SwingUtilities.java:137)
	at javax.swing.SwingUtilities.windowForComponent(SwingUtilities.java:455)
	at javax.swing.ToolTipManager.showTipWindow(ToolTipManager.java:309)
	at javax.swing.ToolTipManager$insideTimerAction.actionPerformed(ToolTipManager.java:629)
	at javax.swing.Timer.fireActionPerformed(Timer.java:313)
	at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673)
	at java.awt.EventQueue.access$300(EventQueue.java:96)
	at java.awt.EventQueue$2.run(EventQueue.java:634)
	at java.awt.EventQueue$2.run(EventQueue.java:632)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:108)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:643)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

Attachments (3)

possible_fix.patch (1.3 KB ) - added by akks 11 years ago.
edt_vio.log (69.6 KB ) - added by skyper 11 years ago.
log file
edt_vio2.log (200.1 KB ) - added by skyper 11 years ago.
second error log file

Download all attachments as: .zip

Change History (46)

comment:1 by akks, 11 years ago

This and #8922 may be really hard to fix, because no JOSM code is involved directly.

Could you try applying the following patch? (or using this build: https://dl.dropboxusercontent.com/u/63393258/josm-custom.jar)

by akks, 11 years ago

Attachment: possible_fix.patch added

comment:2 by skyper, 11 years ago

Testing I found another bug #8926. Maybe it is related.

comment:3 by skyper, 11 years ago

Well, I get some "EDT violations" just adding tags.

Information: Einstellungsdatei '$HOME/.josm-test/preferences.xml' fehlt. Erstelle Standardeinstellungsdatei.
GET http://api.openstreetmap.org/api/capabilities... OK
Enabled EDT checker, wrongful access to gui from non EDT thread will be printed to console

EDT violation detected
javax.swing.plaf.metal.MetalComboBoxEditor$1[,0,0,277x24,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.metal.MetalComboBoxEditor$EditorBorder@1f4790be,flags=8388904,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=9,columnWidth=12,command=,horizontalAlignment=LEADING]
	at java.lang.Thread.getStackTrace(Thread.java:1495)
	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:4736)
	at java.awt.Component.repaint(Component.java:3137)
	at javax.swing.text.DefaultCaret.repaint(DefaultCaret.java:245)
	at javax.swing.text.DefaultCaret$Handler.actionPerformed(DefaultCaret.java:1651)
	at javax.swing.Timer.fireActionPerformed(Timer.java:313)
	at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673)
	at java.awt.EventQueue.access$300(EventQueue.java:96)
	at java.awt.EventQueue$2.run(EventQueue.java:634)
	at java.awt.EventQueue$2.run(EventQueue.java:632)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:108)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:643)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

EDT violation detected
javax.swing.plaf.metal.MetalComboBoxEditor$1[,0,0,277x24,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.metal.MetalComboBoxEditor$EditorBorder@6ac1abcf,flags=8388904,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=9,columnWidth=12,command=,horizontalAlignment=LEADING]
	at java.lang.Thread.getStackTrace(Thread.java:1495)
	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:4736)
	at java.awt.Component.repaint(Component.java:3137)
	at javax.swing.text.DefaultCaret.repaint(DefaultCaret.java:245)
	at javax.swing.text.DefaultCaret$Handler.actionPerformed(DefaultCaret.java:1651)
	at javax.swing.Timer.fireActionPerformed(Timer.java:313)
	at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673)
	at java.awt.EventQueue.access$300(EventQueue.java:96)
	at java.awt.EventQueue$2.run(EventQueue.java:634)
	at java.awt.EventQueue$2.run(EventQueue.java:632)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:108)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:643)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

EDT violation detected
javax.swing.JCheckBoxMenuItem[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.metal.MetalBorders$MenuItemBorder@19f71b53,flags=264,maximumSize=,minimumSize=,preferredSize=,defaultIcon=javax.swing.ImageIcon@7994d431,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2],paintBorder=true,paintFocus=false,pressedIcon=,rolloverEnabled=false,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Angle snapping]
	at java.lang.Thread.getStackTrace(Thread.java:1495)
	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:4736)
	at java.awt.Component.repaint(Component.java:3094)
	at javax.swing.AbstractButton$Handler.stateChanged(AbstractButton.java:2328)
	at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:350)
	at javax.swing.JToggleButton$ToggleButtonModel.setSelected(JToggleButton.java:269)
	at javax.swing.AbstractButton.setSelected(AbstractButton.java:346)
	at javax.swing.JCheckBoxMenuItem.setState(JCheckBoxMenuItem.java:205)
	at org.openstreetmap.josm.actions.mapmode.DrawAction$SnapHelper.toggleSnapping(DrawAction.java:1643)
	at org.openstreetmap.josm.actions.mapmode.DrawAction$SnapHelper.unFixOrTurnOff(DrawAction.java:1697)
	at org.openstreetmap.josm.actions.mapmode.DrawAction$SnapHelper.access$500(DrawAction.java:1312)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.doKeyReleaseEvent(DrawAction.java:334)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.access$400(DrawAction.java:83)
	at org.openstreetmap.josm.actions.mapmode.DrawAction$1.actionPerformed(DrawAction.java:229)
	at javax.swing.Timer.fireActionPerformed(Timer.java:313)
	at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673)
	at java.awt.EventQueue.access$300(EventQueue.java:96)
	at java.awt.EventQueue$2.run(EventQueue.java:634)
	at java.awt.EventQueue$2.run(EventQueue.java:632)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:108)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:643)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

EDT violation detected
org.openstreetmap.josm.gui.widgets.ImageLabel[,313,5,73x19,layout=java.awt.GridBagLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
	at java.lang.Thread.getStackTrace(Thread.java:1495)
	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:4736)
	at java.awt.Component.repaint(Component.java:3094)
	at javax.swing.JComponent.setBackground(JComponent.java:2705)
	at org.openstreetmap.josm.gui.MapStatus.activateAnglePanel(MapStatus.java:889)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.showStatusInfo(DrawAction.java:861)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.computeHelperLine(DrawAction.java:812)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.doKeyReleaseEvent(DrawAction.java:335)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.access$400(DrawAction.java:83)
	at org.openstreetmap.josm.actions.mapmode.DrawAction$1.actionPerformed(DrawAction.java:229)
	at javax.swing.Timer.fireActionPerformed(Timer.java:313)
	at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673)
	at java.awt.EventQueue.access$300(EventQueue.java:96)
	at java.awt.EventQueue$2.run(EventQueue.java:634)
	at java.awt.EventQueue$2.run(EventQueue.java:632)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:108)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:643)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

EDT violation detected
org.openstreetmap.josm.gui.MapStatus[,0,617,998x29,layout=java.awt.GridBagLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.EmptyBorder@2e22f376,flags=9,maximumSize=,minimumSize=,preferredSize=]
	at java.lang.Thread.getStackTrace(Thread.java:1495)
	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:4736)
	at java.awt.Component.repaint(Component.java:3094)
	at org.openstreetmap.josm.actions.mapmode.MapMode.updateStatusLine(MapMode.java:70)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.redrawIfRequired(DrawAction.java:156)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.doKeyReleaseEvent(DrawAction.java:336)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.access$400(DrawAction.java:83)
	at org.openstreetmap.josm.actions.mapmode.DrawAction$1.actionPerformed(DrawAction.java:229)
	at javax.swing.Timer.fireActionPerformed(Timer.java:313)
	at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673)
	at java.awt.EventQueue.access$300(EventQueue.java:96)
	at java.awt.EventQueue$2.run(EventQueue.java:634)
	at java.awt.EventQueue$2.run(EventQueue.java:632)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:108)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:643)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

EDT violation detected
org.openstreetmap.josm.gui.MapView[,0,0,617x615,alignmentX=0.0,alignmentY=0.0,border=,flags=2,maximumSize=,minimumSize=java.awt.Dimension[width=10,height=0],preferredSize=]
	at java.lang.Thread.getStackTrace(Thread.java:1495)
	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:4736)
	at java.awt.Component.repaint(Component.java:3094)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.redrawIfRequired(DrawAction.java:196)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.doKeyReleaseEvent(DrawAction.java:336)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.access$400(DrawAction.java:83)
	at org.openstreetmap.josm.actions.mapmode.DrawAction$1.actionPerformed(DrawAction.java:229)
	at javax.swing.Timer.fireActionPerformed(Timer.java:313)
	at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673)
	at java.awt.EventQueue.access$300(EventQueue.java:96)
	at java.awt.EventQueue$2.run(EventQueue.java:634)
	at java.awt.EventQueue$2.run(EventQueue.java:632)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:108)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:643)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

EDT violation detected
javax.swing.plaf.metal.MetalComboBoxEditor$1[,0,0,277x24,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.metal.MetalComboBoxEditor$EditorBorder@1e4651bf,flags=8388904,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=9,columnWidth=12,command=,horizontalAlignment=LEADING]
	at java.lang.Thread.getStackTrace(Thread.java:1495)
	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:4736)
	at java.awt.Component.repaint(Component.java:3137)
	at javax.swing.text.DefaultCaret.repaint(DefaultCaret.java:245)
	at javax.swing.text.DefaultCaret$Handler.actionPerformed(DefaultCaret.java:1651)
	at javax.swing.Timer.fireActionPerformed(Timer.java:313)
	at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673)
	at java.awt.EventQueue.access$300(EventQueue.java:96)
	at java.awt.EventQueue$2.run(EventQueue.java:634)
	at java.awt.EventQueue$2.run(EventQueue.java:632)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:108)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:643)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

comment:4 by akks, 11 years ago

Yes, EDT can cause this. They are very nasty :)

Could you please log these violations with this build
https://dl.dropboxusercontent.com/u/63393258/josm-custom.jar
(it adds printing current event and thread, the link is always the same, old josm-custom was replaced)

by skyper, 11 years ago

Attachment: edt_vio.log added

log file

comment:5 by skyper, 11 years ago

Here you go: edt_vio.log

comment:6 by akks, 11 years ago

Thank you. Sorry for that image-printing.

@team: I really can not understand how EDT violation could take place when Thread.currentTread in "main"...

by skyper, 11 years ago

Attachment: edt_vio2.log added

second error log file

comment:7 by skyper, 11 years ago

Happened again. This time within the dialog. I am not sure if I did left click into map view or not.

Please find attached the error log file.

Build-Date: 2013-07-31 22:11:33
Revision: 6094
Is-Local-Build: true

Identification: JOSM/1.5 (6094 SVN en) Linux Debian GNU/Linux 7.1 (wheezy)
Memory Usage: 133 MB / 672 MB (35 MB allocated, but free)
Java version: 1.6.0_27, Sun Microsystems Inc., OpenJDK 64-Bit Server VM
Dataset consistency test: No problems found

Plugin: OpeningHoursEditor (29778)
Plugin: conflation (0.1.6)
Plugin: jts (29613)
Plugin: mirrored_download (29643)
Plugin: notes (0.3)
Plugin: openstreetbugs (29435)
Plugin: reverter (29771)
Plugin: undelete (29555)
Plugin: utilsplugin2 (29771)
Plugin: wikipedia (29778)

java.lang.NullPointerException
	at javax.swing.ToolTipManager.showTipWindow(ToolTipManager.java:256)
	at javax.swing.ToolTipManager$insideTimerAction.actionPerformed(ToolTipManager.java:629)
	at javax.swing.Timer.fireActionPerformed(Timer.java:313)
	at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673)
	at java.awt.EventQueue.access$300(EventQueue.java:96)
	at java.awt.EventQueue$2.run(EventQueue.java:634)
	at java.awt.EventQueue$2.run(EventQueue.java:632)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:108)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:643)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

comment:8 by akks, 11 years ago

In 6099/josm:

see #8921: avoid setTooltipText(null) (gives NPE when tooltip is shown on some JVMs)

comment:9 by akks, 11 years ago

I found some info about Swing bug - if we set setTooltipText(null), there will be exception later in different place (JVM-dependent).
I tried to eliminate such calls, hope it will help.

in reply to:  9 comment:11 by Don-vip, 11 years ago

Replying to akks:

I found some info about Swing bug - if we set setTooltipText(null), there will be exception later in different place (JVM-dependent).
I tried to eliminate such calls, hope it will help.

Are you sure ? I have set several tooltips to null intentionnally because the Javadoc states:

text - the string to display; if the text is null, the tool tip is turned off for this component

What JVMs would not respect this statement ? OpenJdk6 ? Have you checked that setting up an empty string do not display an empty tooltip instead of disabling it ?

comment:12 by akks, 11 years ago

@Don-vip: Thank you for noticing!
Reverted it for sure in [6101]. We need to be more careful near stable version.

@skyper: If the custom build fixes the bug (though it seems that no), I can return needed portions of the patch.

in reply to:  9 ; comment:13 by bastiK, 11 years ago

Replying to akks:

I found some info about Swing bug - if we set setTooltipText(null), there will be exception later in different place (JVM-dependent).
I tried to eliminate such calls, hope it will help.

Can you post a link to the info? I also have some doubts that this is the best fix.

comment:14 by bastiK, 11 years ago

maybe related: #8931

in reply to:  13 comment:15 by akks, 11 years ago

Replying to bastiK:

Replying to akks:

I found some info about Swing bug - if we set setTooltipText(null), there will be exception later in different place (JVM-dependent).
I tried to eliminate such calls, hope it will help.

Can you post a link to the info? I also have some doubts that this is the best fix.

I have already reverted the changes.
I meant the bug http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6219960
but seems that it is unrelated.

I have looked into JDK sources and can deduct that this is some EDT violation:

    void showTipWindow() {
        if(insideComponent == null || !insideComponent.isShowing())
            return;
....
         Window componentWindow = SwingUtilities.windowForComponent(insideComponent);  <--------   NPE 

windowForComponent(insideComponent) -> getWindowAncestor(insideComponent) -> insideComponent.getParent() , so
insideComponent was set to null by someone else during the void showTipWindow() call.

P.S. Just seen the same analysis in #8931. It is the same bug, I guess (and the same JDK 1.6.27 on linux 64),

Last edited 11 years ago by akks (previous) (diff)

comment:16 by akks, 11 years ago

Can the timer events be executed in different thread than mouse clicks, for example? (mouse clicks sets insideComponent to null). I feel suspicious of that Thread[AWT-EventQueue-2,6,main] in log file (I have only AWT-EventQueue-0).
There are no plugins in #8931, by the way.

Last edited 11 years ago by akks (previous) (diff)

comment:17 by akks, 11 years ago

According to the code, AWT-EventQueue-2 can be created only after AWT-EventQueue-0 and AWT-EventQueue-1. Why JDK or someone else created it - that is a question...
P.S. According to https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000000019749, new queue is generated for a new java.awt.Dialog. So when one dialog will access other GUI, it will be EDT violation???

Last edited 11 years ago by akks (previous) (diff)

in reply to:  12 ; comment:18 by skyper, 11 years ago

Replying to akks:

@skyper: If the custom build fixes the bug (though it seems that no), I can return needed portions of the patch.

Does not fix the bug

in reply to:  18 comment:19 by akks, 11 years ago

Replying to skyper:

Replying to akks:

@skyper: If the custom build fixes the bug (though it seems that no), I can return needed portions of the patch.

Does not fix the bug

So I was right to revert the changes :)
Must be openjdk-6 incompatibility, EDT-violation involved.
I am trying to reproduce EDT violations on Ubuntu 12.04 + 1.6.0_27 .

Last edited 11 years ago by akks (previous) (diff)

comment:20 by akks, 11 years ago

Reproduced EDTVs (no plugins!). I guess if we fix them, the bug will go too.

Last edited 11 years ago by akks (previous) (diff)

comment:21 by akks, 11 years ago

There are much more threads when program is run with OpenJDK6, so - much more EDT violations!
The bug is caused by them.
I also find openjdk6 extremely buggy on Ubuntu 12.04 - Netbeans can not create new projects and even save files (!), autocompletion hangs...

Last edited 11 years ago by akks (previous) (diff)

comment:22 by akks, 11 years ago

Arrgh! It is the freshest security-update-bug from Debian-Ubuntu-OpenJDK team :)
https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/1204906

Last edited 11 years ago by akks (previous) (diff)

comment:23 by Don-vip, 11 years ago

Keywords: edt openjdk java6 linux debian ubuntu added; template_report add value removed

comment:24 by Don-vip, 11 years ago

Summary: NPE in add value dialogNPE in add value dialog and EDT violations with latest security update of OpenJDK 6

comment:25 by Don-vip, 11 years ago

Ticket #8931 has been marked as a duplicate of this ticket.

comment:26 by Don-vip, 11 years ago

Ticket #8929 has been marked as a duplicate of this ticket.

comment:27 by Don-vip, 11 years ago

Ticket #8922 has been marked as a duplicate of this ticket.

comment:28 by Don-vip, 11 years ago

Priority: normalmajor

comment:29 by Don-vip, 11 years ago

Summary: NPE in add value dialog and EDT violations with latest security update of OpenJDK 6Many exceptions caused by EDT violations with latest security update of OpenJDK 6

comment:30 by bastiK, 11 years ago

In 6103/josm:

see #8921 - add Java package version to the status report

comment:31 by Don-vip, 11 years ago

Resolution: othersoftware
Status: newclosed

comment:32 by bastiK, 11 years ago

Ubuntu 12.10 is also affected (openjdk-6-jre-6b27-1.12.6-1ubuntu0.12.10.2)

comment:33 by skyper, 11 years ago

Ticket #8984 has been marked as a duplicate of this ticket.

comment:34 by anonymous, 11 years ago

same issue with XUnbutu precise 12.04.3 LTS 3.2.0-52-generic with java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

comment:35 by Don-vip, 11 years ago

A good reason to switch to Java 7 then :)

comment:36 by skyper, 11 years ago

Ticket #9049 has been marked as a duplicate of this ticket.

comment:37 by Don-vip, 11 years ago

Ticket #9058 has been marked as a duplicate of this ticket.

in reply to:  32 comment:38 by skyper, 11 years ago

Replying to bastiK:

Ubuntu 12.10 is also affected (openjdk-6-jre-6b27-1.12.6-1ubuntu0.12.10.2)

The line goes down as far as Ubuntu 10.4.4 LTS (openjdk-6-jre:i386-6b27-1.12.6-1ubuntu0.10.04.2) which should be officially supported till 2015. Not sure if openjdk-7 is available though.

Last edited 11 years ago by skyper (previous) (diff)

comment:39 by Don-vip, 11 years ago

I hope this bug will be fixed before 2015 :) It has been triaged recently on IcedTea's bugzilla.

comment:40 by Don-vip, 10 years ago

Ticket #9160 has been marked as a duplicate of this ticket.

comment:41 by Don-vip, 10 years ago

Ticket #9243 has been marked as a duplicate of this ticket.

comment:42 by Don-vip, 10 years ago

There is finally an update for IcedTea 6 1.12.x:
http://blog.fuseyism.com/index.php/2013/11/25/security-icedtea-1-12-7-for-openjdk-6-released/

My bug has not been treated but may has been solved through another one, we'll have to look at debian/ubuntu package update.

comment:43 by Don-vip, 10 years ago

Ticket #9396 has been marked as a duplicate of this ticket.

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.