assertj / assertj-swing

Fluent assertions for Swing apps
Other
107 stars 52 forks source link

Failures due to stopped timers in org.fest.swing.monitor.Windows #32

Open croesch opened 10 years ago

croesch commented 10 years ago

Issue by Martin Ginkel from Tue, 18 May 2010 04:07:14 -0500 Originally opened as http://jira.codehaus.org/browse/FEST-346


After the start of some GUI test an exception occurs (stacktrace below) and repeats a couple of times.
As far as I can tell, my test has no problems. At that point it is opening and closing
modal dialogs that display a progress-spinner in front of the main UI.
The problem happened 3 times on our CI system but is not reliably reproducable
(the other test runs were just fine).

The timer-thread that is apparently cancelled here, can only get to this state by being finalize()ed.
This is very strange, if the org.fest.swing.monitor.Windows is still alive. The junit test has just started, is working with a Robot.robotWithNewAwtHierarchy() within the first @Test method.

java.lang.IllegalStateException: Timer already cancelled.
    at java.util.Timer.sched(Timer.java:354)
    at java.util.Timer.schedule(Timer.java:170)
    at org.fest.swing.monitor.Windows.markAsShowing(Windows.java:100)
    at org.fest.swing.monitor.ContextMonitor.recognizeAsOpenWindow(ContextMonitor.java:92)
    at org.fest.swing.monitor.ContextMonitor.processEvent(ContextMonitor.java:83)
    at org.fest.swing.monitor.ContextMonitor.eventDispatched(ContextMonitor.java:64)
    at org.fest.swing.listener.WeakEventListener.eventDispatched(WeakEventListener.java:80)
    at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Toolkit.java:2353)
    at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2244)
    at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2244)
    at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2244)
    at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2244)
    at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2244)
    at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2244)
    at java.awt.Toolkit.notifyAWTEventListeners(Toolkit.java:2203)
    at java.awt.Component.dispatchEventImpl(Component.java:4528)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
    at java.awt.Dialog$1.run(Dialog.java:1046)
    at java.awt.Dialog$3.run(Dialog.java:1098)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Dialog.show(Dialog.java:1096)
    at java.awt.Component.show(Component.java:1563)
    at java.awt.Component.setVisible(Component.java:1515)
    at java.awt.Window.setVisible(Window.java:842)
    at java.awt.Dialog.setVisible(Dialog.java:986)
    at genedata.screener.common.awt.BusyProgressDialog$2.run(BusyProgressDialog.java:119)
    at genedata.util.threads.Threads.invokeInEDTAndWait(Threads.java:129)
    at genedata.screener.common.awt.BusyProgressDialog.showDialog(BusyProgressDialog.java:115)
    at genedata.screener.common.awt.DefaultProcessingHandler.showModalDialogAndWait(DefaultProcessingHandler.java:347)
    at genedata.screener.common.awt.DefaultProcessingHandler.access$500(DefaultProcessingHandler.java:59)
    at genedata.screener.common.awt.DefaultProcessingHandler$4.run(DefaultProcessingHandler.java:279)
    at genedata.util.threads.Threads.invokeInEDTAndWait(Threads.java:129)
    at genedata.screener.common.awt.DefaultProcessingHandler.runWithProgress(DefaultProcessingHandler.java:265)
    at genedata.screener.common.awt.DefaultProcessingHandler.runWithSpinner(DefaultProcessingHandler.java:196)
    at genedata.screener.common.gui.definition.EditExperimentWizardState.setCorporateIdentifierAndLoadAnnotationSchemes(EditExperimentWizardState.java:245)
    at genedata.screener.aa.mgmnt.io.RawDataLoadingContext$1.promptForTarget(RawDataLoadingContext.java:74)
    at genedata.screener.aa.mgmnt.io.IOManager.doLoad(IOManager.java:297)
    at genedata.screener.aa.mgmnt.io.IOManager.loadExperimentData(IOManager.java:171)
    at genedata.screener.aa.mgmnt.io.IOManager.loadRawData(IOManager.java:167)
    at genedata.screener.aa.gui.actions.LoadExperimentDataFromFileAction.handledActionPerformed(LoadExperimentDataFromFileAction.java:28)
    at genedata.screener.common.awt.actions.AbstractHandledAction.actionPerformed(AbstractHandledAction.java:31)
    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.AbstractButton.doClick(AbstractButton.java:357)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
    at java.awt.Component.processMouseEvent(Component.java:6263)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6028)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

votes (original issue): 0 watches (original issue): 0

pranasblk commented 7 years ago

Martin,

Are you running automated test with Jenkins/Hudson on Windows 10 by some lucky chance? I would be very grateful for sharing tips on set-up.

Thanks, Pranas