Hi Martin

Unfortunately it looks like it doesn't recreate locally, and it looks like our constantly running test environment has only seen this error once so I don't have high hopes of getting a recreate. If I do manage to reproduce it I'll be sure to debug
ProbeDynamicMBean#classForName. It does look like the primitive map should have caught prevented this issue.

Anyway, just wanted to keep you in the loop.

Regards
Benjamin




From:        Martin Kouba <mkouba@redhat.com>
To:        Benjamin Confino <BENJAMIC@uk.ibm.com>, weld-dev@lists.jboss.org
Date:        20/11/2018 09:25
Subject:        Re: [weld-dev] PROBE-000014 - Caused by ClassNotFoundException: int




Hi Benjamin,

I've never seen this before. Could you try to debug the
org.jboss.weld.probe.ProbeDynamicMBean#classForName(String) method and
dump the parameter and the content of PRIMITIVES_MAP?

Martin

Dne 20. 11. 18 v 9:42 Benjamin Confino napsal(a):
> Hello
>
> I found a PROBE-000014 error in my fat test suite which was Caused by:
> java.lang.ClassNotFoundException: int cannot be found by
> com.ibm.ws.org.jboss.weld.2.4.8_1.0.23.201811031441. Looking at the
> stack, I think weld is the code deciding to do a class lookup on int,
> have you ever seen this before? Any idea what might be triggering weld
> do lookup int? I had a quick look at the application code and couldn't
> see anything weird involving ints.
>
> Here is the full stack:
>
> org.jboss.weld.exceptions.DeploymentException: PROBE-000014: Cannot
> register a Probe MBean interface org.jboss.weld.probe.JsonDataProvider
> for: cdi12helloworldtest
>          at
> org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:38)
>
>          at
> org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:28)
>
>          at
> org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:487)
>          at
> org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90)
>          at
> com.ibm.ws.cdi.impl.CDIContainerImpl.startInitialization(CDIContainerImpl.java:152)
>
>          at
> com.ibm.ws.cdi.liberty.CDIRuntimeImpl.applicationStarting(CDIRuntimeImpl.java:438)
>
>          at
> com.ibm.ws.container.service.state.internal.ApplicationStateManager.fireStarting(ApplicationStateManager.java:28)
>
>          at
> com.ibm.ws.container.service.state.internal.StateChangeServiceImpl.fireApplicationStarting(StateChangeServiceImpl.java:50)
>
>          at
> com.ibm.ws.app.manager.module.internal.DeployedAppInfoBase.preDeployApp(DeployedAppInfoBase.java:383)
>
>          at
> com.ibm.ws.app.manager.module.internal.DeployedAppInfoBase.deployApp(DeployedAppInfoBase.java:412)
>
>          at
> com.ibm.ws.app.manager.ear.internal.EARApplicationHandlerImpl.install(EARApplicationHandlerImpl.java:76)
>
>          at
> com.ibm.ws.app.manager.internal.statemachine.StartAction.execute(StartAction.java:140)
>
>          at
> com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.enterState(ApplicationStateMachineImpl.java:1258)
>
>          at
> com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.run(ApplicationStateMachineImpl.java:873)
>
>          at
> com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java:232)
>
>          at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>
>          at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>
>          at java.lang.Thread.run(Thread.java:748)
> Caused by: org.jboss.weld.exceptions.IllegalStateException:
> PROBE-000014: Cannot register a Probe MBean interface
> org.jboss.weld.probe.JsonDataProvider for: cdi12helloworldtest
>          at
> org.jboss.weld.probe.ProbeExtension.afterDeploymentValidation(ProbeExtension.java:176)
>
>          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.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)
>
>          at
> org.jboss.weld.injection.MethodInvocationStrategy$SpecialTheParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:144)
>
>          at
> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:299)
>
>          at
> org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:124)
>
>          at
> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:277)
>
>          at
> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:255)
>          at
> org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:269)
>
>          at
> org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:258)
>          at
> org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:154)
>          at
> org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:148)
>          at
> org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53)
>
>          at
> org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:35)
>
>          ... 17 more
> Caused by: javax.management.NotCompliantMBeanException: Bad getMBeanInfo()
>          at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getNewMBeanClassName(DefaultMBeanServerInterceptor.java:336)
>
>          at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:319)
>
>          at
> com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
>
>          at
> com.ibm.ws.kernel.boot.jmx.service.MBeanServerForwarderDelegate.registerMBean(MBeanServerForwarderDelegate.java:221)
>
>          at
> com.ibm.ws.jmx.internal.DelayedMBeanActivator.registerMBean(DelayedMBeanActivator.java:663)
>
>          at
> com.ibm.ws.kernel.boot.jmx.internal.PlatformMBeanServer.registerMBean(PlatformMBeanServer.java:435)
>
>          at
> org.jboss.weld.probe.ProbeExtension.afterDeploymentValidation(ProbeExtension.java:174)
>
>          ... 33 more
> Caused by: org.jboss.weld.resources.spi.ResourceLoadingException: Error
> loading class int
>          at
> org.jboss.weld.resources.AbstractClassLoaderResourceLoader.classForName(AbstractClassLoaderResourceLoader.java:42)
>
>          at
> org.jboss.weld.probe.ProbeDynamicMBean.classForName(ProbeDynamicMBean.java:139)
>
>          at
> org.jboss.weld.probe.ProbeDynamicMBean.toParamTypes(ProbeDynamicMBean.java:131)
>
>          at
> org.jboss.weld.probe.ProbeDynamicMBean.findMethod(ProbeDynamicMBean.java:122)
>
>          at
> org.jboss.weld.probe.ProbeDynamicMBean.getParameterName(ProbeDynamicMBean.java:94)
>
>          at
> javax.management.StandardMBean.getOperations(StandardMBean.java:1001)
>          at
> javax.management.StandardMBean.getMBeanInfo(StandardMBean.java:459)
>          at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getNewMBeanClassName(DefaultMBeanServerInterceptor.java:333)
>
>          ... 39 more
> Caused by: java.lang.ClassNotFoundException: int cannot be found by
> com.ibm.ws.org.jboss.weld.2.4.8_1.0.23.201811031441
>          at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484)
>
>          at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
>
>          at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
>
>          at
> org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
>
>          at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>          at
> org.jboss.weld.resources.AbstractClassLoaderResourceLoader.classForName(AbstractClassLoaderResourceLoader.java:40)
>
>          ... 46 more
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number
> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
>
> _______________________________________________
> weld-dev mailing list
> weld-dev@lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/weld-dev
>

--
Martin Kouba
Senior Software Engineer
Red Hat, Czech Republic




Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU