Hi,

I agree: it seems the patch-module option is not "AIX compliant" ;)

Does it work without patch module option ?

Regards
JB

> Le 5 mai 2021 à 21:11, Frank 'S Jegers <[email protected]> a écrit :
> 
> Hi,
>  
> I tried with a freshly downloaded Karaf 4.2.11, generated the wrapper files 
> by executing :
> export JAVA_HOME=/opt/ikan/java/jdk-11.0.11+9
> karaf/bin/shell wrapper:install
>  
> Also tried starting Karaf first, then, from the karaf console, did a
> feature install wrapper
> and
> wrapper:install
>  
> The JAVA_HOME is set in the karaf-wrapper.conf :
> set.default.JAVA_HOME=/opt/ikan/java/jdk-11.0.11+9
>  
> But it still wouldn't start. Turns out there was a wrapper.log after all 
> (wasn't looking in the right place).
>  
> This is the relevant content :
>  
> ERROR  | wrapper  | 2021/05/05 19:21:12 | JVM exited while loading the 
> application.
> INFO   | jvm 5    | 2021/05/05 19:21:12 | NOTE: Picked up JDK_JAVA_OPTIONS: 
> --add-reads=java.xml=java.logging 
> --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED 
> --patch-module 
> java.base=lib/endorsed/org.apache.karaf.specs.locator-4.2.11.jar 
> --patch-module 
> java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-4.2.11.jar --add-opens 
> java.base/java.security=ALL-UNNAMED --add-opens java.base/java.net 
> <http://java.net/>=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED 
> --add-opens java.base/java.util=ALL-UNNAMED --add-opens 
> java.naming/javax.naming.spi=ALL-UNNAMED --add-opens 
> java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.protocol.file=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.protocol.ftp=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.content.text=ALL-UNNAMED 
> --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED 
> --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED
> INFO   | jvm 5    | 2021/05/05 19:21:12 | NOTE: Picked up JDK_JAVA_OPTIONS: 
> --add-reads=java.xml=java.logging 
> --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED 
> --patch-module 
> java.base=lib/endorsed/org.apache.karaf.specs.locator-4.2.11.jar 
> --patch-module 
> java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-4.2.11.jar --add-opens 
> java.base/java.security=ALL-UNNAMED --add-opens java.base/java.net 
> <http://java.net/>=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED 
> --add-opens java.base/java.util=ALL-UNNAMED --add-opens 
> java.naming/javax.naming.spi=ALL-UNNAMED --add-opens 
> java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.protocol.file=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.protocol.ftp=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED 
> --add-exports=java.base/sun.net.www.content.text=ALL-UNNAMED 
> --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED 
> --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED
> INFO   | jvm 5    | 2021/05/05 19:21:12 | Error occurred during 
> initialization of VM
> INFO   | jvm 5    | 2021/05/05 19:21:12 | Cannot specify java.base more than 
> once to --patch-module
>  
> It looks like I'm experiencing issue KARAF-6439 
> (https://issues.apache.org/jira/browse/KARAF-6439 
> <https://issues.apache.org/jira/browse/KARAF-6439> )
>  
> After some testing it appears that this problem is caused by the handling of 
> the OpenJDK Java versions for AIX of the JDK_JAVA_OPTIONS environment 
> variable :
> If you set
> export JDK_JAVA_OPTIONS="--patch-module java.base=dummy.jar"
> and then run any Java class, like :
> java Dummy
> it will fail to launch a JVM, complaining that "java.base specified more than 
> once to --patch-module"
>  
> I tested with AdoptOpenJDK-11.0.11+9 (both Hotspot and OpenJ9) and with IBM 
> jdk 11 (Eclipse OpenJ9 VM 11.0.10.0-IBM (build openj9-0.24.0, JRE 11 AIX 
> ppc64-64-Bit Compressed References 20210202_3 (JIT enabled, AOT enabled)). 
> All produce similar errors for this case.
>  
> I didn't find an Oracle Java for the AIX platform, nor a compatible jdk from 
> Amazon Coretto or Azul Zulu.
>  
> The only option I see for the moment is removing the use of the 
> JDK_JAVA_OPTIONS environment variable, and putting all those options as 
> wrapper.java.additional.xx JVM parameters. I'll test that, unless anyone has 
> any better ideas ?
>  
> Any input greatly appreciated.
>  
> Grtz,
> Frank 'S Jegers.
>  
> From: Jean-Baptiste Onofre [mailto:[email protected]] 
> Sent: woensdag 5 mei 2021 16:09
> To: user
> Subject: Re: Can't start karaf using the wrapper on AIX 7.2
>  
> Hi Frank
>  
> Did you try to install wrapper once karaf is started ?
> Do you have the JDK define in wrapper.conf ?
>  
> Regards
> JB
> 
> 
> Le 5 mai 2021 à 15:49, Frank 'S Jegers <[email protected] 
> <mailto:[email protected]>> a écrit :
>  
> Hi,
>  
> I'm trying to start karaf using the wrapper script on AIX 7.2.
> Generated the wrapper files by executing :
> karaf/bin/shell wrapper:install -n almagent59 -d "IKAN\ ALM\ 5.9\ Agent" -D 
> "IKAN\ ALM\ 5.9\ Agent\ Daemon"
>  
> Then created a link to the sysV script in /etc/rc.d/init.d/
> sudo ln -s /opt/ikan/almagent59/daemons/agent/karaf/bin/almagent59-service 
> /etc/rc.d/init.d/
>  
> When I run it with "sudo /etc/rc.d/init.d/almagent59-service start", I get 
> the output :
> Starting IKAN ALM 5.9 Agent...
>  
> and then nothing : no Java process, no wrapper.log, no lock file, no 
> karaf.pid file
>  
> In karaf/etc/almagent59-wrapper.conf, I set "wrapper.console.loglevel=DEBUG"
> Then I get the additional output :
> wrapper  | Working directory set to: /opt/ikan/almagent59/daemons/agent/karaf
> wrapper  | Spawning intermediate process...
>  
> I edited the almagent59-service, and echoed the command that gets executed, 
> which is :
> /opt/ikan/almagent59/daemons/agent/karaf/bin/almagent59-wrapper 
> /opt/ikan/almagent59/daemons/agent/karaf/etc/almagent59-wrapper.conf 
> wrapper.syslog.ident=almagent59 
> wrapper.pidfile=/opt/ikan/almagent59/daemons/agent/karaf/almagent59.wrapper.pid
>  wrapper.daemonize=TRUE
>  
> When I launch Karaf using karaf/bin/karaf, then Karaf starts ok and our 
> application seems to function.
>  
> I've followed similar steps as above to launch karaf using the wrapper script 
> on several Debian and Redhat based Linuxes, using both the sysV script and 
> the systemd unit file, and managed to get it working there. But not so on AIX.
>  
> Any ideas ?
>  
> Karaf version : 4.2.8
>  
> Java version : 
> openjdk version "11.0.11" 2021-04-20
> OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
> OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)
>  
> AIX version : AIX 7.2 7200-03-02-1846
>  
> Thank you,
> Frank 'S Jegers

Reply via email to