Hi Tom, no, I'm sorry but the substrate.lib does not work either with -Pequinox in my environment.
Hi Karl, I recompiled the latest version using "./mvnw clean install -Psubstrate -Pfelix", so it's the same:the substrate.lib sample does not work. it shows the harmless UnsupportedFeatureError error (this, I know I can ignore it), but it does not work. Other examples seem to work fine, so I don't want to block the release since Tom said that the substrate.lib example should not be promoted anymore ... PS: I re-installed the old GraalVM CE 20.2.0, to make sure I'm using the same version that is documented from the atomos readme files. thanks. regards /Pierre On Fri, Feb 12, 2021 at 2:20 PM Thomas Watson <[email protected]> wrote: > Strange, I really remember testing that change across both felix and > equinox on substrate. Thanks for fixing it. > > Tom. > > On Fri, Feb 12, 2021 at 3:18 AM Karl Pauls <[email protected]> wrote: > > > Hi Pierre, > > > > good catch, the latest refactoring [0] removed the dependency for the > > log service. I added it back in [1] - can you try again? > > > > We need better tests for the substrate examples - they are hard to > > test and really don't like when something is missing :-) > > > > You'll still see the: > > > > java.lang.reflect.InvocationTargetException > > ... > > Caused by: com.oracle.svm.core.jdk.UnsupportedFeatureError: Defining > > new classes at run time is not supported. All classes need to be known > > at image build time. > > ... > > com.oracle.svm.core.jdk.UnsupportedFeatureError: Setting a custom > > URLStreamHandlerFactory. > > > > for Felix but that is just a print out which is harmless. > > > > regards, > > > > Karl > > > > > > [0] > > > https://github.com/apache/felix-atomos/commit/ddc6688e88653591b41bda77148e6877118cf532#diff-8140292ec524a3e05ad38011530a28f34345e456c8d5f0c5132b10d5e74fa0e9 > > [1] https://github.com/apache/felix-atomos/pull/45 > > > > > > On Fri, Feb 12, 2021 at 12:56 AM Pierre De Rop <[email protected]> > > wrote: > > > > > > Hi Tom, > > > > > > Maybe I did something wrong, but it seems I can't run the > > > substrate.lib/target/atomos example. > > > > > > So, I'm using this graalvm version: > > > > > > openjdk version "11.0.10" 2021-01-19 > > > OpenJDK Runtime Environment GraalVM CE 21.0.0 (build > > > 11.0.10+8-jvmci-21.0-b06) > > > OpenJDK 64-Bit Server VM GraalVM CE 21.0.0 (build > > 11.0.10+8-jvmci-21.0-b06, > > > mixed mode, sharing) > > > > > > > > > Now, I have built the whole project using this command, as per your > > README > > > from [1]. > > > > > > ./mvnw clean install -Psubstrate -Pfelix > > > > > > > > > So, after a while, everything is built, but when I'm trying to launch > the > > > following executable: > > > > > > ./atomos.examples/atomos.examples.substrate.lib/target/atomos > > > > > > then I'm getting this exception: > > > > > > java.lang.reflect.InvocationTargetException > > > at java.lang.reflect.Method.invoke(Method.java:566) > > > at > > > > > > org.apache.felix.framework.util.SecureAction.getAccessor(SecureAction.java:1139) > > > > > > at > > > > > > org.apache.felix.framework.util.SecureAction.setAccesssible(SecureAction.java:998) > > > > > > at > > > > > > org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender.<clinit>(ClassPathExtenderFactory.java:79) > > > > > > at > > > > > > com.oracle.svm.core.classinitialization.ClassInitializationInfo.invokeClassInitializer(ClassInitializationInfo.java:375) > > > > > > at > > > > > > com.oracle.svm.core.classinitialization.ClassInitializationInfo.initialize(ClassInitializationInfo.java:295) > > > > > > at > > > > > > org.apache.felix.framework.ExtensionManager.<clinit>(ExtensionManager.java:152) > > > > > > at > > > > > > com.oracle.svm.core.classinitialization.ClassInitializationInfo.invokeClassInitializer(ClassInitializationInfo.java:375) > > > > > > at > > > > > > com.oracle.svm.core.classinitialization.ClassInitializationInfo.initialize(ClassInitializationInfo.java:295) > > > > > > at > > > > > > org.apache.felix.framework.Felix.initializeFrameworkProperties(Felix.java:4881) > > > > > > at org.apache.felix.framework.Felix.<init>(Felix.java:405) > > > at > > > > > > org.apache.felix.framework.FrameworkFactory.newFramework(FrameworkFactory.java:36) > > > > > > at > > > > > > org.apache.felix.atomos.impl.base.AtomosBase.newFramework(AtomosBase.java:423) > > > > > > at org.apache.felix.atomos.Atomos.main(Atomos.java:228) > > > Caused by: com.oracle.svm.core.jdk.UnsupportedFeatureError: Defining > new > > > classes at run time is not supported. All classes need to be known at > > image > > > build time. > > > at > > > com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:87) > > > at > jdk.internal.misc.Unsafe.defineAnonymousClass(Unsafe.java:246) > > > at sun.misc.Unsafe.defineAnonymousClass(Unsafe.java:830) > > > ... 14 more > > > com.oracle.svm.core.jdk.UnsupportedFeatureError: Setting a custom > > > URLStreamHandlerFactory. > > > at > > > com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:87) > > > at java.net.URL.setURLStreamHandlerFactory(URL.java:77) > > > at > > > org.apache.felix.framework.URLHandlers.<init>(URLHandlers.java:243) > > > at > > > > > > org.apache.felix.framework.URLHandlers.registerFrameworkInstance(URLHandlers.java:633) > > > > > > at > > > > > > org.apache.felix.framework.URLHandlersActivator.start(URLHandlersActivator.java:69) > > > > > > at > > > > > > org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:825) > > > > > > at > > > > > > org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:5173) > > > > > > at > > > > > > org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:825) > > > > > > at org.apache.felix.framework.Felix.init(Felix.java:899) > > > at org.apache.felix.framework.Felix.init(Felix.java:648) > > > at org.apache.felix.framework.Felix.start(Felix.java:1111) > > > at org.apache.felix.atomos.Atomos.main(Atomos.java:229) > > > > > > And, I don't get the gogo prompt and I can't hit the gogo web console > > from > > > http://localhost:8080/system/console/bundles > > > > > > Did I wrongly build the projects ? maybe it's because I'm using the > > > latest GraalVM > > > CE 21.0.0 version while in your README file it is mentioned that > GraalVM > > CE > > > 20.2.0 is required ? Notice that I'm getting the same issue when using > > the > > > -Pjava8 option. I hope I'm not raising a false alarm ? > > > > > > Now, the other atomos.examples.substrate.maven works, but at startup, > I > > > however noticed some exceptions: > > > > > > > > > ./atomos.examples/atomos.examples.substrate.maven/target/native_image_build/bin/org.apache.felix.atomos.examples.substrate.maven > > > > > > java.lang.reflect.InvocationTargetException > > > at java.lang.reflect.Method.invoke(Method.java:566) > > > at > > > > > > org.apache.felix.framework.util.SecureAction.getAccessor(SecureAction.java:1139) > > > > > > at > > > > > > org.apache.felix.framework.util.SecureAction.setAccesssible(SecureAction.java:998) > > > > > > at > > > > > > org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender.<clinit>(ClassPathExtenderFactory.java:79) > > > > > > at > > > > > > com.oracle.svm.core.classinitialization.ClassInitializationInfo.invokeClassInitializer(ClassInitializationInfo.java:375) > > > > > > at > > > > > > com.oracle.svm.core.classinitialization.ClassInitializationInfo.initialize(ClassInitializationInfo.java:295) > > > > > > at > > > > > > org.apache.felix.framework.ExtensionManager.<clinit>(ExtensionManager.java:152) > > > > > > at > > > > > > com.oracle.svm.core.classinitialization.ClassInitializationInfo.invokeClassInitializer(ClassInitializationInfo.java:375) > > > > > > at > > > > > > com.oracle.svm.core.classinitialization.ClassInitializationInfo.initialize(ClassInitializationInfo.java:295) > > > > > > at > > > > > > org.apache.felix.framework.Felix.initializeFrameworkProperties(Felix.java:4881) > > > > > > at org.apache.felix.framework.Felix.<init>(Felix.java:405) > > > at > > > > > > org.apache.felix.framework.FrameworkFactory.newFramework(FrameworkFactory.java:36) > > > > > > at > > > > > > org.apache.felix.atomos.impl.base.AtomosBase.newFramework(AtomosBase.java:423) > > > > > > at org.apache.felix.atomos.Atomos.main(Atomos.java:228) > > > Caused by: com.oracle.svm.core.jdk.UnsupportedFeatureError: Defining > new > > > classes at run time is not supported. All classes need to be known at > > image > > > build time. > > > at > > > com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:87) > > > at > jdk.internal.misc.Unsafe.defineAnonymousClass(Unsafe.java:246) > > > at sun.misc.Unsafe.defineAnonymousClass(Unsafe.java:830) > > > ... 14 more > > > com.oracle.svm.core.jdk.UnsupportedFeatureError: Setting a custom > > > URLStreamHandlerFactory. > > > at > > > com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:87) > > > at java.net.URL.setURLStreamHandlerFactory(URL.java:77) > > > at > > > org.apache.felix.framework.URLHandlers.<init>(URLHandlers.java:243) > > > at > > > > > > org.apache.felix.framework.URLHandlers.registerFrameworkInstance(URLHandlers.java:633) > > > > > > at > > > > > > org.apache.felix.framework.URLHandlersActivator.start(URLHandlersActivator.java:69) > > > > > > at > > > > > > org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:825) > > > > > > at > > > > > > org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:5173) > > > > > > at > > > > > > org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:825) > > > > > > at org.apache.felix.framework.Felix.init(Felix.java:899) > > > at org.apache.felix.framework.Felix.init(Felix.java:648) > > > at org.apache.felix.framework.Felix.start(Felix.java:1111) > > > at org.apache.felix.atomos.Atomos.main(Atomos.java:229) > > > Registered Echo service from activator. > > > 2021-02-12 00:48:55.120:INFO:oejs.Server:FelixStartLevel: > > > jetty-9.4.30.v20200611; built: 2020-06-11T12:34:51.929Z; git: > > > 271836e4c1f4612f12b7bb13ef5a92a927634b0d; jvm 11.0.10 > > > resource:gosh_profile: ERROR: java.lang.IllegalArgumentException: > Cannot > > > coerce addcommand(Token, BundleContextImpl) to any of [] > > > g! 2021-02-12 00:48:55.123:INFO:oejs.session:FelixStartLevel: > > > DefaultSessionIdManager workerName=node0 > > > 2021-02-12 00:48:55.123:INFO:oejs.session:FelixStartLevel: No > > > SessionScavenger set, using defaults > > > 2021-02-12 00:48:55.123:INFO:oejs.session:FelixStartLevel: node0 > > Scavenging > > > every 600000ms > > > 2021-02-12 00:48:55.123:INFO:oejsh.ContextHandler:FelixStartLevel: > > Started > > > o.e.j.s.ServletContextHandler@6384780a{/,null,AVAILABLE} > > > 2021-02-12 00:48:55.123:INFO:oejs.Server:FelixStartLevel: Started > @124ms > > > 2021-02-12 00:48:55.123:INFO:oejs.session:FelixStartLevel: node0 > > Scavenging > > > every 600000ms > > > 2021-02-12 00:48:55.124:INFO:oejs.AbstractConnector:FelixStartLevel: > > > Started ServerConnector@507b669c{HTTP/1.1, (http/1.1)}{0.0.0.0:8080} > > > [INFO] Started Jetty 9.4.30.v20200611 at port(s) HTTP:8080 on context > > path > > > / [minThreads=8,maxThreads=200,acceptors=1,selectors=2] > > > [INFO] Apachde Felix Http Whiteboard Service started > > > Activated: > > org.apache.felix.atomos.tests.testbundles.service.impl.EchoImpl > > > Echo service found: impl.activator hello > > > Activated: > > org.apache.felix.atomos.tests.testbundles.service.user.EchoUser > > > Activated via constructor: > > > org.apache.felix.atomos.tests.testbundles.service.user.EchoUser2 > > > ERROR: Bundle org.osgi.service.component.annotations [25] Error > starting > > > atomos:boot:org.osgi.service.component.annotations > > > (org.osgi.framework.BundleException: Unable to resolve org.osgi.se > > > rvice.component.annotations [25](R 25.0): missing requirement > > > [org.osgi.service.component.annotations [25](R 25.0)] > osgi.unresolvable; > > > (&(must.not.resolve=*)(!(must.not.resolve=*))) Unresolv > > > ed requirements: [[org.osgi.service.component.annotations [25](R 25.0)] > > > osgi.unresolvable; (&(must.not.resolve=*)(!(must.not.resolve=*)))]) > > > org.osgi.framework.BundleException: Unable to resolve > > > org.osgi.service.component.annotations [25](R 25.0): missing > requirement > > > [org.osgi.service.component.annotations [25](R 25.0)] osgi.unre > > > solvable; (&(must.not.resolve=*)(!(must.not.resolve=*))) Unresolved > > > requirements: [[org.osgi.service.component.annotations [25](R 25.0)] > > > osgi.unresolvable; (&(must.not.resolve=*)(!(must.not. > > > resolve=*)))]Unable to resolve connected bundle: Unable to resolve > > > org.osgi.service.component.annotations [25](R 25.0): missing > requirement > > > [org.osgi.service.component.annotations [25](R 25. > > > 0)] osgi.unresolvable; (&(must.not.resolve=*)(!(must.not.resolve=*))) > > > Unresolved requirements: [[org.osgi.service.component.annotations > [25](R > > > 25.0)] osgi.unresolvable; (&(must.not.resolve=* > > > )(!(must.not.resolve=*)))] > > > > > > at > > > org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4398) > > > at org.apache.felix.framework.Felix.startBundle(Felix.java:2308) > > > at > > > org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1566) > > > at > > > > > > org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308) > > > > > > at java.lang.Thread.run(Thread.java:834) > > > at > > > > > > com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:519) > > > > > > at > > > > > > com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192) > > > > > > > > > > > > Despite of the exceptions, the substrate.maven example works fine: I > can > > > get the gogo prompt and the webconsole also works. > > > > > > [1] > > > > > > https://github.com/apache/felix-atomos/blob/master/atomos.examples/SUBSTRATE.md > > > > > > thanks; > > > > > > regards > > > /pierre > > > > > > > > > > > > On Tue, Feb 9, 2021 at 7:38 PM Thomas Watson <[email protected]> wrote: > > > > > > > Hi, > > > > > > > > I did publish the new snapshots of atomos to > > > > https://repository.apache.org/content/repositories/snapshots in case > > you > > > > want to try them from there. I also updated my simplistic example of > > gogo > > > > w/ atomos at https://github.com/tjwatson/atomos-examples > > > > > > > > Tom > > > > > > > > On Tue, Feb 9, 2021 at 7:14 AM Jean-Baptiste Onofre <[email protected] > > > > > > wrote: > > > > > > > > > Thanks Tom for the reminder ! > > > > > > > > > > I should have time to test by the end of the week. > > > > > > > > > > Regards > > > > > JB > > > > > > > > > > > Le 9 févr. 2021 à 02:01, Thomas Watson <[email protected]> a > écrit > > : > > > > > > > > > > > > Hi, > > > > > > > > > > > > I would like to give you a chance to provide feedback before > > calling a > > > > > vote > > > > > > for a 1.0 release of Atomos. I've done a few modifications over > > the > > > > past > > > > > > week or so and have improved the project readme to make it easier > > to > > > > > > understand what Atomos is and how to use it: > > > > > > > > > > > > https://github.com/apache/felix-atomos > > > > > > > > > > > > Please let me know what you think and provide any improvements > > that you > > > > > > think may be needed before we call for a 1.0 release. > > > > > > > > > > > > Thanks > > > > > > > > > > > > Tom > > > > > > > > > > > > > > > > > > > > > > -- > > Karl Pauls > > [email protected] > > >
