[INFRAUTILS-61] ClasspathHellDuplicatesCheckRule fails on Oracle Java (only Oxygen & Fluorine; Neon OK) Created: 17/Dec/18 Updated: 21/Dec/18 Resolved: 21/Dec/18 |
|
| Status: | Resolved |
| Project: | infrautils |
| Component/s: | None |
| Affects Version/s: | Oxygen-SR3, Fluorine, Fluorine-SR1 |
| Fix Version/s: | Fluorine-SR2 |
| Type: | Bug | Priority: | Highest |
| Reporter: | Michael Vorburger | Assignee: | Michael Vorburger |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Description |
|
as per the discussion on and analysis in the "[infrautils-dev] infrautils build : ClasspathHellDuplicatesCheckRule : Classpath errors detected " thread on https://lists.opendaylight.org/pipermail/infrautils-dev/2018-December/thread.html, the ClasspathHellDuplicatesCheckRule fails when you run on Oracle Java instead of OpenJDK. The email thread describes the mystery why this could have failed but only for our friends at Ericsson and never for other developer and on the opendaylight.org; I've just been able to confirm that this is due to running under Oracle Java instead of OpenJDK, and locally reproduced this - logs attached. This problem only affects Oxygen & Fluorine; Neon is OK because https://git.opendaylight.org/gerrit/#/c/76625/ completely changed the implentation, to using Classgraph instead jHades. |
| Comments |
| Comment by Michael Vorburger [ 17/Dec/18 ] |
|
k.faseela attempted to port https://git.opendaylight.org/gerrit/#/c/76625/ from Neon master back to Oxygen in https://git.opendaylight.org/gerrit/#/c/78826/, but that unfortunately leads to |
| Comment by Michael Vorburger [ 17/Dec/18 ] |
|
https://git.opendaylight.org/gerrit/#/c/78832 helps us to finally understand the real culprit: >> jHades multipleClassVersionsReport >> Duplicate classpath resources report: /META-INF/ORACLE_J.SF has 4 versions on these classpath locations: sun.misc.Launcher$ExtClassLoader - file:/home/vorburger/bin/jdk1.8.0_191_ORACLE/jre/lib/ext/sunjce_provider.jar - class file size = 20436 sun.misc.Launcher$ExtClassLoader - file:/home/vorburger/bin/jdk1.8.0_191_ORACLE/jre/lib/ext/sunpkcs11.jar - class file size = 11578 sun.misc.Launcher$ExtClassLoader - file:/home/vorburger/bin/jdk1.8.0_191_ORACLE/jre/lib/ext/sunec.jar - class file size = 1871 Bootstrap class loader - file:/home/vorburger/bin/jdk1.8.0_191_ORACLE/jre/lib/jce.jar - class file size = 6993 /META-INF/INDEX.LIST has 2 versions on these classpath locations: sun.misc.Launcher$AppClassLoader - file:/home/vorburger/.m2/repository/org/objenesis/objenesis/2.5.1/objenesis-2.5.1.jar - class file size = 322 sun.misc.Launcher$ExtClassLoader - file:/home/vorburger/bin/jdk1.8.0_191_ORACLE/jre/lib/ext/jfxrt.jar - class file size = 4815 https://git.opendaylight.org/gerrit/78835 fixes this problem for Fluorine (SR2), locally verified. |