How to debug NullPointerException for project restapi-def inition of version 3.6.4.1?

Hi, I am building ovirt-engine 3.6.4.1 and failed with NullPointerException. I build for cross compile with commands: tmp_repo=/buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/repo export MAVEN_OPTS="-Dmaven.repo.local=$tmp_repo" make EXTRA_BUILD_FLAGS="-s /buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/settings.xml --debug --offline" -j1 BUILD_GWT=1 BUILD_LOCALES=0 BUILD_UT=1 BUILD_VALIDATION=0 JAVA_DIR=/usr/share/ovirt-engine/java LOCALSTATE_DIR=/var MAVENPOM_DIR=/usr/share/ovirt-engine/maven-poms PREFIX=/usr SYSCONF_DIR=/etc PKG_SYSCONF_DIR=/etc/ovirt-engine PKG_DOC_DIR=/usr/doc/ovirt-engine PKG_EAR_DIR=/usr/share/ovirt-engine/engine.ear PKG_PKI_DIR=/etc/pki/ovirt-engine PKG_JBOSS_MODULES=/usr/share/ovirt-engine/modules PKG_CACHE_DIR=/var/cache/ovirt-engine PKG_LOG_DIR=/var/log/ovirt-engine PKG_TMP_DIR=/var/tmp/ovirt-engine PKG_STATE_DIR=/var/lib/ovirt-engine PKG_USER=ovirt PKG_GROUP=ovirt all The error messages show: [INFO] oVirt Engine API Definition ....................... FAILURE [1.476s] ... [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null: InvocationTargetException: NullPointerException -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) ... at javax.xml.bind.JAXB.marshal(JAXB.java:332) at org.ovirt.engine.api.rsdl.RsdlManager.serializeRsdl(RsdlManager.java:134) at org.ovirt.engine.api.rsdl.RsdlManager.generateRsdlFile(RsdlManager.java:84) at org.ovirt.engine.api.rsdl.RsdlManager.main(RsdlManager.java:58) ... 6 more My questions are: 1 I know the error occurs in file backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java, but how to debug it? 2 When I remove pom and jar files of javax.xml.bind.JAXB in mave repo with offline mode, it still could find the class. Which javax.xml.bind.JAXB is used? I searched the ovirt engine repo but didn't find it either. Thanks a lot. --Kai

On 04/06/2016 11:51 AM, Kai Kang wrote:
Hi,
I am building ovirt-engine 3.6.4.1 and failed with NullPointerException. I build for cross compile with commands:
tmp_repo=/buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/repo export MAVEN_OPTS="-Dmaven.repo.local=$tmp_repo"
make EXTRA_BUILD_FLAGS="-s /buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/settings.xml --debug --offline" -j1 BUILD_GWT=1 BUILD_LOCALES=0 BUILD_UT=1 BUILD_VALIDATION=0 JAVA_DIR=/usr/share/ovirt-engine/java LOCALSTATE_DIR=/var MAVENPOM_DIR=/usr/share/ovirt-engine/maven-poms PREFIX=/usr SYSCONF_DIR=/etc PKG_SYSCONF_DIR=/etc/ovirt-engine PKG_DOC_DIR=/usr/doc/ovirt-engine PKG_EAR_DIR=/usr/share/ovirt-engine/engine.ear PKG_PKI_DIR=/etc/pki/ovirt-engine PKG_JBOSS_MODULES=/usr/share/ovirt-engine/modules PKG_CACHE_DIR=/var/cache/ovirt-engine PKG_LOG_DIR=/var/log/ovirt-engine PKG_TMP_DIR=/var/tmp/ovirt-engine PKG_STATE_DIR=/var/lib/ovirt-engine PKG_USER=ovirt PKG_GROUP=ovirt all
The error messages show:
[INFO] oVirt Engine API Definition ....................... FAILURE [1.476s] ... [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null: InvocationTargetException: NullPointerException -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) ... at javax.xml.bind.JAXB.marshal(JAXB.java:332) at org.ovirt.engine.api.rsdl.RsdlManager.serializeRsdl(RsdlManager.java:134) at org.ovirt.engine.api.rsdl.RsdlManager.generateRsdlFile(RsdlManager.java:84) at org.ovirt.engine.api.rsdl.RsdlManager.main(RsdlManager.java:58) ... 6 more
My questions are:
1 I know the error occurs in file backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java, but how to debug it?
2 When I remove pom and jar files of javax.xml.bind.JAXB in mave repo with offline mode, it still could find the class. Which javax.xml.bind.JAXB is used? I searched the ovirt engine repo but didn't find it either.
The version of JAXB used by that area of the code is the version of JAXB included in the JDK that you are using for the build. So the question is what version of the JDK are you using? -- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.

