openbase / bco.device

Other
0 stars 0 forks source link

Fix service remote manager config update which is sometime failing during manager test. #63

Closed DivineThreepwood closed 5 years ago

DivineThreepwood commented 6 years ago
[INFO] 15:08:13.279 [main] ERROR o.o.b.d.r.s.ServiceRemoteManager ═╦═⚀ Could not process unit config update of Unit[Admin:a8b1b330-5afc-4d2e-be3b-e1b32a306885] for LocationControllerImpl[LOCATION[Paradise]]!
[INFO] 15:08:13.279 [main] ERROR o.o.b.d.r.s.ServiceRemoteManager  ╚════⚀ Entry[Admin:a8b1b330-5afc-4d2e-be3b-e1b32a306885]] is not available! Nearest neighbor is UnitConfig[BCO (System User)] or UnitConfig[Gire_TemperatureController_Device_Stairway].
[INFO] 15:08:13.279 [main] ERROR o.o.b.d.r.s.ServiceRemoteManager =====================================
[INFO] 15:08:13.279 [main] ERROR o.o.b.d.r.s.ServiceRemoteManager Could not process unit config update of Unit[Admin:a8b1b330-5afc-4d2e-be3b-e1b32a306885] for LocationControllerImpl[LOCATION[Paradise]]!
[INFO] org.openbase.jul.exception.CouldNotPerformException: Could not process unit config update of Unit[Admin:a8b1b330-5afc-4d2e-be3b-e1b32a306885] for LocationControllerImpl[LOCATION[Paradise]]!
[INFO]  at org.openbase.bco.dal.remote.service.ServiceRemoteManager.applyConfigUpdate(ServiceRemoteManager.java:127)
[INFO]  at org.openbase.bco.manager.location.core.LocationControllerImpl.applyConfigUpdate(LocationControllerImpl.java:164)
[INFO]  at org.openbase.bco.manager.location.core.LocationControllerImpl.applyConfigUpdate(LocationControllerImpl.java:71)
[INFO]  at org.openbase.jul.extension.rsb.com.AbstractConfigurableController.init(AbstractConfigurableController.java:71)
[INFO]  at org.openbase.bco.dal.lib.layer.unit.AbstractUnitController.init(AbstractUnitController.java:188)
[INFO]  at org.openbase.bco.manager.location.core.LocationControllerImpl.init(LocationControllerImpl.java:148)
[INFO]  at org.openbase.bco.manager.location.core.LocationFactoryImpl.newInstance(LocationFactoryImpl.java:55)
[INFO]  at org.openbase.bco.manager.location.core.LocationFactoryImpl.newInstance(LocationFactoryImpl.java:36)
[INFO]  at org.openbase.jul.storage.registry.RegistrySynchronizer.register(RegistrySynchronizer.java:272)
[INFO]  at org.openbase.jul.storage.registry.ActivatableEntryRegistrySynchronizer.register(ActivatableEntryRegistrySynchronizer.java:59)
[INFO]  at org.openbase.jul.storage.registry.RegistrySynchronizer.internalSync(RegistrySynchronizer.java:203)
[INFO]  at org.openbase.jul.storage.registry.RegistrySynchronizer.activate(RegistrySynchronizer.java:128)
[INFO]  at org.openbase.bco.manager.location.core.LocationManagerController.activate(LocationManagerController.java:108)
[INFO]  at org.openbase.jul.pattern.launch.AbstractLauncher.launch(AbstractLauncher.java:179)
[INFO]  at org.openbase.bco.manager.agent.test.preset.AbstractBCOAgentManagerTest.setUpClass(AbstractBCOAgentManagerTest.java:70)
[INFO]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[INFO]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[INFO]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO]  at java.lang.reflect.Method.invoke(Method.java:498)
[INFO]  at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
[INFO]  at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[INFO]  at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
[INFO]  at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
[INFO]  at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
[INFO]  at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
[INFO]  at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:369)
[INFO]  at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:275)
[INFO]  at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:239)
[INFO]  at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:160)
[INFO]  at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:373)
[INFO]  at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:334)
[INFO]  at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:119)
[INFO]  at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:407)
[INFO] Caused by: org.openbase.jul.exception.NotAvailableException: Entry[Admin:a8b1b330-5afc-4d2e-be3b-e1b32a306885]] is not available! Nearest neighbor is UnitConfig[BCO (System User)] or UnitConfig[Gire_TemperatureController_Device_Stairway].
[INFO]  at org.openbase.jul.storage.registry.AbstractRegistry.get(AbstractRegistry.java:367)
[INFO]  at org.openbase.jul.storage.registry.RemoteRegistry.getMessage(RemoteRegistry.java:89)
[INFO]  at org.openbase.bco.registry.unit.remote.UnitRegistryRemote.getUnitConfigById(UnitRegistryRemote.java:273)
[INFO]  at org.openbase.bco.dal.remote.service.ServiceRemoteManager.applyConfigUpdate(ServiceRemoteManager.java:110)
[INFO]  ... 32 common frames omitted
[INFO] 15:08:13.280 [main] ERROR o.o.b.d.r.s.ServiceRemoteManager =====================================

