0

I'm still following the still following the Getting Started version 0.9.

When I run the sample application, and I quit it, the following exception are reported in console:

Stopping JavaFX Application "MyApplication 1.0.0-SNAPSHOT"...
Exception in thread "FelixStartLevel" java.lang.IllegalStateException: This operation is permitted on the event thread only; currentThread = FelixStartLevel
        at com.sun.glass.ui.Application.checkEventThread(Application.java:443)
        at com.sun.glass.ui.MenuItem.setEnabled(MenuItem.java:108)
        at com.sun.javafx.tk.quantum.GlassSystemMenu.lambda$insertMenuItem$347(GlassSystemMenu.java:261)
        at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137)
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
        at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
        at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
        at javafx.beans.property.BooleanPropertyBase.access$000(BooleanPropertyBase.java:49)
        at javafx.beans.property.BooleanPropertyBase$Listener.invalidated(BooleanPropertyBase.java:245)
        at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:349)
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
        at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
        at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
        at javafx.beans.property.BooleanPropertyBase.access$000(BooleanPropertyBase.java:49)
        at javafx.beans.property.BooleanPropertyBase$Listener.invalidated(BooleanPropertyBase.java:245)
        at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137)
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
        at javafx.beans.binding.BooleanBinding.invalidate(BooleanBinding.java:176)
        at com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:51)
        at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137)
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
        at javafx.beans.property.ReadOnlyBooleanPropertyBase.fireValueChangedEvent(ReadOnlyBooleanPropertyBase.java:72)
        at org.drombler.commons.action.fx.AbstractFXAction$EnabledProperty.set(AbstractFXAction.java:122)
        at org.drombler.commons.action.fx.AbstractFXAction$EnabledProperty.access$100(AbstractFXAction.java:110)
        at org.drombler.commons.action.fx.AbstractFXAction.setEnabled(AbstractFXAction.java:87)
        at org.drombler.commons.action.fx.ActionListenerAdapter.lambda$new$0(ActionListenerAdapter.java:36)
        at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
        at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:328)
        at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
        at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:303)
        at org.drombler.commons.action.AbstractActionListener.setEnabled(AbstractActionListener.java:54)
        at org.drombler.acp.core.standard.action.data.file.impl.OpenFilesAction.setFileChooserProvider(OpenFilesAction.java:75)
        at org.drombler.acp.core.commons.util.SimpleServiceTrackerCustomizer.removedService(SimpleServiceTrackerCustomizer.java:37)
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:967)
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:870)
        at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)
        at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:909)
        at org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
        at org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
        at org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4557)
        at org.apache.felix.framework.Felix.access$000(Felix.java:105)
        at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:419)
        at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:170)
        at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:144)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:908)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:873)
        at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:139)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterService(AbstractComponentManager.java:950)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:805)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:787)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.dispose(AbstractComponentManager.java:579)
        at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.disposeComponents(ConfigurableComponentHolder.java:706)
        at org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:523)
        at org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:452)
        at org.apache.felix.scr.impl.Activator.access$300(Activator.java:54)
        at org.apache.felix.scr.impl.Activator$ScrExtension.destroy(Activator.java:306)
        at org.apache.felix.utils.extender.AbstractExtender$2.run(AbstractExtender.java:290)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.apache.felix.utils.extender.AbstractExtender.destroyExtension(AbstractExtender.java:312)
        at org.apache.felix.utils.extender.AbstractExtender.bundleChanged(AbstractExtender.java:186)
        at org.apache.felix.framework.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:915)
        at org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:834)
        at org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:516)
        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)
        at org.apache.felix.framework.Felix.stopBundle(Felix.java:2600)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1389)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
        at java.lang.Thread.run(Thread.java:745)
