Hello Jeremie- You are running into the JDK breaking change of API changes to the JAAS API.
The JDK did not provide compatible back porting of the JAAS API changes, so there will need to be a hard line in Karaf JDK support across releases for the new JAAS API and JDK 24+ support. see: https://issues.apache.org/jira/browse/KARAF-7977 I have a proposal on karaf dev mailing list discussing about how to move forward. Currently, discussing the following options: karaf-4.4.x - JDK 11 to JDK 21 karaf-4.5.x - JDK 21 to JDK 25 karaf-5.x - (based on Minho or other next-gen) - or - karaf-4.x - JDK 11 to JDK 21 karaf-5.x - (based on karaf-4.x) JDK 21 to JDK 25 karaf-6.x - (based on Minho or other next-gen) Option #2 has better alignment with SEMVER, but doesn’t align with previously discussed roadmap, so nothing is formalized yet. Thanks, Matt Pavlovich > On Aug 28, 2025, at 2:27 AM, Jérémie <[email protected]> wrote: > > Hello all, > > And thanks a lot for the v4.4.8 release. I upgraded my system to this version > and everything worked as expected. > > However, I'd like to test the compatibility with JDK24, as I saw in the > release note, but my pax-exam integration tests failed because of a JAAS > issue in Felix EventAdmin. Is there something wrong with my packaging, or > something expected ? > The stack trace below. > > Regards, > Jérémie > > org.apache.karaf.services.eventadmin [Events.Framework] ERROR : > FrameworkEvent ERROR > java.lang.UnsupportedOperationException: getSubject is not supported > at java.base/javax.security.auth.Subject.getSubject(Subject.java:277) > at > org.apache.felix.eventadmin.impl.handler.EventAdminImpl.prepareEvent(EventAdminImpl.java:146) > at > org.apache.felix.eventadmin.impl.handler.EventAdminImpl.postEvent(EventAdminImpl.java:180) > at > org.apache.felix.eventadmin.impl.adapter.BundleEventAdapter.bundleChanged(BundleEventAdapter.java:121) > at > org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) > at > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) > at > org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) > at > org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) > at > org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) > at > org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) > at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) > at org.eclipse.osgi.container.Module.doStop(Module.java:658) > at org.eclipse.osgi.container.Module.stop(Module.java:521) > at > org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:1888) > at > org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1763) > at > org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:275) > at > org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:208) > at org.eclipse.osgi.container.Module.doStop(Module.java:660) > at org.eclipse.osgi.container.Module.stop(Module.java:521) > at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:207) > at > org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:226) > at java.base/java.lang.Thread.run(Thread.java:1447)