On Wed, Apr 6, 2016 at 6:03 PM, Juan Hernández <jhernand@redhat.com> wrote:
On 04/06/2016 11:51 AM, Kai Kang wrote:
Hi,
I am building ovirt-engine 3.6.4.1 and failed with NullPointerException. I build for cross compile with commands:
tmp_repo=/buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/repo
export MAVEN_OPTS="-Dmaven.repo.local=$tmp_repo"
make EXTRA_BUILD_FLAGS="-s
/buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/settings.xml
--debug --offline" -j1 BUILD_GWT=1 BUILD_LOCALES=0 BUILD_UT=1 BUILD_VALIDATION=0 JAVA_DIR=/usr/share/ovirt-engine/java LOCALSTATE_DIR=/var MAVENPOM_DIR=/usr/share/ovirt-engine/maven-poms PREFIX=/usr SYSCONF_DIR=/etc PKG_SYSCONF_DIR=/etc/ovirt-engine PKG_DOC_DIR=/usr/doc/ovirt-engine PKG_EAR_DIR=/usr/share/ovirt-engine/engine.ear PKG_PKI_DIR=/etc/pki/ovirt-engine PKG_JBOSS_MODULES=/usr/share/ovirt-engine/modules PKG_CACHE_DIR=/var/cache/ovirt-engine PKG_LOG_DIR=/var/log/ovirt-engine PKG_TMP_DIR=/var/tmp/ovirt-engine PKG_STATE_DIR=/var/lib/ovirt-engine PKG_USER=ovirt PKG_GROUP=ovirt all
The error messages show:
[INFO] oVirt Engine API Definition ....................... FAILURE [1.476s] ... [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null: InvocationTargetException: NullPointerException -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
... at javax.xml.bind.JAXB.marshal(JAXB.java:332) at org.ovirt.engine.api.rsdl.RsdlManager.serializeRsdl(RsdlManager.java:134) at
org.ovirt.engine.api.rsdl.RsdlManager.generateRsdlFile(RsdlManager.java:84)
at
org.ovirt.engine.api.rsdl.RsdlManager.main(RsdlManager.java:58)
... 6 more
My questions are:
1 I know the error occurs in file
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java,
but how to debug it?
2 When I remove pom and jar files of javax.xml.bind.JAXB in mave repo with offline mode, it still could find the class. Which javax.xml.bind.JAXB is used? I searched the ovirt engine repo but didn't find it either.
The version of JAXB used by that area of the code is the version of JAXB included in the JDK that you are using for the build. So the question is what version of the JDK are you using?
Hi Juan, I am using icedtea7 to build openjdk-7. And I found the JAXB file. Would you like to give some advice how to debug this issue? Does jdb could debug such code? Thanks a lot. --Kai
-- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.

----- Original Message -----
On Wed, Apr 6, 2016 at 6:03 PM, Juan Hernández < jhernand@redhat.com > wrote:
On 04/06/2016 11:51 AM, Kai Kang wrote:
Hi,
I am building ovirt-engine 3.6.4.1 and failed with NullPointerException. I build for cross compile with commands:
tmp_repo=/buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/repo export MAVEN_OPTS="-Dmaven.repo.local=$tmp_repo"
make EXTRA_BUILD_FLAGS="-s /buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/settings.xml --debug --offline" -j1 BUILD_GWT=1 BUILD_LOCALES=0 BUILD_UT=1 BUILD_VALIDATION=0 JAVA_DIR=/usr/share/ovirt-engine/java LOCALSTATE_DIR=/var MAVENPOM_DIR=/usr/share/ovirt-engine/maven-poms PREFIX=/usr SYSCONF_DIR=/etc PKG_SYSCONF_DIR=/etc/ovirt-engine PKG_DOC_DIR=/usr/doc/ovirt-engine PKG_EAR_DIR=/usr/share/ovirt-engine/engine.ear PKG_PKI_DIR=/etc/pki/ovirt-engine PKG_JBOSS_MODULES=/usr/share/ovirt-engine/modules PKG_CACHE_DIR=/var/cache/ovirt-engine PKG_LOG_DIR=/var/log/ovirt-engine PKG_TMP_DIR=/var/tmp/ovirt-engine PKG_STATE_DIR=/var/lib/ovirt-engine PKG_USER=ovirt PKG_GROUP=ovirt all
The error messages show:
[INFO] oVirt Engine API Definition ....................... FAILURE [1.476s] ... [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null: InvocationTargetException: NullPointerException -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) ... at javax.xml.bind.JAXB.marshal(JAXB.java:332) at org.ovirt.engine.api.rsdl.RsdlManager.serializeRsdl(RsdlManager.java:134) at org.ovirt.engine.api.rsdl.RsdlManager.generateRsdlFile(RsdlManager.java:84) at org.ovirt.engine.api.rsdl.RsdlManager.main(RsdlManager.java:58) ... 6 more
My questions are:
1 I know the error occurs in file backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java, but how to debug it?
2 When I remove pom and jar files of javax.xml.bind.JAXB in mave repo with offline mode, it still could find the class. Which javax.xml.bind.JAXB is used? I searched the ovirt engine repo but didn't find it either.
The version of JAXB used by that area of the code is the version of JAXB included in the JDK that you are using for the build. So the question is what version of the JDK are you using?
Hi Juan,
I am using icedtea7 to build openjdk-7. And I found the JAXB file.
note: I saw same line using java-1.8.0-openjdk installed from repo.
Would you like to give some advice how to debug this issue? Does jdb could debug such code?
Thanks a lot.
--Kai
-- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

On 04/07/2016 08:34 AM, Martin Mucha wrote:
----- Original Message -----
On Wed, Apr 6, 2016 at 6:03 PM, Juan Hernández < jhernand@redhat.com > wrote:
On 04/06/2016 11:51 AM, Kai Kang wrote:
Hi,
I am building ovirt-engine 3.6.4.1 and failed with NullPointerException. I build for cross compile with commands:
tmp_repo=/buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/repo export MAVEN_OPTS="-Dmaven.repo.local=$tmp_repo"
make EXTRA_BUILD_FLAGS="-s /buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/settings.xml --debug --offline" -j1 BUILD_GWT=1 BUILD_LOCALES=0 BUILD_UT=1 BUILD_VALIDATION=0 JAVA_DIR=/usr/share/ovirt-engine/java LOCALSTATE_DIR=/var MAVENPOM_DIR=/usr/share/ovirt-engine/maven-poms PREFIX=/usr SYSCONF_DIR=/etc PKG_SYSCONF_DIR=/etc/ovirt-engine PKG_DOC_DIR=/usr/doc/ovirt-engine PKG_EAR_DIR=/usr/share/ovirt-engine/engine.ear PKG_PKI_DIR=/etc/pki/ovirt-engine PKG_JBOSS_MODULES=/usr/share/ovirt-engine/modules PKG_CACHE_DIR=/var/cache/ovirt-engine PKG_LOG_DIR=/var/log/ovirt-engine PKG_TMP_DIR=/var/tmp/ovirt-engine PKG_STATE_DIR=/var/lib/ovirt-engine PKG_USER=ovirt PKG_GROUP=ovirt all
The error messages show:
[INFO] oVirt Engine API Definition ....................... FAILURE [1.476s] ... [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null: InvocationTargetException: NullPointerException -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) ... at javax.xml.bind.JAXB.marshal(JAXB.java:332) at org.ovirt.engine.api.rsdl.RsdlManager.serializeRsdl(RsdlManager.java:134) at org.ovirt.engine.api.rsdl.RsdlManager.generateRsdlFile(RsdlManager.java:84) at org.ovirt.engine.api.rsdl.RsdlManager.main(RsdlManager.java:58) ... 6 more
My questions are:
1 I know the error occurs in file backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java, but how to debug it?
2 When I remove pom and jar files of javax.xml.bind.JAXB in mave repo with offline mode, it still could find the class. Which javax.xml.bind.JAXB is used? I searched the ovirt engine repo but didn't find it either.
The version of JAXB used by that area of the code is the version of JAXB included in the JDK that you are using for the build. So the question is what version of the JDK are you using?
Hi Juan,
I am using icedtea7 to build openjdk-7. And I found the JAXB file.
note: I saw same line using java-1.8.0-openjdk installed from repo.
The build of the master branch (what will eventually be oVirt 4) requires Java 8, but Kai Kang is trying to build 3.6.4.1, which should build correctly with Java 7. I just tried that, with the version of OpenJDK 7 included in CentOS 7: $ java -version java version "1.7.0_85" OpenJDK Runtime Environment (rhel-2.6.1.2.el7_1-x86_64 u85-b01) OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode Kai Kang, from the "icedtea7" and "openjdk-7" names I assume that you aren't using CentOS or Fedora, which are the typical distributions used for oVirt. What distribution are you using exactly? And what version of openjdk-7 exactly? If you share that information we may be able to reproduce.
Would you like to give some advice how to debug this issue? Does jdb could debug such code?
The easiest way to debug this to have an IDE, like IntelliJ Idea, or Eclipse, set a breakpoint in the relevant line and then debug the Maven build. You may be able to debug the Maven build with "jdb" as well, but I can't help you with that, I'm not familiar with it. I'd suggest to perform the build of the relevant component only, using the Maven -X option. For example: 1. Do a complete build of the engine, manually: $ mvn clean install -DskipTests This should fail in the same point where it failed previously, as you will be using the same JDK. 2. Change to the directory of the failing component, and repeat the build, with the "-X" flag: $ cd backend/manager/modules/restapi/interface/definition $ mvn clean install -X -DskipTests > build.log That should fail again, but there will be more information in the "build.log" file. Inspect and maybe share it with us. -- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.

On Thu, Apr 7, 2016 at 3:55 PM, Juan Hernández <jhernand@redhat.com> wrote:
On 04/07/2016 08:34 AM, Martin Mucha wrote:
----- Original Message -----
On Wed, Apr 6, 2016 at 6:03 PM, Juan Hernández < jhernand@redhat.com >
wrote:
On 04/06/2016 11:51 AM, Kai Kang wrote:
Hi,
I am building ovirt-engine 3.6.4.1 and failed with
NullPointerException.
I build for cross compile with commands:
tmp_repo=/buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/repo
export MAVEN_OPTS="-Dmaven.repo.local=$tmp_repo"
make EXTRA_BUILD_FLAGS="-s
/buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/settings.xml
--debug --offline" -j1 BUILD_GWT=1 BUILD_LOCALES=0 BUILD_UT=1 BUILD_VALIDATION=0 JAVA_DIR=/usr/share/ovirt-engine/java LOCALSTATE_DIR=/var MAVENPOM_DIR=/usr/share/ovirt-engine/maven-poms PREFIX=/usr SYSCONF_DIR=/etc PKG_SYSCONF_DIR=/etc/ovirt-engine PKG_DOC_DIR=/usr/doc/ovirt-engine PKG_EAR_DIR=/usr/share/ovirt-engine/engine.ear PKG_PKI_DIR=/etc/pki/ovirt-engine PKG_JBOSS_MODULES=/usr/share/ovirt-engine/modules PKG_CACHE_DIR=/var/cache/ovirt-engine PKG_LOG_DIR=/var/log/ovirt-engine PKG_TMP_DIR=/var/tmp/ovirt-engine PKG_STATE_DIR=/var/lib/ovirt-engine PKG_USER=ovirt PKG_GROUP=ovirt all
The error messages show:
[INFO] oVirt Engine API Definition ....................... FAILURE [1.476s] ... [INFO]
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null: InvocationTargetException: NullPointerException -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project restapi-definition: An exception occured while executing the Java class. null at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
... at javax.xml.bind.JAXB.marshal(JAXB.java:332) at
org.ovirt.engine.api.rsdl.RsdlManager.serializeRsdl(RsdlManager.java:134)
at
org.ovirt.engine.api.rsdl.RsdlManager.generateRsdlFile(RsdlManager.java:84)
at org.ovirt.engine.api.rsdl.RsdlManager.main(RsdlManager.java:58) ... 6 more
My questions are:
1 I know the error occurs in file
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java,
but how to debug it?
2 When I remove pom and jar files of javax.xml.bind.JAXB in mave repo with offline mode, it still could find the class. Which javax.xml.bind.JAXB is used? I searched the ovirt engine repo but didn't find it either.
The version of JAXB used by that area of the code is the version of JAXB included in the JDK that you are using for the build. So the question is what version of the JDK are you using?
Hi Juan,
I am using icedtea7 to build openjdk-7. And I found the JAXB file.
note: I saw same line using java-1.8.0-openjdk installed from repo.
The build of the master branch (what will eventually be oVirt 4) requires Java 8, but Kai Kang is trying to build 3.6.4.1, which should build correctly with Java 7. I just tried that, with the version of OpenJDK 7 included in CentOS 7:
$ java -version java version "1.7.0_85" OpenJDK Runtime Environment (rhel-2.6.1.2.el7_1-x86_64 u85-b01) OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode
Kai Kang, from the "icedtea7" and "openjdk-7" names I assume that you aren't using CentOS or Fedora, which are the typical distributions used for oVirt. What distribution are you using exactly? And what version of openjdk-7 exactly? If you share that information we may be able to reproduce.
I am working on cross-compile with Yocto project. So the java is built from openjdk source. $ java -version java version "1.7.0" JamVM version 2.0.0 Copyright (C) 2003-2014 Robert Lougher <rob@jamvm.org.uk> ... Build information: Execution Engine: inline-threaded interpreter Compiled with: gcc 4.8.2 Boot Library Path: /buildarea3/kkang/builds/ovp-intel-Mar15/bitbake_build/tmp/sysroots/x86_64-linux/usr/lib/cl asspath Boot Class Path: /buildarea3/kkang/builds/ovp-intel-Mar15/bitbake_build/tmp/sysroots/x86_64-linux/usr/share/ja mvm/classes.zip:/buildarea3/kkang/builds/ovp-intel-Mar15/bitbake_build/tmp/sysroots/x86_64-linux/usr/share/cla sspath/glibj.zip ovirt-engine 3.5.x could be built successfully. But none of 3.6.x could be built from 3.6.0.
Would you like to give some advice how to debug this issue? Does jdb
could
debug such code?
The easiest way to debug this to have an IDE, like IntelliJ Idea, or Eclipse, set a breakpoint in the relevant line and then debug the Maven build.
You may be able to debug the Maven build with "jdb" as well, but I can't help you with that, I'm not familiar with it.
I'd suggest to perform the build of the relevant component only, using the Maven -X option. For example:
1. Do a complete build of the engine, manually:
$ mvn clean install -DskipTests
This should fail in the same point where it failed previously, as you will be using the same JDK.
2. Change to the directory of the failing component, and repeat the build, with the "-X" flag:
$ cd backend/manager/modules/restapi/interface/definition $ mvn clean install -X -DskipTests > build.log
That should fail again, but there will be more information in the "build.log" file. Inspect and maybe share it with us.
The error occurs in ./backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java to deal with "/rsdl_metadata.yaml". I tried to copy rsdl_metadata.yaml from 3.5.1.1 to cover the file in build directory, but it stills to fail. The build log is pasted at: https://gist.github.com/parr0tr1ver/11760d866e6f40990e59c772cd6bca6f I'll try to debug it by eclipse. Thanks a lot. --Kai
-- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.

On 04/07/2016 10:50 AM, Kai Kang wrote:
On Thu, Apr 7, 2016 at 3:55 PM, Juan Hernández <jhernand@redhat.com <mailto:jhernand@redhat.com>> wrote:
On 04/07/2016 08:34 AM, Martin Mucha wrote: > > > ----- Original Message ----- >> >> >> On Wed, Apr 6, 2016 at 6:03 PM, Juan Hernández < jhernand@redhat.com <mailto:jhernand@redhat.com> > wrote: >> >> >> >> On 04/06/2016 11:51 AM, Kai Kang wrote: >>> Hi, >>> >>> I am building ovirt-engine 3.6.4.1 and failed with NullPointerException. >>> I build for cross compile with commands: >>> >>> >>> >>> tmp_repo=/buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/repo >>> export MAVEN_OPTS="-Dmaven.repo.local=$tmp_repo" >>> >>> make EXTRA_BUILD_FLAGS="-s >>> /buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/settings.xml >>> --debug --offline" -j1 BUILD_GWT=1 BUILD_LOCALES=0 >>> BUILD_UT=1 BUILD_VALIDATION=0 >>> JAVA_DIR=/usr/share/ovirt-engine/java LOCALSTATE_DIR=/var >>> MAVENPOM_DIR=/usr/share/ovirt-engine/maven-poms PREFIX=/usr >>> SYSCONF_DIR=/etc PKG_SYSCONF_DIR=/etc/ovirt-engine >>> PKG_DOC_DIR=/usr/doc/ovirt-engine >>> PKG_EAR_DIR=/usr/share/ovirt-engine/engine.ear >>> PKG_PKI_DIR=/etc/pki/ovirt-engine >>> PKG_JBOSS_MODULES=/usr/share/ovirt-engine/modules >>> PKG_CACHE_DIR=/var/cache/ovirt-engine >>> PKG_LOG_DIR=/var/log/ovirt-engine >>> PKG_TMP_DIR=/var/tmp/ovirt-engine >>> PKG_STATE_DIR=/var/lib/ovirt-engine PKG_USER=ovirt PKG_GROUP=ovirt >>> all >>> >>> >>> The error messages show: >>> >>> [INFO] oVirt Engine API Definition ....................... FAILURE [1.476s] >>> ... >>> [INFO] >>> ------------------------------------------------------------------------ >>> [ERROR] Failed to execute goal >>> org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project >>> restapi-definition: An exception occured while executing the Java class. >>> null: InvocationTargetException: NullPointerException -> [Help 1] >>> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to >>> execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on >>> project restapi-definition: An exception occured while executing the >>> Java class. null >>> at >>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) >>> ... >>> at javax.xml.bind.JAXB.marshal(JAXB.java:332) >>> at >>> org.ovirt.engine.api.rsdl.RsdlManager.serializeRsdl(RsdlManager.java:134) >>> at >>> org.ovirt.engine.api.rsdl.RsdlManager.generateRsdlFile(RsdlManager.java:84) >>> at org.ovirt.engine.api.rsdl.RsdlManager.main(RsdlManager.java:58) >>> ... 6 more >>> >>> >>> My questions are: >>> >>> 1 I know the error occurs in >>> file >>> backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java, >>> but how to debug it? >>> >>> 2 When I remove pom and jar files of javax.xml.bind.JAXB in mave repo >>> with offline mode, it still could find the class. >>> Which javax.xml.bind.JAXB is used? I searched the ovirt engine repo but >>> didn't find it either. >>> >> >> The version of JAXB used by that area of the code is the version of JAXB >> included in the JDK that you are using for the build. So the question is >> what version of the JDK are you using? >> >> Hi Juan, >> >> I am using icedtea7 to build openjdk-7. And I found the JAXB file. > > note: I saw same line using java-1.8.0-openjdk installed from repo. >
The build of the master branch (what will eventually be oVirt 4) requires Java 8, but Kai Kang is trying to build 3.6.4.1, which should build correctly with Java 7. I just tried that, with the version of OpenJDK 7 included in CentOS 7:
$ java -version java version "1.7.0_85" OpenJDK Runtime Environment (rhel-2.6.1.2.el7_1-x86_64 u85-b01) OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode
Kai Kang, from the "icedtea7" and "openjdk-7" names I assume that you aren't using CentOS or Fedora, which are the typical distributions used for oVirt. What distribution are you using exactly? And what version of openjdk-7 exactly? If you share that information we may be able to reproduce.
I am working on cross-compile with Yocto project. So the java is built from openjdk source.
$ java -version java version "1.7.0" JamVM version 2.0.0 Copyright (C) 2003-2014 Robert Lougher <rob@jamvm.org.uk <mailto:rob@jamvm.org.uk>>
...
Build information:
Execution Engine: inline-threaded interpreter Compiled with: gcc 4.8.2
Boot Library Path: /buildarea3/kkang/builds/ovp-intel-Mar15/bitbake_build/tmp/sysroots/x86_64-linux/usr/lib/cl asspath Boot Class Path: /buildarea3/kkang/builds/ovp-intel-Mar15/bitbake_build/tmp/sysroots/x86_64-linux/usr/share/ja mvm/classes.zip:/buildarea3/kkang/builds/ovp-intel-Mar15/bitbake_build/tmp/sysroots/x86_64-linux/usr/share/cla sspath/glibj.zip
ovirt-engine 3.5.x could be built successfully. But none of 3.6.x could be built from 3.6.0.
>> >> Would you like to give some advice how to debug this issue? Does jdb could >> debug such code? >>
The easiest way to debug this to have an IDE, like IntelliJ Idea, or Eclipse, set a breakpoint in the relevant line and then debug the Maven build.
You may be able to debug the Maven build with "jdb" as well, but I can't help you with that, I'm not familiar with it.
I'd suggest to perform the build of the relevant component only, using the Maven -X option. For example:
1. Do a complete build of the engine, manually:
$ mvn clean install -DskipTests
This should fail in the same point where it failed previously, as you will be using the same JDK.
2. Change to the directory of the failing component, and repeat the build, with the "-X" flag:
$ cd backend/manager/modules/restapi/interface/definition $ mvn clean install -X -DskipTests > build.log
That should fail again, but there will be more information in the "build.log" file. Inspect and maybe share it with us.
The error occurs in
./backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java
to deal with "/rsdl_metadata.yaml".
I tried to copy rsdl_metadata.yaml from 3.5.1.1 to cover the file in build directory, but it stills to fail.
The build log is pasted at:
https://gist.github.com/parr0tr1ver/11760d866e6f40990e59c772cd6bca6f
I'll try to debug it by eclipse.
The problem looks like this JAXB bug: https://java.net/jira/browse/JAXB-860 Any chances that your JDK includes a version of JAXB that isn't fixed? As you are building the JDK from source you may be able to update the version of JAXB. -- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.

