Skip to content

IMPOSSIBLE TraceLine.getMethodLine() not found, and ClassCastException #10

Open
@Erhannis

Description

I encountered a set of error messages. First, I received many of the following (slightly anonymized), for a variety of places in the code:

com.lambda.Debugger.DebuggerException: IMPOSSIBLE TraceLine.getMethodLine() not found: 5                             <Logger_344>.callTurboFilters(null, <Level_7>) -> <FilterReply_0>[0]                             callTurboFilters -> <FilterReply_0>[391865]
        at com.lambda.Debugger.TraceLine.getMethodLine(TraceLine.java:1095)
        at com.lambda.Debugger.TimeStamp.disposable(TimeStamp.java:1545)
        at com.lambda.Debugger.TimeStamp.collect0(TimeStamp.java:1463)
        at com.lambda.Debugger.TimeStamp.collect(TimeStamp.java:1437)
        at com.lambda.Debugger.TimeStamp.addStamp(TimeStamp.java:583)
        at com.lambda.Debugger.TimeStamp.addStamp(TimeStamp.java:557)
        at com.lambda.Debugger.TraceLine.addTrace(TraceLine.java:902)
        at com.lambda.Debugger.D.invoke(D.java:876)
        at org.apache.camel.util.IntrospectionSupport.doIntrospectClass(IntrospectionSupport.java:319)
        at org.apache.camel.util.IntrospectionSupport.cacheClass(IntrospectionSupport.java:276)
        at org.apache.camel.util.IntrospectionSupport.getProperties(IntrospectionSupport.java:241)
        at org.apache.camel.util.IntrospectionSupport.getProperties(IntrospectionSupport.java:219)
        at org.apache.camel.model.ProcessorDefinitionHelper.resolvePropertyPlaceholders(ProcessorDefinitionHelper.java:685)
        at org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:520)
        at org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:506)
        at org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:222)
        at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1068)
        at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:196)
        at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:984)
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3401)
        at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3132)
        at org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:183)
        at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2961)
        at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2957)
        at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2980)
        at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2957)
        at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
        at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2924)
        ... anonymous ...
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.glassfish.hk2.utilities.reflection.ReflectionHelper.makeMe(ReflectionHelper.java:1129)
        at org.jvnet.hk2.internal.ClazzCreator.createMe(ClazzCreator.java:274)
        at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:368)
        at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:471)
        at org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:82)
        at org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:70)
        at org.glassfish.hk2.utilities.cache.Cache$OriginThreadAwareFuture$1.call(Cache.java:97)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.glassfish.hk2.utilities.cache.Cache$OriginThreadAwareFuture.run(Cache.java:154)
        at org.glassfish.hk2.utilities.cache.Cache.compute(Cache.java:199)
        at org.jvnet.hk2.internal.SingletonContext.findOrCreate(SingletonContext.java:121)
        at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2064)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:105)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87)
        at org.jvnet.hk2.internal.FactoryCreator.create(FactoryCreator.java:117)
        at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:471)
        at org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:82)
        at org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:70)
        at org.glassfish.hk2.utilities.cache.Cache$OriginThreadAwareFuture$1.call(Cache.java:97)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.glassfish.hk2.utilities.cache.Cache$OriginThreadAwareFuture.run(Cache.java:154)
        at org.glassfish.hk2.utilities.cache.Cache.compute(Cache.java:199)
        at org.jvnet.hk2.internal.SingletonContext.findOrCreate(SingletonContext.java:121)
        at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2064)
        at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:711)
        at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:653)
        ... anonymous ...
        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 com.lambda.Debugger.Debugger.runTarget(Debugger.java:1141)
        at com.lambda.Debugger.Debugger$1.run(Debugger.java:1199)
        at java.lang.Thread.run(Thread.java:748)

After many of those, they appeared to stop happening, and instead I got many of the following (in at least a few places):

ODB: collect() failed
java.lang.ClassCastException: com.lambda.Debugger.ReturnLine cannot be cast to com.lambda.Debugger.TraceLine
        at com.lambda.Debugger.TimeStamp.disposable(TimeStamp.java:1547)
        at com.lambda.Debugger.TimeStamp.collect0(TimeStamp.java:1463)
        at com.lambda.Debugger.TimeStamp.collect(TimeStamp.java:1437)
        at com.lambda.Debugger.TimeStamp.addStamp(TimeStamp.java:583)
        at com.lambda.Debugger.TimeStamp.addStamp(TimeStamp.java:557)
        at com.lambda.Debugger.TraceLine.addTrace(TraceLine.java:902)
        at com.lambda.Debugger.D.invoke(D.java:876)
        at org.apache.activemq.transport.tcp.TcpTransport$2.read(TcpTransport.java:619)
        at java.io.DataInputStream.readShort(DataInputStream.java:313)
        at org.apache.activemq.openwire.v12.BaseDataStreamMarshaller.tightUnmarsalCachedObject(BaseDataStreamMarshaller.java:147)
        at org.apache.activemq.openwire.v12.MessageMarshaller.tightUnmarshal(MessageMarshaller.java:62)
        at org.apache.activemq.openwire.v12.ActiveMQMessageMarshaller.tightUnmarshal(ActiveMQMessageMarshaller.java:66)
        at org.apache.activemq.openwire.v12.ActiveMQTextMessageMarshaller.tightUnmarshal(ActiveMQTextMessageMarshaller.java:66)
        at org.apache.activemq.openwire.OpenWireFormat.tightUnmarshalNestedObject(OpenWireFormat.java:456)
        at org.apache.activemq.openwire.v12.BaseDataStreamMarshaller.tightUnmarsalNestedObject(BaseDataStreamMarshaller.java:125)
        at org.apache.activemq.openwire.v12.MessageDispatchMarshaller.tightUnmarshal(MessageDispatchMarshaller.java:71)
        at org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:365)
        at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:278)
        at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:240)
        at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:232)
        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)
        at java.lang.Thread.run(Thread.java:748)

At some point, I also started getting ODB: GC could not collect enough to continue. Recording turned off.. However, I don't know if that's related.

I tried for quite a while to figure it out, but I don't know ODB's internals well enough to make good headway. (Is there a source of such information?) However, I did notice something that seems suspicious: in TraceLine.getMethodLine(), the VectorD returned from unfilteredTraceSets contained TraceLines whose times were out of order. I don't KNOW if that's unexpected, but it seems odd. I've attached a screenshot. Note the times of 3, 0, and 403584, in that order.

timestamps_out_of_order

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions