[
https://issues.jboss.org/browse/WELD-1134?page=com.atlassian.jira.plugin....
]
George Gastaldi commented on WELD-1134:
---------------------------------------
Here is the test case:
{code:java}
public class NPEObject
{
private static <T> T[] finishToArray(T[] r, Iterator<?> it)
{
return null;
}
}
@RunWith(Arquillian.class)
public class NPETest
{
@Deployment
public static JavaArchive getDeployment()
{
JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "test.jar")
.addClass(NPEObject.class);
return archive;
}
@Test
public void test()
{
}
}
{code}
NPE on org.jboss.weld.util.reflection.HierarchyDiscovery
--------------------------------------------------------
Key: WELD-1134
URL:
https://issues.jboss.org/browse/WELD-1134
Project: Weld
Issue Type: Bug
Reporter: George Gastaldi
I upgraded Forge to Weld 1.1.8.Final, from 1.1.2.Final and now I am getting the following
error:
{code}
com.google.common.collect.ComputationException: java.lang.NullPointerException
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:397)
at
org.jboss.weld.resources.SharedObjectCache.getTypeClosure(SharedObjectCache.java:82)
at
org.jboss.weld.resources.SharedObjectFacade.getTypeClosure(SharedObjectFacade.java:65)
at
org.jboss.weld.introspector.TypeClosureLazyValueHolder.computeValue(TypeClosureLazyValueHolder.java:52)
at
org.jboss.weld.introspector.TypeClosureLazyValueHolder.computeValue(TypeClosureLazyValueHolder.java:31)
at org.jboss.weld.util.LazyValueHolder.get(LazyValueHolder.java:34)
at
org.jboss.weld.introspector.jlr.AbstractWeldAnnotated.getTypeClosure(AbstractWeldAnnotated.java:193)
at org.jboss.weld.introspector.jlr.WeldMethodImpl.of(WeldMethodImpl.java:74)
at
org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:261)
at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:115)
at
org.jboss.weld.resources.ClassTransformer$TransformAnnotatedTypeToWeldClass.apply(ClassTransformer.java:88)
at
org.jboss.weld.resources.ClassTransformer$TransformAnnotatedTypeToWeldClass.apply(ClassTransformer.java:78)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)
at
com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393)
at
org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:190)
at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:86)
at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:123)
at org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:184)
at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:350)
at
org.jboss.weld.bootstrap.api.helpers.ForwardingBootstrap.deployBeans(ForwardingBootstrap.java:70)
at org.jboss.weld.environment.se.Weld.initialize(Weld.java:133)
at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:132)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NullPointerException
at java.lang.reflect.Array.newArray(Native Method)
at java.lang.reflect.Array.newInstance(Array.java:70)
at
org.jboss.weld.util.reflection.HierarchyDiscovery.discoverTypes(HierarchyDiscovery.java:99)
at
org.jboss.weld.util.reflection.HierarchyDiscovery.init(HierarchyDiscovery.java:74)
at
org.jboss.weld.util.reflection.HierarchyDiscovery.getTypeClosure(HierarchyDiscovery.java:58)
at org.jboss.weld.resources.SharedObjectCache$4.apply(SharedObjectCache.java:58)
at org.jboss.weld.resources.SharedObjectCache$4.apply(SharedObjectCache.java:55)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)
at
com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393)
{code}
This line is the causing issue: Class<?> arrayClass =
Array.newInstance(Reflections.getRawType(genericComponentType), 0).getClass();
genericComponentType is sun.reflect.generics.reflectiveObjects.TypeVariableImpl.
Need a test case to simulate that
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira