[CARDINAL-6] Carbon snapshot: SingleFeatureTest is failing Created: 13/Dec/16  Updated: 19/Oct/17  Resolved: 28/Dec/16

Status: Resolved
Project: cardinal
Component/s: General
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Vratko Polak Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 7357

 Description   

Full log here [0], stack trace copied:

Running org.opendaylight.odlparent.featuretest.SingleFeatureTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.036 sec <<< FAILURE! - in org.opendaylight.odlparent.featuretest.SingleFeatureTest
initializationError(org.opendaylight.odlparent.featuretest.SingleFeatureTest) Time elapsed: 0.007 sec <<< ERROR!
org.ops4j.pax.exam.TestContainerException: java.lang.reflect.InvocationTargetException
at org.ops4j.pax.exam.spi.reactors.ReactorManager.prepareReactor(ReactorManager.java:187)
at org.ops4j.pax.exam.junit.impl.ProbeRunner.<init>(ProbeRunner.java:78)
at org.ops4j.pax.exam.junit.PaxExam.createDelegate(PaxExam.java:82)
at org.ops4j.pax.exam.junit.PaxExam.<init>(PaxExam.java:73)
at org.opendaylight.odlparent.featuretest.PerFeatureRunner.<init>(PerFeatureRunner.java:56)
at org.opendaylight.odlparent.featuretest.PerRepoTestRunner.runnersFromFeatures(PerRepoTestRunner.java:119)
at org.opendaylight.odlparent.featuretest.PerRepoTestRunner.runnersFromRepoUrl(PerRepoTestRunner.java:98)
at org.opendaylight.odlparent.featuretest.PerRepoTestRunner.runnersFromRepoUrl(PerRepoTestRunner.java:90)
at org.opendaylight.odlparent.featuretest.PerRepoTestRunner.<init>(PerRepoTestRunner.java:58)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:29)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:21)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.ops4j.pax.exam.spi.reactors.ReactorManager.addConfigurationsToReactor(ReactorManager.java:238)
at org.ops4j.pax.exam.spi.reactors.ReactorManager.prepareReactor(ReactorManager.java:184)
... 25 more
Caused by: java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at shaded.org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory$Slf4jLoggerEx.debug(Slf4jLoggerFactory.java:167)
at shaded.org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider.newLocalRepositoryManager(DefaultLocalRepositoryProvider.java:116)
at shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.newLocalRepositoryManager(DefaultRepositorySystem.java:421)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.createSession(AetherBasedResolver.java:884)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.newSession(AetherBasedResolver.java:865)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:640)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:598)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:576)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:550)
at org.ops4j.pax.url.mvn.internal.Connection.getInputStream(Connection.java:123)
at java.net.URL.openStream(URL.java:1045)
at org.opendaylight.odlparent.featuretest.SingleFeatureTest.standardKarafFeatures(SingleFeatureTest.java:180)
at org.opendaylight.odlparent.featuretest.SingleFeatureTest.config(SingleFeatureTest.java:135)
... 31 more

Odlparent should have made sure an appropriate backend for SLF4J is always present, no idea what mechanism makes that whiff.

This prevents merges to Cardinal and threatens inclusion of Cardinal in autorelease.

[0] https://logs.opendaylight.org/releng/jenkins092/cardinal-integration-carbon/218/console.log.gz



 Comments   
Comment by Vratko Polak [ 13/Dec/16 ]

I have narrowed down one cause: jdmk.

Just adding that as a dependency to an unrelated feature pom [1] causes the same SingleFeatureTest failure [2].

I think the issue is jdmk has an empty META-INF/MANIFEST.MF
but the source (org.glassfish.extras:bean-validator) far from so.
I believe proper manifest has to be created for jdmk. Maybe directly, or possibly just by adding pom dependencies.

Here is bean-validator manifest:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: Apache Maven Bundle Plugin
Built-By: edburns
Import-Package: javax.crypto,javax.crypto.spec,javax.mail,javax.mail.i
nternet,javax.management,javax.management.loading,javax.management.re
mote,javax.naming,javax.net,javax.net.ssl,javax.security.auth,javax.s
ecurity.auth.callback,javax.security.sasl,javax.swing,javax.swing.bor
der,javax.swing.event,javax.swing.table,javax.swing.text,javax.swing.
tree,javax.transaction.xa,javax.validation,javax.validation.bootstrap
,javax.validation.constraints,javax.validation.groups,javax.validatio
n.spi,javax.xml.parsers,org.w3c.dom,org.xml.sax,org.xml.sax.helpers
Bnd-LastModified: 1237834472277
Export-Package: javax.validation.spi;uses:="javax.validation",javax.va
lidation.constraints,javax.validation;uses:="javax.validation.spi,jav
ax.validation.bootstrap",javax.validation.groups,javax.validation.boo
tstrap;uses:="javax.validation.spi,javax.validation"
Bundle-Version: 4.0.0.Alpha3
Bundle-Name: Hibernate validator library and Validation API (JSR 303)
repackaged as OSGi and HK2 bundle
Bundle-Description: Module repackaging of the Hibernate validator libr
ary and Validation API (JSR 303)
Build-Jdk: 1.5.0_16
Private-Package: com.googlecode.jtype,com.sun.jdmk,com.sun.jdmk.comm,c
om.sun.jdmk.comm.internal,com.sun.jdmk.defaults,com.sun.jdmk.discover
y,com.sun.jdmk.interceptor,com.sun.jdmk.internal,com.sun.jdmk.remote.
cascading,com.sun.jdmk.remote.cascading.proxy,com.sun.jdmk.security.s
asl,com.sun.jdmk.security.sasl.plain,com.sun.jdmk.security.sasl.util,
com.sun.jdmk.tasks,com.sun.management.comm,com.sun.management.interna
l.snmp,com.sun.management.snmp,com.sun.management.snmp.IPAcl,com.sun.
management.snmp.agent,com.sun.management.snmp.manager,com.sun.managem
ent.snmp.manager.usm,com.sun.management.snmp.mpm,com.sun.management.s
nmp.uacl,com.sun.management.snmp.usm,com.sun.management.snmp.usm.usmm
ib,javax.jms,org.apache.log4j,org.apache.log4j.chainsaw,org.apache.lo
g4j.config,org.apache.log4j.helpers,org.apache.log4j.jdbc,org.apache.
log4j.jmx,org.apache.log4j.lf5,org.apache.log4j.lf5.config,org.apache
.log4j.lf5.util,org.apache.log4j.lf5.viewer,org.apache.log4j.lf5.view
er.categoryexplorer,org.apache.log4j.lf5.viewer.configure,org.apache.
log4j.lf5.viewer.images,org.apache.log4j.net,org.apache.log4j.nt,org.
apache.log4j.or,org.apache.log4j.or.jms,org.apache.log4j.or.sax,org.a
pache.log4j.spi,org.apache.log4j.varia,org.apache.log4j.xml,org.hiber
nate.validation,org.hibernate.validation.constraints,org.hibernate.va
lidation.engine,org.hibernate.validation.engine.groups,org.hibernate.
validation.util,org.hibernate.validation.util.annotationfactory,org.s
lf4j,org.slf4j.helpers,org.slf4j.impl,org.slf4j.spi
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.glassfish.extras.bean-validator
Tool: Bnd-0.0.255
Embed-Dependency: *;scope=compile;inline=true

[1] https://git.opendaylight.org/gerrit/49312
[2] https://jenkins.opendaylight.org/releng//job/integration-distribution-verify-carbon/org.opendaylight.integration$features-distribution/48/testReport/junit/org.opendaylight.odlparent.featuretest/SingleFeatureTest/initializationError/

Comment by Vratko Polak [ 15/Dec/16 ]

Background: The Cardinal code stayed the same for some time, but recently Odlparent changed which "empty" karaf container is used for SingleFeatureTest (now it uses opendaylight-karaf-empty).

The test was not failing with the previous container, but I believe the issue is genuine and it predicts Cardinal would not work in official Integration/Distribution builds.

So I consider this Bug to be a real blocker for participation of Cardinal in Carbon.

Comment by Rajani Srivastava [ 19/Dec/16 ]

Using the same parent dependency and with some more dependency of ovs(needed for the project) , we build the code again and it was a success with the following patch :

https://git.opendaylight.org/gerrit/#/c/49463/

We are not not sure what exactly was the issue.But it is not failing on org.slf4j now .

If it is a fix, can anyone check on this, so it can be a part of carbon auto-release.

Comment by Rajani Srivastava [ 28/Dec/16 ]

With patches :

https://git.opendaylight.org/gerrit/#/c/49463/

https://git.opendaylight.org/gerrit/49832

The build is successful.

Generated at Wed Feb 07 19:15:00 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.