|Re: [tracecompass-dev] Fw: Question regarding CallStackView changes for trace Compass 4.1|
that seems odd, are you developing in a different plug-in?
Maybe check that your manifest.mf has all the required dependencies?
Please keep us posted.
From: tracecompass-dev-bounces@xxxxxxxxxxx <tracecompass-dev-bounces@xxxxxxxxxxx> on behalf of David Wootton <dwootton@xxxxxxxxxx>
Sent: Wednesday, October 3, 2018 10:38:09 AM
To: tracecompass developer discussions
Subject: [tracecompass-dev] Fw: Question regarding CallStackView changes for trace Compass 4.1
This may be some kind of a setup error on my part. I was running my code as a RCP launched as a runtime instance when I got these exceptions. I ran a Maven build of my RCP code and ran that stand-alone. This error does not occur, and neither
does some odd loop at RCP exit. I'm not sure why, since I am using an Eclipse for Committers 9/17/2018 build as my IDE, and I don't see any Trace Compass plugins installed in that IDE.
I've made a number of changes to my plugin code in order to update to Trace Compass 4.1 from Trace Compass 3.1. I've updated my code to use replacement classes in org.eclipse.tracecompass.analysis.profiling* and tried to model after the example Gerrit patch you sent me a link to. At this point I can load my trace and have it appear in my trace timeline view that I now extend from FlameChartView instead of CallStackView. The trace appears to display correctly and the work remaining for me seems to be mainly changes to my classes extending CallStackDataProvider and FlameGraphPresentationProvider.
One problem I ran into is that I am getting a few exceptions logged with long tracebacks ending with
Caused by: java.lang.NoClassDefFoundError: org/eclipse/tracecompass/internal/provisional/tmf/core/model/tree/ITmfTreeDataProvider
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
... 150 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.tracecompass.internal.provisional.tmf.core.model.tree.ITmfTreeDataProvider cannot be found by org.eclipse.tracecompass.lttng2.ust.core_188.8.131.52803071910
at java.lang.ClassLoader.loadClass(Unknown Source)
I think I am missing a dependency on some Trace Compass plugin, but not sure what. If I look at Trace Compass 4.1 source I find ITmfTreeDataProvider only defined in org.eclipse.tracecompass.tmf.core.model.tree so I'm not sure how I am getting the reference to a plugin in org.eclipse.tracecompass.internal.provisional.tmf.core.model.tree. I also don't directly reference the org.eclipse.tracecompass.lttng2.ust.core anywhere in my source, which I checked by using the Eclipse file search menu option.
I've obviously done something wrong, but not sure what.
Everything in my Eclipse workspace builds cleanly. I use a target definition file in my workspace and that's set to refer to download.eclipse.org/tracecompass/releases/4.1.0/repository
One thing I did differently from the example code link you sent me is that my analysis module classes extend org.eclipse.tracecompass.analysis.profiling.core.callstack.CallStackAnalysis instead of org.eclipse.tracecompass.internal.lttng2.ust.core.callstack.LttngUstCallStackAnalysis but that seemed like a reasonable thing to do.