Agent throwing NIOSocketBoundaryDetectionHelperTracer error under application logs
search cancel

Agent throwing NIOSocketBoundaryDetectionHelperTracer error under application logs

book

Article ID: 137046

calendar_today

Updated On:

Products

CA Application Performance Management Agent (APM / Wily / Introscope) CA Application Performance Management (APM / Wily / Introscope) INTROSCOPE

Issue/Introduction

When enabling Agent collection, some application may start to throw below exception under application logs:


java.lang.ClassNotFoundException: com/wily/introscope/agent/intelligent/detection/tracers/NIOSocketBoundaryDetectionHelperTracer

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:171)

at com.wily.introscope.agent.extension.DynamicClassLookup.loadDynamicClassEntry(DynamicClassLookup.java:230)

at com.wily.introscope.agent.trace.TracerFactoryLoader.createTracerFactory(TracerFactoryLoader.java:66)

at com.wily.introscope.agent.trace.TracerAdministrator.createTracerFactories(TracerAdministrator.java:699)

at com.wily.introscope.agent.trace.TracerAdministrator.createProbeInformation(TracerAdministrator.java:662)

at com.wily.introscope.agent.trace.TracerAdministrator.access$0(TracerAdministrator.java:649)

at com.wily.introscope.agent.trace.TracerAdministrator$ProbeInformationCreator.IProbeInformationCreator_createProbeInformation(

TracerAdministrator.java:806)

at com.wily.introscope.agent.trace.ProbeLookup.getProbeInformation(ProbeLookup.java:102)

at com.wily.introscope.agent.trace.TracerAdministrator.getProbeInformation(TracerAdministrator.java:639)

at com.wily.introscope.agent.trace.TracerAdministrator.loadParameterizedTracer(TracerAdministrator.java:456)

at com.wily.introscope.agent.enterprise.EnterpriseAgent.IAgent_loadParameterizedTracer(EnterpriseAgent.java:999)

at com.wily.introscope.agent.AgentShim.ProbeBuilderEntryPoint_loadParameterizedTracer(AgentShim.java:1270)

at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java)

at com.bea.core.netio.provider.noblock.NonBlockingConnectionProvider.read(NonBlockingConnectionProvider.java:393)

at com.bea.core.netio.internal.AbstractConnectionImpl.read(AbstractConnectionImpl.java:117)

at com.bea.core.netio.internal.SocketAcceptor.readyToRead(SocketAcceptor.java:63)

at com.bea.core.netio.internal.ListenerHolder.run(ListenerHolder.java:71)

at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:204)

at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)


java.lang.ClassNotFoundException: com/wily/introscope/agent/intelligent/detection/tracers/NIOSocketBoundaryDetectionHelperTracer

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:171)

at com.wily.introscope.agent.extension.DynamicClassLookup.loadDynamicClassEntry(DynamicClassLookup.java:230)

at com.wily.introscope.agent.trace.TracerFactoryLoader.createTracerFactory(TracerFactoryLoader.java:66)

at com.wily.introscope.agent.trace.TracerAdministrator.createTracerFactories(TracerAdministrator.java:699)

at com.wily.introscope.agent.trace.TracerAdministrator.createProbeInformation(TracerAdministrator.java:662)

at com.wily.introscope.agent.trace.TracerAdministrator.access$0(TracerAdministrator.java:649)

at com.wily.introscope.agent.trace.TracerAdministrator$ProbeInformationCreator.IProbeInformationCreator_createProbeInformation(

TracerAdministrator.java:806)

at com.wily.introscope.agent.trace.ProbeLookup.getProbeInformation(ProbeLookup.java:102)

at com.wily.introscope.agent.trace.TracerAdministrator.getProbeInformation(TracerAdministrator.java:639)

at com.wily.introscope.agent.trace.TracerAdministrator.loadParameterizedTracer(TracerAdministrator.java:456)

at com.wily.introscope.agent.enterprise.EnterpriseAgent.IAgent_loadParameterizedTracer(EnterpriseAgent.java:999)

at com.wily.introscope.agent.AgentShim.ProbeBuilderEntryPoint_loadParameterizedTracer(AgentShim.java:1270)

at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java)

at com.tangosol.coherence.component.net.TcpRing.heartbeat(TcpRing.CDB:23)

at com.tangosol.coherence.component.net.TcpRing.heartbeatBuddies(TcpRing.CDB:9)

at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onTimerRunning(ClusterService.CDB:61)

at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onNotify(ClusterService.CDB:19)

at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)

at java.lang.Thread.run(Thread.java:662)



Environment

Any CA Application Performance Management Java Agent release.

Cause

First reason is the PDBs that is being injected, when you try to monitor an in house application or any other that is not homologated by Broadcom, we usually use a "StandAloneAgent" which instrument a "default-typical.pbl".

This "default-typical.pbl" has several java classes that will be injected into desired application for monitoring propose, sometimes certain traces that is inside "default-typical.pbl" do not have into desired monitored application, it cause above error message, we need to disable certain traces to stop these message.

In this case we have to disable the SOCKET tracing, that is causing the problem.

Resolution

1) Confirm what PBL and PBD is being utilized for the Agent by accessing the section "# Directives Files" under our "IntroscopeAgent.profile".

2) In our example was the "default-typical.pbl", If you open this PBL file under Agent_home >> Core >> Config path you will see:


#######################

# Directives Files

#

# One directives file name per line.  Relative names

# are resolved against the location of this file.

# ================


toggles-full.pbd

required.pbd

apm-common.pbd

java${JVMCOMPATIBILITY}socket.pbd

java2.pbd

j2ee.pbd

jvm.pbd

oraclejdbc.pbd

taglibs.pbd

struts.pbd

sqlagent.pbd

errors.pbd

jsf-toggles-full.pbd

jsf.pbd

biz-trx-http.pbd

appmap.pbd

appmap-ejb.pbd

#bizrecording.pbd

di.pbd

intelligent.pbd

endUserEndpoints.pbd

httpcorrelation.pbd

httpbackendmetrics.pbd

appmap-http.pbd

jms.pbd


3) Open the PSB file named "toggles-typical.pbd", also inside Agent_home >> Core >> Config path.

4) Now to disable Socket tracing, comment below rows under this file:


TurnOn: ManagedSocketTracing 

TurnOn: SocketTracing 

TurnOn: NIOSocketTracing 

TurnOn:NIOSocketSummaryTracing 

TurnOn: NIOSelectorTracing 

TurnOn: NIODatagramTracing 

TurnOn: NIODatagramSummaryTracing 


5) Save this file.

6) Restart monitored application.

Additional Information

If you have any doubt about Agent path structure, raise a support ticket before managing PDBs and PBLs files.