ich hole mal ein Thema aus „http://hilfe.tvbrowser.org/viewtopic.ph ... 7&start=30“ wieder hervor, das seit igendeiner 3-er Versiion auftritt und sich bislang nicht gebessert hat:
===================================================================
Betroffen sind Unterfenster, in denen beim Speichern noch längere Aktionen stattfinden (Markierungen nach regulären Ausdrücken anbringen,…).ds10 hat geschrieben:[…] Welche Unterfenster, von welchen Plugins, tritt es zu bestimmten Zeiten auf?CHF hat geschrieben:1) „Unterfenster” hängen beim Schließen
[…] „OK“ schließt ein Unterfenster nicht immer; die darin gemachten Einstellungen werden zwar gespeichert, aber man muß das übergeordnete Fenster oder das ganze Programm schließen, um das Fenster loszuwerden, hängt sonst ewig.
Beispiel: Lieblingssendung neu erstellen oder ändern:
- Manchmal bleibt beim Schließen des Fensters der „OK“-Knopf gedrückt, danach geschieht nichts mehr, egal wie lange man wartet.
- Zuweilen hilft es, mit dem „x“-Knopf das Fenster zu schließen.
- Hilft das nicht, kann es helfen, das übergeordnete Fenster mit „x“ zu schließen, dann geht das Unterfenster mit zu.
- Hilft das auch nicht, kann es helfen, das ganze Programm zu schließen.
- Manchmal hilft nur noch, den Java-Prozeß zu killen.
===================================================================
So, nun habe ich das Phänomen wieder kurz nach einem Programmstart; es liegt also nicht (nur) daran, daß es bereits lange läuft, sondern kann unabhängig davon auftreten. In diesem Fall ist die CPU-Last auch zeitweise höher gewesen. Das „hängende“ Fenster blieb mit „eingedrücktem“ OK-Knopf ewig lange im Vordergrund und schloß sich, sobald ich das aufrufende Fenster geschlossen habe. Die Version ist 3.3.1 (nicht mehr Beta). Hier die Threads:CHF hat geschrieben:Nein, nicht unbedingt, das kommt darauf an, was gerade gemacht wird und sieht normal aus. Wenn das Problem auftritt, dauert es halt nur ewig, bis das Fenster sich wieder schließt.ds10 hat geschrieben:Geht denn die Prozessorlast auch hoch oder nicht?CHF hat geschrieben:Betroffen sind Unterfenster, in denen beim Speichern noch längere Aktionen stattfinden (Markierungen nach regulären Ausdrücken anbringen,…).Das tut es oft auch irgendwann; ich habe jetzt in solchen Fällen mal einfach lange abgewartet; mit den beschriebenen Aktionen kann man das Schließen des Fensters (anscheinend nebenwirkungsfrei) erzwingen, wenn's klappt, von selber dauert es zwischen „ein Bißchen zu lange“ über Minuten bis zu Stunden. Im Augenblick beobachte ich einen krassen Fall mal genauer: seit etwa einer Stunde geht das Fenster (rechte Taste in der Tabelle um eine Sendung als Lieblingssendung einzutragen) schon nicht zu. Es ist wohl ein Daten-Update dazwischengekommen. Die Programm-Ausgabe auf der Konsole bringt keine unerwarteten Meldungen. Man muß dazusagen, daß ich das Programm normalerweise im Hintergrund laufenlasse und nicht alle Nase lang neu starte, den Rechner friere ich über Nacht normalerweise auch nur ein (s2disk). Alles in allem läuft das jedoch extrem langsam.ds10 hat geschrieben:Die Fehlerbeschreibung hört sich nämlich eher danach an, dass ein Fehler auftritt der die Ausführung weiterer Abläufe unterbricht, denn sonst müsste sich das Fenster nach einer gewissen Wartezeit schließen.
Code: Alles auswählen
killall -QUIT java
2013-07-27 00:37:50
Full thread dump Java HotSpot(TM) Server VM (20.1-b02 mixed mode):
"Store settings periodically" prio=10 tid=0x09158400 nid=0x7c47 waiting on condition [0xaa0f7000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at tvbrowser.TVBrowser$3.run(TVBrowser.java:721)
"Timer-0" prio=10 tid=0x090a9400 nid=0x192 in Object.wait() [0xaa55c000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.util.TimerThread.mainLoop(Timer.java:509)
- locked <0xbf4925d8> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)
"Thread-5" daemon prio=10 tid=0x09240400 nid=0x7f37 waiting on condition [0xab3ad000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0xb7772878> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:317)
at sun.awt.X11.XTrayIconPeer$Balloon$Displayer.run(XTrayIconPeer.java:937)
"TimerQueue" daemon prio=10 tid=0x092a8000 nid=0x7f36 in Object.wait() [0xac4fe000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at javax.swing.TimerQueue.run(TimerQueue.java:232)
- locked <0xb5feab38> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Thread.java:662)
"DestroyJavaVM" prio=10 tid=0xf5705400 nid=0x7e43 waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE
"AWT-EventQueue-1" prio=10 tid=0xab0f7800 nid=0x7e5e in Object.wait() [0xaa5ab000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.getNextEvent(EventQueue.java:484)
- locked <0xb3b1e038> (a util.ui.textcomponentpopup.TextComponentPopupEventQueue)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:236)
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:1584)
at java.awt.Component.setVisible(Component.java:1536)
at java.awt.Window.setVisible(Window.java:842)
at java.awt.Dialog.setVisible(Dialog.java:986)
at util.ui.UiUtilities.centerAndShow(UiUtilities.java:158)
at util.ui.SearchHelper.doSearch(SearchHelper.java:263)
at util.ui.SearchHelper.search(SearchHelper.java:127)
at util.ui.SearchHelper.search(SearchHelper.java:141)
at tvbrowser.extras.searchplugin.SearchDialog.search(SearchDialog.java:193)
at tvbrowser.extras.searchplugin.SearchDialog.access$100(SearchDialog.java:63)
at tvbrowser.extras.searchplugin.SearchDialog$3.actionPerformed(SearchDialog.java:135)
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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
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:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
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:1584)
at java.awt.Component.setVisible(Component.java:1536)
at java.awt.Window.setVisible(Window.java:842)
at java.awt.Dialog.setVisible(Dialog.java:986)
at util.ui.UiUtilities.centerAndShow(UiUtilities.java:158)
at tvbrowser.extras.searchplugin.SearchPlugin.openSearchDialog(SearchPlugin.java:291)
at tvbrowser.extras.searchplugin.SearchPlugin.openSearchDialog(SearchPlugin.java:295)
at tvbrowser.extras.searchplugin.SearchPlugin$3.actionPerformed(SearchPlugin.java:201)
at devplugin.ButtonAction.actionPerformed(ButtonAction.java:70)
at tvbrowser.ui.mainframe.toolbar.ToolBar$11.actionPerformed(ToolBar.java:617)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at util.ui.PopupButton.fireActionPerformed(PopupButton.java:53)
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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
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:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
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)
"pool-1-thread-2" prio=10 tid=0xab7dac00 nid=0x7e5d waiting on condition [0xaa5fe000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at tvbrowser.core.plugin.PluginProxyManager$5.run(PluginProxyManager.java:1323)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
"pool-1-thread-1" prio=10 tid=0xab537800 nid=0x7e5c waiting on condition [0xaa95c000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at tvbrowser.core.plugin.PluginProxyManager$5.run(PluginProxyManager.java:1323)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
"Thread-3" prio=10 tid=0xaad0c400 nid=0x7e5b waiting on condition [0xaa9ad000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at personatimeswitcher.PersonaTimeSwitcher$1.run(PersonaTimeSwitcher.java:83)
"Thread-1" prio=10 tid=0xab4c3c00 nid=0x7e59 waiting on condition [0xab35c000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at soundreminder.SoundReminder$2.run(SoundReminder.java:271)
"AWT-Shutdown" prio=10 tid=0xab0f9c00 nid=0x7e56 in Object.wait() [0xab9ce000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:265)
- locked <0xb35d3570> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:662)
"AWT-XAWT" daemon prio=10 tid=0xada7a800 nid=0x7e4f runnable [0xad5fe000]
java.lang.Thread.State: RUNNABLE
at sun.awt.X11.XToolkit.waitForEvents(Native Method)
at sun.awt.X11.XToolkit.run(XToolkit.java:579)
at sun.awt.X11.XToolkit.run(XToolkit.java:543)
at java.lang.Thread.run(Thread.java:662)
"Java2D Disposer" daemon prio=10 tid=0xadaaec00 nid=0x7e4e in Object.wait() [0xad776000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0xb35cf760> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at sun.java2d.Disposer.run(Disposer.java:127)
at java.lang.Thread.run(Thread.java:662)
"Low Memory Detector" daemon prio=10 tid=0xf57cfc00 nid=0x7e4c runnable [0x00000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" daemon prio=10 tid=0xf57ce000 nid=0x7e4b waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" daemon prio=10 tid=0xf57cc000 nid=0x7e4a waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0xf57ca800 nid=0x7e49 waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0xf57bc800 nid=0x7e48 in Object.wait() [0xade94000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0xb33fcfb0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0xf57b7c00 nid=0x7e47 in Object.wait() [0xadee5000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0xb33fcf88> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0xf57b4000 nid=0x7e46 runnable
"GC task thread#0 (ParallelGC)" prio=10 tid=0xf570c400 nid=0x7e44 runnable
"GC task thread#1 (ParallelGC)" prio=10 tid=0xf570dc00 nid=0x7e45 runnable
"VM Periodic Task Thread" prio=10 tid=0xf57d1c00 nid=0x7e4d waiting on condition
JNI global references: 20615
Heap
PSYoungGen total 330112K, used 64790K [0xdd1b0000, 0xf2700000, 0xf2700000)
eden space 316352K, 20% used [0xdd1b0000,0xe10f5a70,0xf06a0000)
from space 13760K, 0% used [0xf06a0000,0xf06a0000,0xf1410000)
to space 17280K, 0% used [0xf1620000,0xf1620000,0xf2700000)
PSOldGen total 699072K, used 615918K [0xb2700000, 0xdd1b0000, 0xdd1b0000)
object space 699072K, 88% used [0xb2700000,0xd807b8a8,0xdd1b0000)
PSPermGen total 31360K, used 30119K [0xae700000, 0xb05a0000, 0xb2700000)
object space 31360K, 96% used [0xae700000,0xb0469cb8,0xb05a0000)
Neue Information: Ob das Fenster doch noch zugeht, erkennt man daran, daß irgendwann der Zeitpunkt kommt, wo der Rest des Programmes wieder reagiert. Kann man das hängende Fenster also beiseiteschieben und im Hauptfenster eine neue Aktion starten, die ein anderes Unterfenster öffnet, dann wird das hängende Fenster nicht mehr verschwinden.