GZoltar / gzoltar

GZoltar - Java Library for Automatic Debugging http://www.gzoltar.com
Other
77 stars 34 forks source link

Maven com.gzoltar.core Build Fail #5

Closed lizj14 closed 4 years ago

lizj14 commented 5 years ago

Context

Errors occur when I try to build the com.gzoltar.core using maven.

Steps to Reproduce

  1. git clone https://github.com/GZoltar/gzoltar
  2. cd gzoltar/com.gzoltar.core
  3. mvn test

Expected behaviour

I expect to build the gzoltarcli.jar, but the process fail during the build of com.gzoltar.core. There are 11 failures among the 94 tests run. There are two types of errors: javassist.CannotCompileException: [source error] no such class: java.lang.UnknownError$$gzoltarAccess javassist.bytecode.DuplicateMemberException: duplicate field: $gzoltarData

Environment (please complete the following information, if relevant):

jose commented 5 years ago

Hi @lizj14,

Errors occur when I try to build the com.gzoltar.core using maven.

To build or test any GZoltar's module you must execute mvn ___ in the root directory.

I expect to build the gzoltarcli.jar

May I ask what do you need gzoltarcli.jar for? Note that since version 1.7.0 it is recommended to use GZoltar's Ant or Maven plugin to perform fault localization. In this repository you can find examples how to integrate GZoltar in your build system, e.g., an Ant project example can be find in here and a Maven project example can be find in here. You can also find the latest version of all GZoltar's modules (including the gzoltarcli.jar) in here.

-- Best, Jose

lizj14 commented 5 years ago

Hello, @jose , thanks very much for your reply!

To build or test any GZoltar's module you must execute mvn ___ in the root directory.

while using 'mvn test' or 'mvn package' in the root directory, it will end in the process 'com.gzoltar.core' because of the 11 test errors, as I mentioned in the Expected behavior above:

[INFO] Reactor Summary: [INFO] [INFO] GZoltar ............................................ SUCCESS [ 0.005 s] [INFO] GZoltar :: Core .................................... FAILURE [ 4.685 s] [INFO] GZoltar :: FL ...................................... SKIPPED [INFO] GZoltar :: Report .................................. SKIPPED ......(similar as above)

Note that since version 1.7.0 it is recommended to use GZoltar's Ant or Maven plugin to perform fault localization. In this repository you can find examples how to integrate GZoltar in your build system, e.g., an Ant project example can be find in here and a Maven project example can be find in here.

Thanks! I have tried to run com.gzoltar.ant.examples with the com.gzoltar.ant.jar provided in the release 1.7.1, (as I cannot package by myself, as mentioned above). However, the similar error occurs:

jar:file:/home/lizijie/research/new_work/gzoltar/com.gzoltar.ant/target/com.gzoltar.ant-1.7.1-SNAPSHOT-jar-with-dependencies.jar!/antlib.xml:20: taskdef A class needed by class com.gzoltar.ant.InstrumentTask cannot be found: javassist/NotFoundException using the classloader AntClassLoader[/home/lizijie/research/new_work/gzoltar/com.gzoltar.ant/target/com.gzoltar.ant-1.7.1-SNAPSHOT-jar-with-dependencies.jar]

It seems that both problems are about the javassist. However, I have not changed the javassist version given by pom.xml in com.gzoltar.build:

3.23.1-GA Thanks so much for your help! lizj14
jose commented 5 years ago

Hi @lizj14,

That's odd. I've successfully packaged GZoltar on different machines (including Travis) with different Java and Maven versions.

Could you please execute the following commands and send me the output of each one?

$ java -version
$ mvn -version
$ ant -version

And, could you please send me the output of the following commands, i.e., could you please attach to this issue the following gzoltar.log file?

$ git clone https://github.com/GZoltar/gzoltar.git
$ cd gzoltar
$ mvn clean install > gzoltar.log 2>&1

-- Best, Jose

lizj14 commented 5 years ago

Hi @jose ,

Could you please execute the following commands and send me the output of each one?

The results are as follows: java -version: java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

javac -version: javac 1.8.0_191

mvn -version: Apache Maven 3.3.9 Maven home: /usr/share/maven Java version: 1.8.0_191, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-8-oracle/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "4.15.0-42-generic", arch: "amd64", family: "unix"

ant -version: Apache Ant(TM) version 1.9.6 compiled on July 20 2018

$ git clone https://github.com/GZoltar/gzoltar.git $ cd gzoltar $ mvn clean install > gzoltar.log 2>&1

The output of the commands above is as follows: https://github.com/lizj14/file_to_share/blob/master/gzoltar.log

Thanks for reply~ lizj14

lizj14 commented 5 years ago

Hello @jose , I have installed a new Ubuntu 18.04 on VmWare, and build the GZoltar successfully with maven and openjdk-8-java. So, I think the former problem is from either maven or java version on my old Ubuntu 16.04. If I find the reason later, I will add to this issue. Thanks for your help before~ lizj14

lizj14 commented 5 years ago

The same process on Ubuntu 16.04 failed. It seemed that following process works on Ubuntu 18.04 but failed on 16.04.

Build a new virtual system with VmWare sudo apt-get install openjdk-8-jdk sudo apt-get install maven sudo apt-get install git git clone https://github.com/gzoltar/gzoltar cd gzoltar mvn clean install

Failure on Ubuntu 16.04 comes from javassist.

jose commented 5 years ago

Hi @lizj14,

Unfortunately, I was not able to reproduce this issue with the latest version (i.e., v1.7.2). Could you please try again, this time using the latest version available, and let me know whether the build still fails?

-- Best, Jose

lizj14 commented 5 years ago

Hi @jose I have tried the new version with Ubuntu 18.04. The mvn clean install works well. As I am not using Ubuntu 16.04 any longer, I made a new Ubuntu 16.04 on VmWare in Win10. Then I clone the latest version, and the mvn clean install still failed. But it doesn't matter, because it can run well on Ubuntu 18.04. Thanks Li Zijie.