Fritzbox Tr064 Binding error

Hi there,

I use Freebsd for my Openhab2 with Openjdk 11 or 13. With openjdk8, openhab is not stable.
The following error message appears for the binding fritzbox TR0641:
"[ERROR] [org.openhab.binding.fritzboxtr064] - bundle org.openhab.binding.fritzboxtr064: 1.14.0 (253) [org.openhab.binding.fritzboxtr064.binding (28)]: The activate method has thrown on exception
java.lang.NoClassDefFoundError: javax / xml / soap / SOAPException
at org.openhab.binding.fritzboxtr064.internal.FritzboxTr064Binding.activate (FritzboxTr064Binding.java:153) ~ [?:?] "

does anyone have an idea how i can fix the error?

greetings Frank

You should post the rest of the error message. If necessary, enable DEBUG mode to get it.

And be sure to use code fences when you post it.

Hi Namraccr,
here is my errorcode from openhab.log

[ERROR] [org.openhab.binding.fritzboxtr064   ] - bundle org.openhab.binding.fritzboxtr064:1.14.0 (253)[org.openhab.binding.fritzboxtr064.binding(28)] : The activate method has thrown an exception
java.lang.NoClassDefFoundError: javax/xml/soap/SOAPException
        at org.openhab.binding.fritzboxtr064.internal.FritzboxTr064Binding.activate(FritzboxTr064Binding.java:153) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228) ~[bundleFile:?]
        at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) ~[bundleFile:?]
        at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664) ~[bundleFile:?]
        at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510) [bundleFile:?]
        at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317) [bundleFile:?]
        at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) [bundleFile:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:340) [bundleFile:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114) [bundleFile:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:982) [bundleFile:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955) [bundleFile:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:900) [bundleFile:?]
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) [org.eclipse.osgi-3.12.100.jar:?]
        at java.security.AccessController.doPrivileged(Native Method) [?:?]
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) [org.eclipse.osgi-3.12.100.jar:?]
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) [org.eclipse.osgi-3.12.100.jar:?]
        at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) [org.eclipse.osgi-3.12.100.jar:?]
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:508) [org.eclipse.osgi-3.12.100.jar:?]
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) [org.eclipse.osgi-3.12.100.jar:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624) [org.eclipse.osgi-3.12.100.jar:?]
        at org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.obtain(EventHandlerProxy.java:286) [bundleFile:?]
        at org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:407) [bundleFile:?]
        at org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82) [bundleFile:?]
        at org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104) [bundleFile:?]
        at org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166) [bundleFile:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.ClassNotFoundException: javax.xml.soap.SOAPException cannot be found by org.openhab.binding.fritzboxtr064_1.14.0
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484) ~[org.eclipse.osgi-3.12.100.jar:?]
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395) ~[org.eclipse.osgi-3.12.100.jar:?]
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387) ~[org.eclipse.osgi-3.12.100.jar:?]
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150) ~[org.eclipse.osgi-3.12.100.jar:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
        ... 34 more

This is the cause of the error.

The reason is that the soap classes were reorganized/removed sometime after JDK 8. So the only way you can guarantee this will work is to use JDK 8.

1 Like

OH 2.5.1 with openjdk8 brings me the following error which does not occur with jdk11:

> 2020-02-01 22:01:08.823 [ERROR] [org.openhab.core.model.core          
> ] - bundle org.openhab.core.model.core:2.5.0  
> (161)[org.eclipse.smarthome.folder(129)] : The activate method has  
> thrown an exception
> java.lang.UnsatisfiedLinkError: sun.nio.fs.LinuxWatchService.inotifyInit()I
>         at sun.nio.fs.LinuxWatchService.inotifyInit(Native Method)  
> ~[?:1.8.0_242]
>         at  
> sun.nio.fs.LinuxWatchService.<init>(LinuxWatchService.java:59)  
> ~[?:1.8.0_242]
>         at  
> sun.nio.fs.BsdFileSystem.newWatchService(BsdFileSystem.java:51)  
> ~[?:1.8.0_242]
>         at  
> org.eclipse.smarthome.core.service.WatchQueueReader.registerDirectoryInternal(WatchQueueReader.java:147)  
> ~[?:?]
>         at  
> org.eclipse.smarthome.core.service.WatchQueueReader.access$0(WatchQueueReader.java:144)  
> ~[?:?]
>         at  
> org.eclipse.smarthome.core.service.WatchQueueReader$1.preVisitDirectory(WatchQueueReader.java:128)  
> ~[?:?]
>         at  
> org.eclipse.smarthome.core.service.WatchQueueReader$1.preVisitDirectory(WatchQueueReader.java:1)  
> ~[?:?]
>         at java.nio.file.Files.walkFileTree(Files.java:2677) ~[?:1.8.0_242]
>         at  
> org.eclipse.smarthome.core.service.WatchQueueReader.registerWithSubDirectories(WatchQueueReader.java:121)  
> ~[?:?]
>         at  
> org.eclipse.smarthome.core.service.WatchQueueReader.customizeWatchQueueReader(WatchQueueReader.java:109)  
> ~[?:?]
>         at  
> org.eclipse.smarthome.core.service.AbstractWatchService.activate(AbstractWatchService.java:61)  
> ~[?:?]
>         at  
> org.eclipse.smarthome.model.core.internal.folder.FolderObserver.activate(FolderObserver.java:131)  
> ~[?:?]
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native  
> Method) ~[?:1.8.0_242]
>         at  
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  
> ~[?:1.8.0_242]
>         at  
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
> ~[?:1.8.0_242]
>         at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
>         at  
> org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228)  
> ~[bundleFile:?]
>         at  
> org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41)  
> ~[bundleFile:?]
>         at  
> org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664)  
> ~[bundleFile:?]
>         at  
> org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:340)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:982)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:765)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:338)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:294)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125)  
> [bundleFile:?]
>         at  
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:906)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:892)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:128)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:959)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:732)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:666)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:432)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:665)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:338)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:382)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.Activator.access$200(Activator.java:49)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:264)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169)  
> [bundleFile:?]
>         at  
> org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49)  
> [bundleFile:?]
>         at  
> org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482)  
> [osgi.core-6.0.0.jar:?]
>         at  
> org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415)  
> [osgi.core-6.0.0.jar:?]
>         at  
> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)  
> [osgi.core-6.0.0.jar:?]
>         at  
> org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)  
> [osgi.core-6.0.0.jar:?]
>         at  
> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.container.Module.publishEvent(Module.java:476)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at org.eclipse.osgi.container.Module.start(Module.java:467)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1634)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1614)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1585)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1528)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)  
> [org.eclipse.osgi-3.12.100.jar:?]
>         at  
> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)  
> [org.eclipse.osgi-3.12.100.jar:?]

Then you should try the Oracle JDK.