Exception in thread "FelixStartLevel" java.lang.IllegalStateException: This operation is permitted on the event thread only; currentThread = FelixStartLevel
        at com.sun.glass.ui.Application.checkEventThread(Application.java:443)
        at com.sun.glass.ui.MenuItem.setEnabled(MenuItem.java:108)
        at com.sun.javafx.tk.quantum.GlassSystemMenu.lambda$insertMenuItem$347(GlassSystemMenu.java:261)
        at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137)
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
        at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
        at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
        at javafx.beans.property.BooleanPropertyBase.access$000(BooleanPropertyBase.java:49)
        at javafx.beans.property.BooleanPropertyBase$Listener.invalidated(BooleanPropertyBase.java:245)
        at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:349)
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
        at javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:103)
        at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
        at javafx.beans.property.BooleanPropertyBase.access$000(BooleanPropertyBase.java:49)
        at javafx.beans.property.BooleanPropertyBase$Listener.invalidated(BooleanPropertyBase.java:245)
        at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137)
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
        at javafx.beans.binding.BooleanBinding.invalidate(BooleanBinding.java:176)
        at com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:51)
        at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137)
        at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
        at javafx.beans.property.ReadOnlyBooleanPropertyBase.fireValueChangedEvent(ReadOnlyBooleanPropertyBase.java:72)
        at org.drombler.commons.action.fx.AbstractFXAction$EnabledProperty.set(AbstractFXAction.java:122)
        at org.drombler.commons.action.fx.AbstractFXAction$EnabledProperty.access$100(AbstractFXAction.java:110)
        at org.drombler.commons.action.fx.AbstractFXAction.setEnabled(AbstractFXAction.java:87)
        at org.drombler.commons.action.fx.ActionListenerAdapter.lambda$new$0(ActionListenerAdapter.java:36)
        at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
        at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:328)
        at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
        at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:303)
        at org.drombler.commons.action.AbstractActionListener.setEnabled(AbstractActionListener.java:54)
        at org.drombler.acp.core.standard.action.data.file.impl.OpenFilesAction.setFileChooserProvider(OpenFilesAction.java:75)
        at org.drombler.acp.core.commons.util.SimpleServiceTrackerCustomizer.removedService(SimpleServiceTrackerCustomizer.java:37)
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:967)
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:870)
        at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)
        at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:909)
        at org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
        at org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
        at org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4557)
        at org.apache.felix.framework.Felix.access$000(Felix.java:105)
        at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:419)
        at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:170)
        at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:144)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:908)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:873)
        at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:139)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterService(AbstractComponentManager.java:950)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:805)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:787)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.dispose(AbstractComponentManager.java:579)
        at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.disposeComponents(ConfigurableComponentHolder.java:706)
        at org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:523)
        at org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:452)
        at org.apache.felix.scr.impl.Activator.access$300(Activator.java:54)
        at org.apache.felix.scr.impl.Activator$ScrExtension.destroy(Activator.java:306)
        at org.apache.felix.utils.extender.AbstractExtender$2.run(AbstractExtender.java:290)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.apache.felix.utils.extender.AbstractExtender.destroyExtension(AbstractExtender.java:312)
        at org.apache.felix.utils.extender.AbstractExtender.bundleChanged(AbstractExtender.java:186)
        at org.apache.felix.framework.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:915)
        at org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:834)
        at org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:516)
        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)
        at org.apache.felix.framework.Felix.stopBundle(Felix.java:2600)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1389)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
        at java.lang.Thread.run(Thread.java:745)

After the error messages and before the last one (Stopped JavaFX Application "MyApplication 1.0.0-SNAPSHOT") the application is blocked for a while (a minute, ore or less).

Claudio

1 Answers1

0

This seems to be an issue when running on Mac.

Please file an issue.

Puce
  • 37,247
  • 13
  • 80
  • 152
  • The issue regarding the exception has been fixed with v0.10, which is now available: http://puces-blog.blogspot.ch/2017/07/drombler-fx-version-010-released.html The issue regarding the blocked application on shutdown is a Apache Felix issue. The issue has been fixed but it has not been released yet. You can track it here: https://issues.apache.org/jira/browse/FELIX-5652 and here: https://github.com/Drombler/drombler-fx/issues/185 – Puce Aug 02 '17 at 09:21
  • Correction: it seems to have been released just a few days ago: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.felix%22%20AND%20a%3A%22org.apache.felix.framework%22 I will check it upgrade the version in the next release. – Puce Aug 02 '17 at 09:25