On Thu, Apr 7, 2016 at 5:23 PM, Juan Hernández <jhernand@redhat.com> wrote:
On 04/07/2016 10:50 AM, Kai Kang wrote:
On Thu, Apr 7, 2016 at 3:55 PM, Juan Hernández <jhernand@redhat.com <mailto:jhernand@redhat.com>> wrote:
On 04/07/2016 08:34 AM, Martin Mucha wrote: > > > ----- Original Message ----- >> >> >> On Wed, Apr 6, 2016 at 6:03 PM, Juan Hernández < jhernand@redhat.com <mailto:jhernand@redhat.com> > wrote: >> >> >> >> On 04/06/2016 11:51 AM, Kai Kang wrote: >>> Hi, >>> >>> I am building ovirt-engine 3.6.4.1 and failed with NullPointerException. >>> I build for cross compile with commands: >>> >>> >>> >>>
tmp_repo=/buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/repo
>>> export MAVEN_OPTS="-Dmaven.repo.local=$tmp_repo" >>> >>> make EXTRA_BUILD_FLAGS="-s >>>
/buildarea3/kkang/builds/Mar31-ovrit-engine/bitbake_build/tmp/work/corei7-64-wrs-linux/ovirt-engine/3.6.4.1-r0/settings.xml
>>> --debug --offline" -j1 BUILD_GWT=1 BUILD_LOCALES=0 >>> BUILD_UT=1 BUILD_VALIDATION=0 >>> JAVA_DIR=/usr/share/ovirt-engine/java LOCALSTATE_DIR=/var >>> MAVENPOM_DIR=/usr/share/ovirt-engine/maven-poms PREFIX=/usr >>> SYSCONF_DIR=/etc PKG_SYSCONF_DIR=/etc/ovirt-engine >>> PKG_DOC_DIR=/usr/doc/ovirt-engine >>> PKG_EAR_DIR=/usr/share/ovirt-engine/engine.ear >>> PKG_PKI_DIR=/etc/pki/ovirt-engine >>> PKG_JBOSS_MODULES=/usr/share/ovirt-engine/modules >>> PKG_CACHE_DIR=/var/cache/ovirt-engine >>> PKG_LOG_DIR=/var/log/ovirt-engine >>> PKG_TMP_DIR=/var/tmp/ovirt-engine >>> PKG_STATE_DIR=/var/lib/ovirt-engine PKG_USER=ovirt
PKG_GROUP=ovirt
>>> all >>> >>> >>> The error messages show: >>> >>> [INFO] oVirt Engine API Definition ....................... FAILURE [1.476s] >>> ... >>> [INFO] >>>
------------------------------------------------------------------------
>>> [ERROR] Failed to execute goal >>> org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project >>> restapi-definition: An exception occured while executing the Java class. >>> null: InvocationTargetException: NullPointerException -> [Help 1] >>> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to >>> execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on >>> project restapi-definition: An exception occured while executing
the
>>> Java class. null >>> at >>>
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
>>> ... >>> at javax.xml.bind.JAXB.marshal(JAXB.java:332) >>> at >>>
org.ovirt.engine.api.rsdl.RsdlManager.serializeRsdl(RsdlManager.java:134)
>>> at >>>
org.ovirt.engine.api.rsdl.RsdlManager.generateRsdlFile(RsdlManager.java:84)
>>> at
org.ovirt.engine.api.rsdl.RsdlManager.main(RsdlManager.java:58)
>>> ... 6 more >>> >>> >>> My questions are: >>> >>> 1 I know the error occurs in >>> file >>>
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java,
>>> but how to debug it? >>> >>> 2 When I remove pom and jar files of javax.xml.bind.JAXB in mave repo >>> with offline mode, it still could find the class. >>> Which javax.xml.bind.JAXB is used? I searched the ovirt engine repo but >>> didn't find it either. >>> >> >> The version of JAXB used by that area of the code is the version of JAXB >> included in the JDK that you are using for the build. So the question is >> what version of the JDK are you using? >> >> Hi Juan, >> >> I am using icedtea7 to build openjdk-7. And I found the JAXB file. > > note: I saw same line using java-1.8.0-openjdk installed from repo. >
The build of the master branch (what will eventually be oVirt 4) requires Java 8, but Kai Kang is trying to build 3.6.4.1, which
should
build correctly with Java 7. I just tried that, with the version of OpenJDK 7 included in CentOS 7:
$ java -version java version "1.7.0_85" OpenJDK Runtime Environment (rhel-2.6.1.2.el7_1-x86_64 u85-b01) OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode
Kai Kang, from the "icedtea7" and "openjdk-7" names I assume that you aren't using CentOS or Fedora, which are the typical distributions
used
for oVirt. What distribution are you using exactly? And what version
of
openjdk-7 exactly? If you share that information we may be able to reproduce.
I am working on cross-compile with Yocto project. So the java is built from openjdk source.
$ java -version java version "1.7.0" JamVM version 2.0.0 Copyright (C) 2003-2014 Robert Lougher <rob@jamvm.org.uk <mailto:rob@jamvm.org.uk>>
...
Build information:
Execution Engine: inline-threaded interpreter Compiled with: gcc 4.8.2
Boot Library Path:
/buildarea3/kkang/builds/ovp-intel-Mar15/bitbake_build/tmp/sysroots/x86_64-linux/usr/lib/cl
asspath Boot Class Path:
/buildarea3/kkang/builds/ovp-intel-Mar15/bitbake_build/tmp/sysroots/x86_64-linux/usr/share/ja
mvm/classes.zip:/buildarea3/kkang/builds/ovp-intel-Mar15/bitbake_build/tmp/sysroots/x86_64-linux/usr/share/cla
sspath/glibj.zip
ovirt-engine 3.5.x could be built successfully. But none of 3.6.x could be built from 3.6.0.
>> >> Would you like to give some advice how to debug this issue? Does jdb could >> debug such code? >>
The easiest way to debug this to have an IDE, like IntelliJ Idea, or Eclipse, set a breakpoint in the relevant line and then debug the Maven build.
You may be able to debug the Maven build with "jdb" as well, but I can't help you with that, I'm not familiar with it.
I'd suggest to perform the build of the relevant component only, using the Maven -X option. For example:
1. Do a complete build of the engine, manually:
$ mvn clean install -DskipTests
This should fail in the same point where it failed previously, as you will be using the same JDK.
2. Change to the directory of the failing component, and repeat the build, with the "-X" flag:
$ cd backend/manager/modules/restapi/interface/definition $ mvn clean install -X -DskipTests > build.log
That should fail again, but there will be more information in the "build.log" file. Inspect and maybe share it with us.
The error occurs in
./backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java
to deal with "/rsdl_metadata.yaml".
I tried to copy rsdl_metadata.yaml from 3.5.1.1 to cover the file in build directory, but it stills to fail.
The build log is pasted at:
https://gist.github.com/parr0tr1ver/11760d866e6f40990e59c772cd6bca6f
I'll try to debug it by eclipse.
The problem looks like this JAXB bug:
https://java.net/jira/browse/JAXB-860
Any chances that your JDK includes a version of JAXB that isn't fixed? As you are building the JDK from source you may be able to update the version of JAXB.
Hi Juan, It is the root cause of my problem. Thanks for your great help. --Kai
-- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.
participants (3)
-
Juan Hernández
-
Kai Kang
-
Martin Mucha