[ 
https://issues.apache.org/jira/browse/DAEMON-358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gustavo Romero updated DAEMON-358:
----------------------------------
    Description: 
On ppc64 and ppc64le archs jsvc looks for jvm.cfg and JVM shared objects in the 
wrong path. Be it used with IBM Java or OpenJDK (where the problem was first 
encountered), there is no dir called power64 or power64le. Instead ppc64 and 
ppc64le are used. In doing so, it fails with "Cannot find any VM in Java Home"
 
Contact Information = [email protected] 
 
uname output:
Linux gromero18 3.10.0-505.el7.ppc64le #1 SMP Tue Sep 6 11:09:32 EDT 2016 
ppc64le ppc64le ppc64le GNU/Linux
 
Machine Type = pKVM 
 
Debugger:
A debugger is not configured
 
Steps to Reproduce:
 yum install apache-commons-daemon-jsvc
# cat MyClass.java 
public class MyClass {
  public void init(String[] args) {
    System.out.println("Init...");
  }

  public void start() {
    System.out.println("Start...");
  }

  public void stop() {
    System.out.println("Stop...");
  }

  public void destroy() {
    System.out.println("Destroy...");
  }
}
# javac MyClass.java
# jar cvf my.jar MyClass.class
# /bin/jsvc -debug -user root -java-home 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le -cp 
/usr/share/java/apache-commons-daemon.jar:/root/my.jar MyClass -start

Then:
Attempting to locate Java Home in 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le
Attempting to locate VM configuration file 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/jre/lib/jvm.cfg
Attempting to locate VM configuration file 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/lib/jvm.cfg
Attempting to locate VM configuration file 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/jre/lib/powerpc64le/jvm.cfg
Attempting to locate VM configuration file 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/lib/powerpc64le/jvm.cfg
VM configuration file not found
...
 
Java Version: openjdk version "1.8.0_111" OpenJDK Runtime Environment (build 
1.8.0_111-b15) OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)

Userspace rpm:
apache-commons-daemon-jsvc-1.0.13-6.el7.ppc64le.rpm

The userspace tool has the following bit modes: 64-bit

  was:

On ppc64 and ppc64le archs jsvc looks for jvm.cfg and JVM shared objects in the 
wrong path. Be it used with IBM Java or OpenJDK (where the problem was first 
encountered), there is no dir called power64 or power64le. Instead ppc64 and 
ppc64le are used. In doing so, it fails with "Cannot find any VM in Java Home"
 
Contact Information = [email protected] 
 
---uname output---
Linux gromero18 3.10.0-505.el7.ppc64le #1 SMP Tue Sep 6 11:09:32 EDT 2016 
ppc64le ppc64le ppc64le GNU/Linux
 
Machine Type = pKVM 
 
---Debugger---
A debugger is not configured
 
---Steps to Reproduce---
 yum install apache-commons-daemon-jsvc
# cat MyClass.java 
public class MyClass {
  public void init(String[] args) {
    System.out.println("Init...");
  }

  public void start() {
    System.out.println("Start...");
  }

  public void stop() {
    System.out.println("Stop...");
  }

  public void destroy() {
    System.out.println("Destroy...");
  }
}
# javac MyClass.java
# jar cvf my.jar MyClass.class
# /bin/jsvc -debug -user root -java-home 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le -cp 
/usr/share/java/apache-commons-daemon.jar:/root/my.jar MyClass -start

Then:
Attempting to locate Java Home in 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le
Attempting to locate VM configuration file 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/jre/lib/jvm.cfg
Attempting to locate VM configuration file 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/lib/jvm.cfg
Attempting to locate VM configuration file 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/jre/lib/powerpc64le/jvm.cfg
Attempting to locate VM configuration file 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/lib/powerpc64le/jvm.cfg
VM configuration file not found
...
 
Java Version: openjdk version "1.8.0_111" OpenJDK Runtime Environment (build 
1.8.0_111-b15) OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)

Userspace rpm:
apache-commons-daemon-jsvc-1.0.13-6.el7.ppc64le.rpm

The userspace tool has the following bit modes: 64-bit


> PPC64: svc fails to find JVM jvm.cfg file and shared objects due to wrong path
> ------------------------------------------------------------------------------
>
>                 Key: DAEMON-358
>                 URL: https://issues.apache.org/jira/browse/DAEMON-358
>             Project: Commons Daemon
>          Issue Type: Bug
>          Components: Jsvc
>    Affects Versions: 1.0.13
>         Environment: Linux ppc64_machine 3.10.0-505.el7.ppc64le #1 SMP Tue 
> Sep 6 11:09:32 EDT 2016 ppc64le ppc64le ppc64le GNU/Linux, RHEL 7.3
>            Reporter: Gustavo Romero
>            Priority: Critical
>   Original Estimate: 0.75h
>  Remaining Estimate: 0.75h
>
> On ppc64 and ppc64le archs jsvc looks for jvm.cfg and JVM shared objects in 
> the wrong path. Be it used with IBM Java or OpenJDK (where the problem was 
> first encountered), there is no dir called power64 or power64le. Instead 
> ppc64 and ppc64le are used. In doing so, it fails with "Cannot find any VM in 
> Java Home"
>  
> Contact Information = [email protected] 
>  
> uname output:
> Linux gromero18 3.10.0-505.el7.ppc64le #1 SMP Tue Sep 6 11:09:32 EDT 2016 
> ppc64le ppc64le ppc64le GNU/Linux
>  
> Machine Type = pKVM 
>  
> Debugger:
> A debugger is not configured
>  
> Steps to Reproduce:
>  yum install apache-commons-daemon-jsvc
> # cat MyClass.java 
> public class MyClass {
>   public void init(String[] args) {
>     System.out.println("Init...");
>   }
>   public void start() {
>     System.out.println("Start...");
>   }
>   public void stop() {
>     System.out.println("Stop...");
>   }
>   public void destroy() {
>     System.out.println("Destroy...");
>   }
> }
> # javac MyClass.java
> # jar cvf my.jar MyClass.class
> # /bin/jsvc -debug -user root -java-home 
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le -cp 
> /usr/share/java/apache-commons-daemon.jar:/root/my.jar MyClass -start
> Then:
> Attempting to locate Java Home in 
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le
> Attempting to locate VM configuration file 
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/jre/lib/jvm.cfg
> Attempting to locate VM configuration file 
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/lib/jvm.cfg
> Attempting to locate VM configuration file 
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/jre/lib/powerpc64le/jvm.cfg
> Attempting to locate VM configuration file 
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.ppc64le/lib/powerpc64le/jvm.cfg
> VM configuration file not found
> ...
>  
> Java Version: openjdk version "1.8.0_111" OpenJDK Runtime Environment (build 
> 1.8.0_111-b15) OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
> Userspace rpm:
> apache-commons-daemon-jsvc-1.0.13-6.el7.ppc64le.rpm
> The userspace tool has the following bit modes: 64-bit



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to