DivineThreepwood commented 6 years ago

The admin seem not to be available via the unit registry even after unitRegistry.waitForData. But the issue seems to be something else because even if the admin config is available those is an base unit and will not be handled anyway, so the more important question is why the hole test stucks after throwing this exception !? Maybe the registry synchronization is blocked but if the error occurs even Str+4 does not list any left openbase threads

"Thread-10" #43 prio=5 os_prio=0 tid=0x00007f366c951000 nid=0x4bf5 runnable [0x00007f36099db000]
   java.lang.Thread.State: RUNNABLE
    at java.io.FileInputStream.readBytes(Native Method)
    at java.io.FileInputStream.read(FileInputStream.java:255)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
    - locked <0x0000000777f0e4c8> (a java.lang.UNIXProcess$ProcessPipeInputStream)
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
    - locked <0x0000000777f13688> (a java.io.InputStreamReader)
    at java.io.InputStreamReader.read(InputStreamReader.java:184)
    at java.io.BufferedReader.fill(BufferedReader.java:161)
    at java.io.BufferedReader.readLine(BufferedReader.java:324)
    - locked <0x0000000777f13688> (a java.io.InputStreamReader)
    at java.io.BufferedReader.readLine(BufferedReader.java:389)
    at org.apache.maven.surefire.shade.org.apache.maven.shared.utils.cli.StreamPumper.run(StreamPumper.java:76)

"Thread-9" #42 prio=5 os_prio=0 tid=0x00007f366d0a6800 nid=0x4bf4 runnable [0x00007f36098da000]
   java.lang.Thread.State: RUNNABLE
    at java.io.FileInputStream.readBytes(Native Method)
    at java.io.FileInputStream.read(FileInputStream.java:255)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
    - locked <0x0000000777f0c408> (a java.lang.UNIXProcess$ProcessPipeInputStream)
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
    - locked <0x0000000777f10a88> (a java.io.InputStreamReader)
    at java.io.InputStreamReader.read(InputStreamReader.java:184)
    at java.io.BufferedReader.fill(BufferedReader.java:161)
    at java.io.BufferedReader.readLine(BufferedReader.java:324)
    - locked <0x0000000777f10a88> (a java.io.InputStreamReader)
    at java.io.BufferedReader.readLine(BufferedReader.java:389)
    at org.apache.maven.surefire.shade.org.apache.maven.shared.utils.cli.StreamPumper.run(StreamPumper.java:76)

"Thread-8" #41 prio=5 os_prio=0 tid=0x00007f366d0a5800 nid=0x4bf3 waiting on condition [0x00007f36096d8000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000777dc54c8> (a java.util.concurrent.Semaphore$NonfairSync)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
    at java.util.concurrent.Semaphore.acquire(Semaphore.java:312)
    at org.apache.maven.plugin.surefire.booterclient.lazytestprovider.TestLessInputStream.awaitNextCommand(TestLessInputStream.java:165)
    at org.apache.maven.plugin.surefire.booterclient.lazytestprovider.TestLessInputStream.beforeNextCommand(TestLessInputStream.java:136)
    at org.apache.maven.plugin.surefire.booterclient.lazytestprovider.AbstractCommandStream.read(AbstractCommandStream.java:100)
    at org.apache.maven.surefire.shade.org.apache.maven.shared.utils.cli.StreamFeeder.feed(StreamFeeder.java:123)
    at org.apache.maven.surefire.shade.org.apache.maven.shared.utils.cli.StreamFeeder.run(StreamFeeder.java:60)

"ThreadedStreamConsumer" #39 daemon prio=5 os_prio=0 tid=0x00007f366cd8a800 nid=0x4bf1 waiting on condition [0x00007f36097d9000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000777ef6688> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403)
    at org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:83)
    at java.lang.Thread.run(Thread.java:748)

"ping-timer-10s" #38 daemon prio=5 os_prio=0 tid=0x00007f366cd89800 nid=0x4bf0 waiting on condition [0x00007f3609adc000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000777dc46e8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"timeout-check-timer" #36 daemon prio=5 os_prio=0 tid=0x00007f366cd5a800 nid=0x4bef waiting on condition [0x00007f3609ddd000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000777dc4ba8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"process reaper" #22 daemon prio=10 os_prio=0 tid=0x00007f366c925800 nid=0xe21 runnable [0x00007f360ad06000]
   java.lang.Thread.State: RUNNABLE
    at java.lang.UNIXProcess.waitForProcessExit(Native Method)
    at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289)
    at java.lang.UNIXProcess$$Lambda$8/307476514.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"resolver-5" #16 daemon prio=5 os_prio=0 tid=0x00007f366ca48800 nid=0xe1a waiting on condition [0x00007f3609ede000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000006c72eba48> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"resolver-4" #15 daemon prio=5 os_prio=0 tid=0x00007f366c9a2800 nid=0xe19 waiting on condition [0x00007f3609fdf000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000006c72eba48> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"resolver-3" #14 daemon prio=5 os_prio=0 tid=0x00007f366c9a0800 nid=0xe18 waiting on condition [0x00007f360a0e0000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000006c72eba48> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"resolver-2" #13 daemon prio=5 os_prio=0 tid=0x00007f366c938800 nid=0xe17 waiting on condition [0x00007f360ae07000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000006c72eba48> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"resolver-1" #12 daemon prio=5 os_prio=0 tid=0x00007f366c937800 nid=0xe16 waiting on condition [0x00007f360af08000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000006c72eba48> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"Service Thread" #9 daemon prio=9 os_prio=0 tid=0x00007f366c0d1000 nid=0xe09 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread3" #8 daemon prio=9 os_prio=0 tid=0x00007f366c0c6800 nid=0xe08 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00007f366c0c4000 nid=0xe07 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007f366c0c2800 nid=0xe06 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007f366c0bf800 nid=0xe04 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f366c0be000 nid=0xe03 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f366c08a800 nid=0xe01 in Object.wait() [0x00007f36313f6000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000006c70fab80> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    - locked <0x00000006c70fab80> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f366c086000 nid=0xe00 in Object.wait() [0x00007f36314f7000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000006c72b4f20> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
    - locked <0x00000006c72b4f20> (a java.lang.ref.Reference$Lock)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"main" #1 prio=5 os_prio=0 tid=0x00007f366c008800 nid=0xdf3 in Object.wait() [0x00007f367324f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000777f0a0e8> (a java.lang.UNIXProcess)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395)
    - locked <0x0000000777f0a0e8> (a java.lang.UNIXProcess)
    at org.apache.maven.surefire.shade.org.apache.maven.shared.utils.cli.CommandLineUtils$1.call(CommandLineUtils.java:260)
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:631)
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:535)
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:280)
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1124)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:954)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:832)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

"VM Thread" os_prio=0 tid=0x00007f366c07e800 nid=0xdff runnable 

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f366c01d800 nid=0xdf4 runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f366c01f800 nid=0xdf5 runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f366c021000 nid=0xdf6 runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f366c023000 nid=0xdf7 runnable 

"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00007f366c024800 nid=0xdfa runnable 

"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00007f366c026800 nid=0xdfc runnable 

"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x00007f366c028000 nid=0xdfd runnable 

"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x00007f366c02a000 nid=0xdfe runnable 

"VM Periodic Task Thread" os_prio=0 tid=0x00007f366c0d6000 nid=0xe0a waiting on condition 

