Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TRAS3000E: Runtime injection of detailed method trace failed for class abc #30070

Open
JDUNNIN opened this issue Nov 5, 2024 · 0 comments
Open
Assignees
Labels
in:Kernel/Bootstrap Needs member attention release bug This bug is present in a released version of Open Liberty team:Shores Kernel-Bootstrap

Comments

@JDUNNIN
Copy link

JDUNNIN commented Nov 5, 2024

Describe the bug
A clear and concise description of what the bug is.

The named error occurs in our testing framework which makes uses of JaCoCo injection as well. Prior to this issue #16007 was raised and a fix was provided which when testing iFix we thought resolved the issue. Potentially it resolved 1 issue and this is somewhat different code path. We have a few different stack traces available depending on exactly which object hits the error. The server does still work as expected, just with no trace injection I think.

[11/5/24, 11:24:34:054 UTC] 00000023 bm.ws.ras.instrument.internal.main.LibertyRuntimeTransformer E TRAS3000E: Runtime injection of detailed method trace failed for class com/ibm/zosconnect/interceptors/internal/MonitoringManagerImpl with exception java.io.IOException: Trace instrumentation failure [ com/ibm/zosconnect/interceptors/internal/MonitoringManagerImpl ]: Type com/ibm/zosconnect/internal/security/HttpAuthorizationHeader not present
	at com.ibm.ws.ras.instrument.internal.main.LibertyRuntimeTransformer.transform(LibertyRuntimeTransformer.java:451)
	at com.ibm.ws.ras.instrument.internal.main.LibertyRuntimeTransformer.transform(LibertyRuntimeTransformer.java:362)
	at com.ibm.ws.ras.instrument.internal.main.LibertyRuntimeTransformer.transform(LibertyRuntimeTransformer.java:346)
	at com.ibm.ws.kernel.launch.internal.TraceClassFileTransformer.transform(TraceClassFileTransformer.java:53)
	at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:244)
	at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
	at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:541)
	at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
	at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:169)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:575)
	at com.ibm.ws.kernel.launch.internal.TraceInstrumentation.invoke(TraceInstrumentation.java:82)
	at jdk.proxy2.$Proxy3.retransformClasses(Unknown Source)
	at com.ibm.ws.ras.instrument.internal.main.LibertyRuntimeTransformer.retransformClass(LibertyRuntimeTransformer.java:285)
	at com.ibm.ws.ras.instrument.internal.main.LibertyRuntimeTransformer.traceStateChanged(LibertyRuntimeTransformer.java:267)
	at com.ibm.ws.logging.internal.osgi.Activator$RuntimeTransformerComponentListener.traceComponentUpdated(Activator.java:121)
	at com.ibm.websphere.ras.TrConfigurator.traceComponentUpdated(TrConfigurator.java:234)
	at com.ibm.websphere.ras.TraceComponent.setTraceSpec(TraceComponent.java:296)
	at com.ibm.websphere.ras.Tr.registerTraceComponent(Tr.java:896)
	at com.ibm.websphere.ras.Tr.register(Tr.java:206)
	at com.ibm.zosconnect.interceptors.internal.MonitoringManagerImpl.<clinit>(MonitoringManagerImpl.java:66)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
	at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:326)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920)
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:218)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:692)
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:215)
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:114)
	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:48)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:568)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:542)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:660)
	at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)
	at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:675)
	at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)
	at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2091)
	at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2074)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:443)
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleDynamicCustomizer.tryInvokeBind0(DependencyManager.java:966)
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleDynamicCustomizer.tryInvokeBind(DependencyManager.java:883)
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleDynamicCustomizer.addedService(DependencyManager.java:854)
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleDynamicCustomizer.addedService(DependencyManager.java:816)
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232)
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152)
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959)
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895)
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184)
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:945)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:882)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:144)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:270)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915)
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437)
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671)
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310)
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:613)
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:75)
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:480)
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196)
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169)
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49)
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:490)
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:1)
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:234)
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:452)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229)
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138)
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130)
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217)
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499)
	at org.eclipse.osgi.container.Module.start(Module.java:486)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1852)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$1.execute(ModuleContainer.java:1840)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1845)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1789)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1750)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1672)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)
Caused by: java.lang.TypeNotPresentException: Type com/ibm/zosconnect/internal/security/HttpAuthorizationHeader not present
	at org.objectweb.asm.ClassWriter.getCommonSuperClass(ClassWriter.java:1052)
	at org.objectweb.asm.SymbolTable.addMergedType(SymbolTable.java:1264)
	at org.objectweb.asm.Frame.merge(Frame.java:1311)
	at org.objectweb.asm.Frame.merge(Frame.java:1208)
	at org.objectweb.asm.MethodWriter.computeAllFrames(MethodWriter.java:1612)
	at org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1548)
	at org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:786)
	at org.objectweb.asm.ClassReader.readCode(ClassReader.java:2664)
	at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1512)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:745)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:425)
	at com.ibm.ws.ras.instrument.internal.main.LibertyRuntimeTransformer.visit(LibertyRuntimeTransformer.java:538)
	at com.ibm.ws.ras.instrument.internal.main.LibertyRuntimeTransformer.transform(LibertyRuntimeTransformer.java:444)
	... 103 more
Caused by: java.lang.ClassNotFoundException: com.ibm.zosconnect.internal.security.HttpAuthorizationHeader
	at java.base/java.lang.Class.forNameImpl(Native Method)
	at java.base/java.lang.Class.forName(Class.java:429)
	at org.objectweb.asm.ClassWriter.getCommonSuperClass(ClassWriter.java:1050)
	... 115 more

Steps to Reproduce
Steps to reproduce the bug

  1. Create a unit test which starts Liberty server with JaCoCo instrumentation attached (jacoco-dock.exec and jacoco-it.exec) and Liberty trace enabled for user/product extension classes.
  2. See in messages.log the errors.

Expected behavior
A clear and concise description of what you expected to happen.
No errors in messages.log

Diagnostic information:

  • OpenLiberty Version: 24.0.0.9
  • Affected feature(s) - user features
  • Java Version:
java.version = 17.0.12
java.runtime = IBM Semeru Runtime Open Edition (17.0.12+7)
  • server.xml configuration: Just enable the user feature that has classes in it
  • If it would be useful, upload the messages.log file found in $WLP_OUTPUT_DIR/messages.log
    Available via Slack / Email / case - pre-release code present...

Additional context
Add any other context about the problem here.
Happy to provide docs via case etc.

@JDUNNIN JDUNNIN added the release bug This bug is present in a released version of Open Liberty label Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in:Kernel/Bootstrap Needs member attention release bug This bug is present in a released version of Open Liberty team:Shores Kernel-Bootstrap
Projects
None yet
Development

No branches or pull requests

4 participants