From e5401f8a0361a3b40e4b44944057ec52f6245b01 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Csahvx655-wq=E2=80=9D?= <“sahvx655@gmail.com”>
Date: Mon, 1 Jun 2026 11:33:18 +0530
Subject: [PATCH 1/2] Fix: Resolve lifecycle race condition in EventDispatcher
start/stop sequence
---
.../apache/felix/framework/EventDispatcher.java | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/framework/src/main/java/org/apache/felix/framework/EventDispatcher.java b/framework/src/main/java/org/apache/felix/framework/EventDispatcher.java
index 2e86fe35cf..0376e71fe2 100644
--- a/framework/src/main/java/org/apache/felix/framework/EventDispatcher.java
+++ b/framework/src/main/java/org/apache/felix/framework/EventDispatcher.java
@@ -87,6 +87,20 @@ public void startDispatching()
{
synchronized (m_threadLock)
{
+ // If the thread is stopping, wait until it is fully stopped.
+ while (m_stopping)
+ {
+ try
+ {
+ m_threadLock.wait();
+ }
+ catch (InterruptedException ex)
+ {
+ // Restore interrupted status
+ Thread.currentThread().interrupt();
+ }
+ }
+
// Start event dispatching thread if necessary.
if (m_thread == null || !m_thread.isAlive())
{
From 43954940567203bef095bc860ffe32e8dc2d9388 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Csahvx655-wq=E2=80=9D?= <“sahvx655@gmail.com”>
Date: Mon, 1 Jun 2026 13:03:43 +0530
Subject: [PATCH 2/2] Fix: Resolve TCK dependency version mismatch for AssertJ
and ByteBuddy
---
framework.tck/pom.xml | 2 +-
framework.tck/tck.bndrun | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/framework.tck/pom.xml b/framework.tck/pom.xml
index 35cd65a10d..32be9fcabb 100644
--- a/framework.tck/pom.xml
+++ b/framework.tck/pom.xml
@@ -105,7 +105,7 @@
net.bytebuddy
byte-buddy
- 1.17.5
+ 1.18.0
test
diff --git a/framework.tck/tck.bndrun b/framework.tck/tck.bndrun
index 541ec5ddb6..d9567bc7a1 100644
--- a/framework.tck/tck.bndrun
+++ b/framework.tck/tck.bndrun
@@ -30,7 +30,7 @@
junit-platform-engine;version='[1.12.1,1.12.2)',\
org.opentest4j;version='[1.3.0,1.3.1)',\
junit-platform-launcher;version='[1.12.1,1.12.2)',\
- assertj-core;version='[3.27.3,3.27.4)',\
+ assertj-core;version='[3.27.7,3.27.8)',\
biz.aQute.junit;version='[6.4.1,6.4.2)',\
junit-vintage-engine;version='[5.7.1,5.7.2)',\
- net.bytebuddy.byte-buddy;version='[1.17.5,1.17.6)'
\ No newline at end of file
+ net.bytebuddy.byte-buddy;version='[1.18.0,1.18.1)'
\ No newline at end of file