JNI global references: 370

Heap
 PSYoungGen      total 561664K, used 231390K [0x000000076ce00000, 0x0000000791f80000, 0x00000007c0000000)
  eden space 535040K, 38% used [0x000000076ce00000,0x00000007795fef78,0x000000078d880000)
  from space 26624K, 99% used [0x000000078ff00000,0x00000007918f8968,0x0000000791900000)
  to   space 36352K, 0% used [0x000000078d880000,0x000000078d880000,0x000000078fc00000)
 ParOldGen       total 187904K, used 48860K [0x00000006c6a00000, 0x00000006d2180000, 0x000000076ce00000)
  object space 187904K, 26% used [0x00000006c6a00000,0x00000006c99b7138,0x00000006d2180000)
 Metaspace       used 57565K, capacity 58768K, committed 59160K, reserved 1101824K
  class space    used 6524K, capacity 6883K, committed 6960K, reserved 1048576K

[WARNING] Corrupted STDOUT by directly writing to native stream in forked JVM 1. See FAQ web page and the dump file /home/divine/local_data/workspace/openbase/bco/module/bco.manager/location-manager/test/target/surefire-reports/2018-04-09T17-04-32_701-jvmRun1.dumpstream

the maven surefire plugin seem not to be able to recover the full lock result. :(

 Created on 2018-04-09T17:19:13.751
Corrupted STDOUT by directly writing to native stream in forked JVM 1. Stream '  class space    used 4140K, capacity 4682K, committed 4736K, reserved 1048576K'.

# Created on 2018-04-09T17:21:44.148
TestSet has not finished before stream error has appeared >> initializing exit by non-null configuration: DEFAULT
java.io.EOFException
    at java.io.DataInputStream.readInt(DataInputStream.java:392)
    at org.apache.maven.surefire.booter.MasterProcessCommand.decode(MasterProcessCommand.java:115)
    at org.apache.maven.surefire.booter.CommandReader$CommandRunnable.run(CommandReader.java:391)
    at java.lang.Thread.run(Thread.java:748)

# Created on 2018-04-09T17:21:44.170
Unexpected IOException with stream: 17:21:44.170 [Thread-296] INFO  o.o.b.r.u.r.UserRegistryRemote Remote connection to Controller[/test/divine/registry/user/] was detached because the controller shutdown was initiated.

DivineThreepwood commented 6 years ago

@pLeminoq do you have any idea?

pLeminoq commented 6 years ago

As you wrote before the exception is not the reason why the test fails but that the test stops with a deadlock. I think it is interesting that the stack trace print is this short. I had the same issue when I tried to debug the test using the console. But when I did the same in intellij I finally got the full stack trace print which reveals the following deadlock:

Found one Java-level deadlock:
=============================
"pool-1-thread-100":
  waiting to lock monitor 0x00007fea98009e28 (object 0x00000000ff6e2ab8, a org.openbase.bco.manager.location.core.LocationControllerImpl$1),
  which is held by "pool-1-thread-89"
"pool-1-thread-89":
  waiting to lock monitor 0x00007fea18008ea8 (object 0x00000000ff5550b8, a org.openbase.jul.schedule.SyncObject),
  which is held by "pool-2-thread-9"
"pool-2-thread-9":
  waiting for ownable synchronizer 0x00000000ff555158, (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync),
  which is held by "pool-1-thread-89"

Java stack information for the threads listed above:
===================================================
"pool-1-thread-100":
    at org.openbase.jul.schedule.RecurrenceEventFilter.trigger(RecurrenceEventFilter.java:104)
    - waiting to lock <0x00000000ff6e2ab8> (a org.openbase.bco.manager.location.core.LocationControllerImpl$1)
    at org.openbase.bco.manager.location.core.LocationControllerImpl$2.notifyServiceUpdate(LocationControllerImpl.java:118)
    at org.openbase.bco.dal.remote.service.ServiceRemoteManager.lambda$new$0(ServiceRemoteManager.java:86)
    at org.openbase.bco.dal.remote.service.ServiceRemoteManager$$Lambda$112/1006094903.update(Unknown Source)
    at org.openbase.jul.pattern.AbstractObservable$5.call(AbstractObservable.java:266)
    at org.openbase.jul.pattern.AbstractObservable$5.call(AbstractObservable.java:263)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
"pool-1-thread-89":
    at org.openbase.jul.extension.rsb.com.AbstractConfigurableController.getConfig(AbstractConfigurableController.java:177)
    - waiting to lock <0x00000000ff5550b8> (a org.openbase.jul.schedule.SyncObject)
    at org.openbase.bco.dal.lib.layer.unit.AbstractUnitController.toString(AbstractUnitController.java:511)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at org.openbase.jul.extension.protobuf.BuilderSyncSetup.lockWrite(BuilderSyncSetup.java:149)
    at org.openbase.jul.extension.protobuf.ClosableDataBuilder.(ClosableDataBuilder.java:42)
    at org.openbase.jul.extension.protobuf.ClosableDataBuilder.(ClosableDataBuilder.java:37)
    at org.openbase.jul.extension.rsb.com.RSBCommunicationService.getDataBuilder(RSBCommunicationService.java:549)
    at org.openbase.bco.manager.location.core.LocationControllerImpl.updateUnitData(LocationControllerImpl.java:194)
    at org.openbase.bco.manager.location.core.LocationControllerImpl.access$000(LocationControllerImpl.java:71)
    at org.openbase.bco.manager.location.core.LocationControllerImpl$1.relay(LocationControllerImpl.java:106)
    at org.openbase.jul.schedule.RecurrenceEventFilter.relay(RecurrenceEventFilter.java:231)
    at org.openbase.jul.schedule.RecurrenceEventFilter.callRelay(RecurrenceEventFilter.java:216)
    at org.openbase.jul.schedule.RecurrenceEventFilter.trigger(RecurrenceEventFilter.java:153)
    - locked <0x00000000ff6e2ab8> (a org.openbase.bco.manager.location.core.LocationControllerImpl$1)
    at org.openbase.jul.schedule.RecurrenceEventFilter.trigger(RecurrenceEventFilter.java:104)
    - locked <0x00000000ff6e2ab8> (a org.openbase.bco.manager.location.core.LocationControllerImpl$1)
    at org.openbase.bco.manager.location.core.LocationControllerImpl$2.notifyServiceUpdate(LocationControllerImpl.java:118)
    at org.openbase.bco.dal.remote.service.ServiceRemoteManager.lambda$new$0(ServiceRemoteManager.java:86)
    at org.openbase.bco.dal.remote.service.ServiceRemoteManager$$Lambda$112/1006094903.update(Unknown Source)
    at org.openbase.jul.pattern.AbstractObservable$5.call(AbstractObservable.java:266)
    at org.openbase.jul.pattern.AbstractObservable$5.call(AbstractObservable.java:263)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
"pool-2-thread-9":
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000ff555158> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
    at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
    at org.openbase.jul.extension.rsb.com.RSBCommunicationService.cloneDataBuilder(RSBCommunicationService.java:523)
    at org.openbase.jul.extension.rsb.com.RSBCommunicationService.notifyChange(RSBCommunicationService.java:600)
    - locked <0x00000000ff5550b8> (a org.openbase.jul.schedule.SyncObject)
    at org.openbase.jul.extension.protobuf.BuilderSyncSetup.unlockWrite(BuilderSyncSetup.java:193)
    at org.openbase.jul.extension.protobuf.ClosableDataBuilder.close(ClosableDataBuilder.java:52)
    at org.openbase.bco.manager.location.core.LocationControllerImpl.updateUnitData(LocationControllerImpl.java:196)
    at org.openbase.bco.manager.location.core.LocationControllerImpl.access$000(LocationControllerImpl.java:71)
    at org.openbase.bco.manager.location.core.LocationControllerImpl$1.relay(LocationControllerImpl.java:106)
    at org.openbase.jul.schedule.RecurrenceEventFilter.relay(RecurrenceEventFilter.java:231)
    at org.openbase.jul.schedule.RecurrenceEventFilter.callRelay(RecurrenceEventFilter.java:216)
    at org.openbase.jul.schedule.RecurrenceEventFilter.access$100(RecurrenceEventFilter.java:41)
    at org.openbase.jul.schedule.RecurrenceEventFilter$1.expired(RecurrenceEventFilter.java:90)
    at org.openbase.jul.schedule.Timeout$1.call(Timeout.java:169)
    at org.openbase.jul.schedule.Timeout$1.call(Timeout.java:150)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Found 1 deadlock.

I think the problem is a result of commit openbase/jul@8b7e6ca542ed4e44d9290f2093713947d5eac791. Because the config is now locked with the same lock that synchronizes the notification. The problem is that the debug output from BuilderSyncSetup.lockWrite(BuilderSyncSetup.java:149) now needs the same lock. I think either the locks have to be separated again or at least the toString method should work without locking the whole thing.

pLeminoq commented 6 years ago

Even when the toString method works without locking the test can still hang up with the following deadlock:

Found one Java-level deadlock:
=============================
"pool-1-thread-100":
  waiting to lock monitor 0x00007ff48c135d18 (object 0x00000000d6af52a8, a org.openbase.bco.manager.location.core.LocationControllerImpl$1),
  which is held by "pool-1-thread-86"
"pool-1-thread-86":
  waiting for ownable synchronizer 0x00000000d6af4530, (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync),
  which is held by "main"
"main":
  waiting to lock monitor 0x00007ff424007798 (object 0x00000000d6af40d0, a org.openbase.jul.schedule.SyncObject),
  which is held by "pool-1-thread-96"
"pool-1-thread-96":
  waiting for ownable synchronizer 0x00000000d6af4530, (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync),
  which is held by "main"

Java stack information for the threads listed above:
===================================================
"pool-1-thread-100":
    at org.openbase.jul.schedule.RecurrenceEventFilter.trigger(RecurrenceEventFilter.java:104)
    - waiting to lock <0x00000000d6af52a8> (a org.openbase.bco.manager.location.core.LocationControllerImpl$1)
    at org.openbase.bco.manager.location.core.LocationControllerImpl$2.notifyServiceUpdate(LocationControllerImpl.java:118)
    at org.openbase.bco.dal.remote.service.ServiceRemoteManager.lambda$new$0(ServiceRemoteManager.java:86)
    at org.openbase.bco.dal.remote.service.ServiceRemoteManager$$Lambda$110/471579726.update(Unknown Source)
    at org.openbase.jul.pattern.AbstractObservable$5.call(AbstractObservable.java:266)
    at org.openbase.jul.pattern.AbstractObservable$5.call(AbstractObservable.java:263)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
"pool-1-thread-86":
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000d6af4530> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
    at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
    at org.openbase.jul.extension.rsb.com.RSBCommunicationService.cloneDataBuilder(RSBCommunicationService.java:523)
    at org.openbase.jul.extension.rsb.com.RSBCommunicationService.getData(RSBCommunicationService.java:433)
    at org.openbase.jul.extension.rsb.com.RSBCommunicationService.isDataAvailable(RSBCommunicationService.java:840)
    at org.openbase.jul.extension.protobuf.MessageObservable.isValueAvailable(MessageObservable.java:68)
    at org.openbase.jul.pattern.AbstractObservable.notifyObservers(AbstractObservable.java:229)
    - locked <0x00000000d6c2ffe0> (a org.openbase.jul.pattern.AbstractObservable$2)
    at org.openbase.jul.pattern.AbstractObservable.notifyObservers(AbstractObservable.java:190)
    at org.openbase.bco.dal.lib.layer.unit.AbstractUnitController.notifyDataUpdate(AbstractUnitController.java:220)
    at org.openbase.jul.extension.rsb.com.RSBCommunicationService.notifyChange(RSBCommunicationService.java:616)
    at org.openbase.jul.extension.protobuf.BuilderSyncSetup.unlockWrite(BuilderSyncSetup.java:193)
    at org.openbase.jul.extension.protobuf.ClosableDataBuilder.close(ClosableDataBuilder.java:52)
    at org.openbase.bco.manager.location.core.LocationControllerImpl.updateUnitData(LocationControllerImpl.java:196)
    at org.openbase.bco.manager.location.core.LocationControllerImpl.access$000(LocationControllerImpl.java:71)
    at org.openbase.bco.manager.location.core.LocationControllerImpl$1.relay(LocationControllerImpl.java:106)
    at org.openbase.jul.schedule.RecurrenceEventFilter.relay(RecurrenceEventFilter.java:231)
    at org.openbase.jul.schedule.RecurrenceEventFilter.callRelay(RecurrenceEventFilter.java:216)
    at org.openbase.jul.schedule.RecurrenceEventFilter.trigger(RecurrenceEventFilter.java:153)
    - locked <0x00000000d6af52a8> (a org.openbase.bco.manager.location.core.LocationControllerImpl$1)
    at org.openbase.jul.schedule.RecurrenceEventFilter.trigger(RecurrenceEventFilter.java:104)
    - locked <0x00000000d6af52a8> (a org.openbase.bco.manager.location.core.LocationControllerImpl$1)
    at org.openbase.bco.manager.location.core.LocationControllerImpl$2.notifyServiceUpdate(LocationControllerImpl.java:118)
    at org.openbase.bco.dal.remote.service.ServiceRemoteManager.lambda$new$0(ServiceRemoteManager.java:86)
    at org.openbase.bco.dal.remote.service.ServiceRemoteManager$$Lambda$110/471579726.update(Unknown Source)
    at org.openbase.jul.pattern.AbstractObservable$5.call(AbstractObservable.java:266)
    at org.openbase.jul.pattern.AbstractObservable$5.call(AbstractObservable.java:263)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
"main":
    at org.openbase.jul.extension.rsb.com.AbstractConfigurableController.getConfig(AbstractConfigurableController.java:177)
    - waiting to lock <0x00000000d6af40d0> (a org.openbase.jul.schedule.SyncObject)
    at org.openbase.jul.extension.rsb.com.AbstractConfigurableController.getConfig(AbstractConfigurableController.java:42)
    at org.openbase.bco.dal.lib.layer.unit.location.Location.getSupportedServiceTypes(Location.java:64)
    at org.openbase.bco.manager.location.core.LocationControllerImpl.updateUnitData(LocationControllerImpl.java:195)
    at org.openbase.bco.manager.location.core.LocationControllerImpl.activate(LocationControllerImpl.java:182)
    at org.openbase.jul.storage.registry.ActivatableEntryRegistrySynchronizer.register(ActivatableEntryRegistrySynchronizer.java:61)
    at org.openbase.jul.storage.registry.RegistrySynchronizer.internalSync(RegistrySynchronizer.java:203)
    - locked <0x00000000d64e7bb0> (a org.openbase.jul.schedule.SyncObject)
    at org.openbase.jul.storage.registry.RegistrySynchronizer.activate(RegistrySynchronizer.java:128)
    at org.openbase.bco.manager.location.core.LocationManagerController.activate(LocationManagerController.java:108)
    at org.openbase.jul.pattern.launch.AbstractLauncher.launch(AbstractLauncher.java:179)
    - locked <0x00000000d647d7d0> (a org.openbase.jul.schedule.SyncObject)
    at org.openbase.bco.manager.location.test.remote.location.AbstractBCOLocationManagerTest.setUpClass(AbstractBCOLocationManagerTest.java:59)
    at org.openbase.bco.manager.location.test.remote.location.LocationRemoteTest.setUpClass(LocationRemoteTest.java:86)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
"pool-1-thread-96":
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000d6af4530> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
    at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
    at org.openbase.jul.extension.rsb.com.RSBCommunicationService.cloneDataBuilder(RSBCommunicationService.java:523)
    at org.openbase.jul.extension.rsb.com.RSBCommunicationService.notifyChange(RSBCommunicationService.java:600)
    - locked <0x00000000d6af40d0> (a org.openbase.jul.schedule.SyncObject)
    at org.openbase.jul.extension.rsb.com.RSBCommunicationService.lambda$null$0(RSBCommunicationService.java:256)
    at org.openbase.jul.extension.rsb.com.RSBCommunicationService$$Lambda$22/818874045.run(Unknown Source)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Found 1 deadlock.
DivineThreepwood commented 6 years ago

Seems to be solved with commit openbase/jul@40ee3a2 and openbase/bco.dal@ee83a7a Let's keep this issue at least for one week in the review section so it can be reopen if it occurs again.

DivineThreepwood commented 5 years ago

Fix confirmed.