Hi Mark

The WAR is placed in an EAR but all cdi archives are placed in the
WEB-INF/lib folder of the WAR.

I have not tried to make the methods public but is it not strange that this
error occure only 1 time per maybe 1 million requests on average?

Regards
Lars-Fredrik
On May 30, 2014 4:07 PM, "Mark Struberg" <[email protected]> wrote:

> There is no EAR involed? All is in a single ClassLoader?
> Then this is really weird. Did you try to make the respective methods
> public?
>
> LieGrue,
> strub
>
>
> --------------------------------------------
> On Fri, 30/5/14, Lars-Fredrik Smedberg <[email protected]> wrote:
>
>  Subject: Re: Javassist throws java.lang.IllegalAccessError
>  To: "[email protected]" <[email protected]>
>  Date: Friday, 30 May, 2014, 14:38
>
>  Hi
>  We see the following exception in
>  our logs (it might be similar or related to the old mail I
>  quoted below). In this case all the classes are packaged in
>  .jar-files all placed within a single war-file. Each
>  jar-file as well as the war-file have beans.xml files
>
>
>  The ExampleFactory  has a
>  constructor with no arguments and a default access level (no
>  modifiers). The same factory class also have several
>  non-static factory methods with default access level (no
>  modifier).
>
>
>  This error is seen for
>  aprox. 1-2 request a day out of a total of 750 000 requests.
>  All requests are running through the same
>  code-path.We are currently running WAS 8.5.5.1
>
>
>
>  Has anyone got any idea of what can be
>  wrong?
>  RegardsLars-Fredrik
>  Smedberg
>
>  Origin:
>  javax.enterprise.inject.CreationException
>
>
>  Message:
>  java.lang.IllegalAccessException: Class
>  org.apache.webbeans.intercept.InvocationContextImpl can not
>  access a member of class com.example.ExampleFactory with
>  modifiers ""
>
>
>  Stacktrace:
>  javax.enterprise.inject.CreationException:
>  java.lang.IllegalAccessException: Class
>  org.apache.webbeans.intercept.InvocationContextImpl can not
>  access a member of class com.example.ExampleFactory with
>  modifiers ""
>
>         at
>  
> org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:193)
> at
>
>  
> org.apache.webbeans.context.creational.BeanInstanceBag.create(BeanInstanceBag.java:80)
>
>         at
>  
> org.apache.webbeans.context.AbstractContext.getInstance(AbstractContext.java:226)
>      at
>  org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:191)
>
>         at
>  
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:135)
>    at
>
>  
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:95)
>
>         at
>  
> com.example.ExampleImpl_$$_javassist_20.getItems(ExampleImpl_$$_javassist_20.java)
>     at
>  com.example.ExampleResource.getItems(Unknown Source)
>
>         at
>  sun.reflect.GeneratedMethodAccessor137.invoke(Unknown
>  Source)        at
>
>  
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
>         at
>  java.lang.reflect.Method.invoke(Method.java:607)       at
>
>  
> org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63)
>
>         at
>  
> org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)
> at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>      at
>
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>
>         at
>  com.example.ExampleHandler1.handleRequest(Unknown
>  Source)        at
>  sun.reflect.GeneratedMethodAccessor135.invoke(Unknown
>  Source)
>
>         at
>  
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at
>  java.lang.reflect.Method.invoke(Method.java:607)
>
>         at
>  
> org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:297)
>   at
>
>  
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:98)
>
>         at
>  
> com.example.ExampleHandler1_$$_javassist_3.handleRequest(ExampleHandler1_$$_javassist_3.java)
>  at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>      at
>
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>
>         at
>  com.example.ExampleHandler2.handleRequest(Unknown
>  Source)        at
>  sun.reflect.GeneratedMethodAccessor133.invoke(Unknown
>  Source)
>
>         at
>  
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at
>  java.lang.reflect.Method.invoke(Method.java:607)
>
>         at
>  
> org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:297)
>   at
>
>  
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:98)
>
>         at
>  
> com.example.ExampleHandler2_$$_javassist_2.handleRequest(ExampleHandler2_$$_javassist_2.java)
>  at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>      at
>
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>
>         at
>  com.example.ExampleHandler3.handleRequest(Unknown
>  Source)        at
>  sun.reflect.GeneratedMethodAccessor131.invoke(Unknown
>  Source)
>
>         at
>  
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at
>  java.lang.reflect.Method.invoke(Method.java:607)
>
>         at
>  
> org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:297)
>   at
>
>  
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:98)
>
>         at
>  
> com.example.ExampleHandler3_$$_javassist_1.handleRequest(ExampleHandler3_$$_javassist_1.java)
>  at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>      at
>
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>
>         at
>  
> org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54)
>    at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>      at
>
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>
>         at
>  
> org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:34)
> at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>      at
>
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>
>         at
>  
> org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleResourceMethod(FindResourceMethodHandler.java:151)
>    at
>
>  
> org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:65)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>      at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>
>         at
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>   at
>
>  
> org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:95)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>      at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>
>         at
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>   at
>
>  
> org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>      at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>
>         at
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>   at
>
>  
> org.apache.wink.server.internal.handlers.OptionsMethodWADLHandler.handleRequest(OptionsMethodWADLHandler.java:51)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>      at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>
>         at
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>   at
>
>  
> org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>      at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>
>         at
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>   at
>
>  
> org.apache.wink.server.internal.log.ResourceInvocation.handleRequest(ResourceInvocation.java:92)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>      at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>
>         at
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>   at
>
>  org.apache.wink.server.internal.log.Requests.handleRequest(Requests.java:76)
>
>         at
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
>      at
>
>  
> org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
>
>         at
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
>   at
>
>  
> org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:60)
>
>         at
>  
> org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:207)
>   at
>
>  
> org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154)
>
>         at
>  
> org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:124)
>      at
>
>
>
>  On Thu, May 15, 2014 at
>  11:07 AM, Lars-Fredrik Smedberg <[email protected]>
>  wrote:
>
>
>  Hi!
>
>  I tried
>  to package some "infastructure code" (CDI managed
>  beans) in a jar and deployed it in an EAR as a utility JAR.
>  The following exception was thrown:
>  Caused by:
>  com.ibm.wsspi.injectionengine.InjectionException: Unable to
>  obtain an instance for @Inject
>  java.lang.reflect.Field.nameProperty:
>  java.lang.IllegalAccessError: Class <our injected
>  class>_$$_javassist_12 illegally accessing "package
>  private" member of class <our injected
>  class>
>
>
>         at
>  
> com.ibm.wsspi.injectionengine.InjectionBinding.getInjectionObject(InjectionBinding.java:1123)
>  at
>
>  
> com.ibm.wsspi.injectionengine.InjectionBinding.getInjectableObject(InjectionBinding.java:1032)
>
>
>         at
>  
> com.ibm.wsspi.injectionengine.InjectionTarget.inject(InjectionTarget.java:125)
> at
>
>  
> com.ibm.ws.injectionengine.AbstractInjectionEngine.inject(AbstractInjectionEngine.java:1084)
>
>
>         at
>  
> com.ibm.wsspi.injectionengine.InjectionUtil.createInjectedInstance(InjectionUtil.java:174)
>     at
>
>  
> com.ibm.ws.websvcs.server.WSServiceInstanceFactory.createServiceInstance(WSServiceInstanceFactory.java:111)
>
>
>         at
>  
> org.apache.axis2.jaxws.server.EndpointController.handleRequest(EndpointController.java:247)
>    ... 31 more
>  Caused by: java.lang.IllegalAccessError: Class<our
>  injected class>_$$_javassist_12 illegally accessing
>  "package private" member of class <our injected
>  class> at <our injected
>
>  
> class>_$$_javassist_12.<init>(CachingClasspathPropertyFileManager_$$_javassist_12.java)
>
>
>         at
>  java.lang.J9VMInternals.newInstanceImpl(Native
>  Method)        at
>  java.lang.Class.newInstance(Class.java:1600)
>         at
>  
> org.apache.webbeans.proxy.JavassistProxyFactory.createNormalScopedBeanProxy(JavassistProxyFactory.java:219)
>    at
>
>  
> org.apache.webbeans.container.BeanManagerImpl.getReference(BeanManagerImpl.java:870)
>
>
>         at
>  
> org.apache.webbeans.container.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:777)
> at
>
>  
> org.apache.webbeans.inject.AbstractInjectable.inject(AbstractInjectable.java:137)
>
>
>         at
>  
> org.apache.webbeans.inject.InjectableMethods.doInjection(InjectableMethods.java:136)
>   at
>
>  
> org.apache.webbeans.component.ProducerMethodBean.createDefaultInstance(ProducerMethodBean.java:204)
>
>
>         at
>  
> org.apache.webbeans.component.ProducerMethodBean.createInstance(ProducerMethodBean.java:166)
>   at
>
>  
> org.apache.webbeans.component.AbstractOwbBean.createNewInstance(AbstractOwbBean.java:216)
>
>
>         at
>  
> org.apache.webbeans.portable.creation.AbstractProducer.produce(AbstractProducer.java:82)
>       at
>
>  
> org.apache.webbeans.component.InjectionTargetWrapper.produce(InjectionTargetWrapper.java:142)
>
>
>         at
>  
> org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:174)
> at
>
>  
> org.apache.webbeans.context.DependentContext.getInstance(DependentContext.java:69)
>
>
>         at
>  org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:191)
>      at
>
>  
> org.apache.webbeans.container.BeanManagerImpl.getReference(BeanManagerImpl.java:892)
>
>
>         at
>  
> org.apache.webbeans.container.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:770)
> at
>
>  
> com.ibm.ws.webbeans.services.IBMBeanManagerImpl.getInjectableReference(IBMBeanManagerImpl.java:186)
>
>
>         at
>  
> com.ibm.ws.webbeans.services.InjectInjectionObjectFactory.getInjectableReference(InjectInjectionObjectFactory.java:315)
>        at
>
>  
> com.ibm.ws.webbeans.services.InjectInjectionObjectFactory.getObjectInstance(InjectInjectionObjectFactory.java:153)
>
>
>         at
>  
> com.ibm.ws.webbeans.services.InjectInjectionBinding.getInjectionObjectInstance(InjectInjectionBinding.java:100)
>        at
>
>  
> com.ibm.wsspi.injectionengine.InjectionBinding.getInjectionObject(InjectionBinding.java:1093)
>
>
>         ... 37
>  more
>  Where <our
>  injected class> is a class with constructor with default
>  access level.I tried to change the access level
>  of the constructor and only "public" made it
>  work.
>
>
>
>  When I instead packaged the
>  jar in the WEB-INF/lib folder of the WAR everything was
>  working without changing the access level of the
>  constructor.
>  I looked
>  for problems with Javassist and found the following JIRA
> https://issues.jboss.org/browse/WELD-737
>
>
>
>  Is this the problem we see
>  here?
>  RegardsLars-Fredrik
>  --
>  Med vänlig hälsning
>  / Best regards
>
>
>
>  Lars-Fredrik Smedberg
>
>  STATEMENT OF CONFIDENTIALITY:
>
>  The information contained in this electronic message and
>  any
>  attachments to this message are intended
>  for the exclusive use of the
>  address(es) and
>  may contain confidential or privileged information. If
>  you are not the intended recipient, please
>  notify Lars-Fredrik Smedberg
>
>
>
>  immediately at [email protected],
>  and destroy all copies of this
>  message and
>  any attachments.
>
>
>
>
>  --
>  Med vänlig hälsning / Best regards
>
>  Lars-Fredrik Smedberg
>
>  STATEMENT OF
>  CONFIDENTIALITY:
>  The information contained
>  in this electronic message and any
>
>
>  attachments to this message are intended for the exclusive
>  use of the
>  address(es) and may contain
>  confidential or privileged information. If
>  you are not the intended recipient, please
>  notify Lars-Fredrik Smedberg
>
>
>  immediately at [email protected],
>  and destroy all copies of this
>  message and
>  any attachments.
>
>

Reply via email to