Bug 1101968

Summary: [GSS] (6.2.4) Interceptor creation fails - WELD-1683
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Shaun Appleton <sappleto>
Component: CDI/WeldAssignee: baranowb <bbaranow>
Status: CLOSED CURRENTRELEASE QA Contact: Ron Šmeral <rsmeral>
Severity: unspecified Docs Contact: Russell Dickenson <rdickens>
Priority: unspecified    
Version: 6.2.0CC: amelicha, bbaranow, bmaxwell, cdewolf, jawilson, pmuir, smumford
Target Milestone: CR1   
Target Release: EAP 6.2.4   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
In previous versions of JBoss EAP 6, Weld incorrectly included inaccessible package-private interfaces from different packages in the set of bean types of beans which implement a package-private interface. This resulted in a deployment failure due to an `IllegalAccessError` whenever such bean used any CDI features, including interception or injection. In this release, Weld no longer includes inaccessible package-private interfaces in the set of bean types of a bean. Beans which directly or indirectly implement package-private interfaces even from different packages now support all CDI operations correctly.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-07 12:12:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1098182    
Bug Blocks: 1067534, 1099868, 1104488    

Description Shaun Appleton 2014-05-28 09:24:26 UTC
Description of problem:
Customer cannot deploy services on 6.2.0 or 6.2.2.
Whereas the same ear gets deployed without any problem in EAP 6.1.1

It throws the following exception and deployment fails


12:48:31,661 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit."sample-ear-1.0.1-SNAPSHOT.ear".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."sample-ear-1.0.1-SNAPSHOT.ear".WeldStartService: Failed to start service
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_04]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_04]
	at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_04]
Caused by: org.jboss.weld.exceptions.DeploymentException: Exception List with 1 exceptions:
Exception 0 :
org.jboss.weld.exceptions.WeldException: WELD-000830 Unable to load the cache value for the key Extension [class com.sample.extension.SampleExtension] with qualifiers [@Default]; sample-ear-1.0.1-SNAPSHOT.ear
	at org.jboss.weld.util.cache.LoadingCacheUtils.getCacheValue(LoadingCacheUtils.java:73)
	at org.jboss.weld.util.cache.LoadingCacheUtils.getCastCacheValue(LoadingCacheUtils.java:112)
	at org.jboss.weld.util.cache.LoadingCacheUtils.getCastCacheValue(LoadingCacheUtils.java:93)
	at org.jboss.weld.bean.proxy.ClientProxyProvider.getClientProxy(ClientProxyProvider.java:102)
	at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:607)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:232)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:213)
	at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:75)
	at org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:46)
	at org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:31)
	at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:382)
	at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:64)
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
Caused by: com.google.common.util.concurrent.UncheckedExecutionException: org.jboss.weld.exceptions.WeldException: by java.lang.IllegalAccessError: class com.sample.extension.SampleExtension$Proxy$_$$_WeldClientProxy cannot access its superinterface com.sample.SuperInterface



This is fixed by https://issues.jboss.org/browse/WELD-1683 
[ a one-off for EAP 6.2.0.CP02 was created via https://bugzilla.redhat.com/show_bug.cgi?id=1099868 ]

Comment 2 baranowb 2014-06-02 14:03:19 UTC
PR: https://github.com/weld/core/pull/591
JIRA: https://issues.jboss.org/browse/WELD-1687

Ive ran sample project from salesforce ticket. With PR in, it does not explode on deployment.

Comment 4 Ron Šmeral 2014-06-17 11:46:20 UTC
Verified on EAP 6.2.4.CP.CR1.

Comment 6 Ron Šmeral 2014-06-18 08:19:26 UTC
Made the doc text a little more doc-y.

Comment 7 Ron Šmeral 2014-06-23 10:05:02 UTC
Fixed clumsy formulation in doc text from

"...in the set of their bean types for beans which implement..."

to 

"...in the set of bean types of beans which implement..."

Comment 9 Scott Mumford 2014-06-23 22:18:05 UTC
Marking for inclusion in 6.2.4 Release Notes.