Details
-
Type:
Enhancement
-
Status: Closed (View Workflow)
-
Priority:
Minor
-
Resolution: Done
-
Affects Version/s: drone_1.0.0.CR2
-
Fix Version/s: drone_1.0.0.CR3
-
Component/s: Extension - Drone
-
Labels:None
-
Git Pull Request:
Description
When a deployment fails, during cleanup Drone instances are garbage-collected.
There is a check for Drone instance to be null, however it might happen that there is even no context created.
If there is no context, Drone throws following NPE:
java.lang.NullPointerException
|
at org.jboss.arquillian.drone.impl.DroneDestructor.destroyClassScopedDrone(DroneDestructor.java:82)
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
|
at java.lang.reflect.Method.invoke(Method.java:597)
|
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
|
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
|
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
|
at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:68)
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
|
at java.lang.reflect.Method.invoke(Method.java:597)
|
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
|
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
|
at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:54)
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
|
at java.lang.reflect.Method.invoke(Method.java:597)
|
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
|
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
|
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:134)
|
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:114)
|
at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.afterClass(EventTestRunnerAdaptor.java:87)
|
at org.jboss.arquillian.junit.Arquillian$3$1.evaluate(Arquillian.java:180)
|
at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:290)
|
at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:45)
|
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:175)
|
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
|
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:123)
|
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
|
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
|
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
|
at java.lang.reflect.Method.invoke(Method.java:597)
|
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
|
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
|
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:172)
|
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:104)
|
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:70)
|
This NPE should either be wrapped (via Validate utils) or avoided.
Gliffy Diagrams
Activity
- All
- Comments
- Work Log
- History
- Activity
- Links Hierarchy
pushed upstream