Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 166370

Summary: JVMTI agent for agent controller not found
Product: z_Archived Reporter: Neil Dunn <neildunn>
Component: TPTPAssignee: Igor Alelekov <igor.alelekov>
Status: CLOSED FIXED QA Contact:
Severity: critical    
Priority: P1 CC: amc4, asaf.yaffe, caniszczyk, eclipse.org, guru.nagarajan, neildunn
Version: unspecifiedKeywords: plan
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard: closed460
Bug Depends on:    
Bug Blocks: 178916    
Attachments:
Description Flags
logs for TPTP-4.4.0-200701170100
none
Stack trace generated by Eclipse
none
javaprofiler plugin config
none
Stack trace generated by Eclipse when running "Test Availability"
none
Service config file - Linux
none
Service Log that captures the AC output when this occurs
none
ServiceLog for the scenario where the launch succeeds
none
patch none

Description Neil Dunn CLA 2006-11-30 12:30:59 EST
I've installed and setup the New Agent Controller, JVMTI Client, the JVMTI plugin for the agent controller and TPTP. When attempting to use the new profiler "with instrumentation" that uses the JVMTI I get the following error:

The JVMTI agent org.eclipse.tptp.jvmti is not available. Make sure that the agent's libraries are available and that it is configuered properly.

Any help trying to track this down wou;d be great.

Neil
Comment 1 Guru Nagarajan CLA 2006-12-01 04:28:35 EST
Please install the JVMTI runtime with the New Agent Controller and retry.
Comment 2 Neil Dunn CLA 2006-12-01 06:41:19 EST
Could you please elabortate.

I have:

 - Installed the New Agent Controller (agntctrl.linux_ia32-TPTP-4.2.1.zip)
 - Installed the "New Java Profiler" (javaprofiler.linux_ia32-TPTP-4.2.0.zip) as a plugin to the agent controller by dropping org.eclipse.tptp.javaprofiler into the plugins directory
 - Installed the "JVMTI Client" (jvmti-client-TPTP-4.2.0.zip) plugin for Eclipse
 - Installed the latest TPTP runtime for eclipse (tptp.runtime-TPTP-4.2.1.zip)

Have I missed a step? What else do I need to install with the NAC?

Neil
Comment 3 Guru Nagarajan CLA 2006-12-06 10:22:44 EST
You have the right steps. Can you retry with the TPTP 4.3 release. I tested the 4.3 and it looks good.
I will look at the 4.2.1 download and investigate the issue
Comment 4 Missing name Mising name CLA 2006-12-27 18:11:05 EST
I have a similar problem with TPTP 4.3

I've installed both, the JVMTI eclipse client and the JVMTI agent plugin for the agent controller; using Sun Java 1.6 on Windows.

I can run a java application via "run" and add -agentlib:JPIBootLoader=JPIAgent:server=enabled;CGProf as JVM argument and the application works properly, albeit slowly (which i take as a sign that the profiler is working).

When i start the same application via "profile as", the same parameters (except the -agentlibs stuff), choose "Java profiling with instrumentation" and then click on "test availability" i get the following error popup:

###
The JVMTI agent org.eclipse.tptp.jvmti is not available. Please make sure the agent's libraries are available and configured properly.

Reason:
###

(no reason specified and nothing in the textarea when i expand the details).

When i actually attempt to profile the application i get the following text in the progress view:

###
Launching
NLS missing message: TASK_CONNECTING_TO_AGENT in: org.eclipse.tptp.platform.jvmti.client.internal.messages
###

The javaw process doesn't even start when i attempt to launch it via "profile as". So i suspect it is a bug in the eclipse side jvmti client.




Before anybody asks: Yes, the agent controller is running (i get different error messages when it isn't) and yes, i've double-checked that the eclipse JVMTI client is installed. I think the "Java profiling with instrumentation" option wouldn't be available w/o the jvmti client.
Comment 5 Chris Aniszczyk CLA 2006-12-27 18:19:20 EST
bumping the severity on this one as it's quite a problem
Comment 6 Missing name Mising name CLA 2007-01-05 23:37:30 EST
After replacing pretty much every plugin of my eclipse setup - except the workspace - with current milestones  things got even worse with the JVMTI plugin. Whenever i go to the profile -> profile as dialog a rather undefined error message popups and refers me to the error log, so here's what i've got, just from this single error (cleared my logs before i reproduced it).


I'm using Eclipse, JDT 3.3M4, CDT 4.00 Nightly, TPTP 4.3 Platform Runtime, TPTP 4.3 Trace Runtime, TPTP JVMTI 4.3 (although internally it still seems to be 4.2). In addition to that the emf, equinox and birt dependencies for tptp.


Well, here is the log:

!SESSION 2007-01-06 05:11:57.074 -----------------------------------------------
eclipse.buildId=I20061214-1445
java.version=1.6.0
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.osgi 4 0 2007-01-06 05:13:00.413
!MESSAGE An error occurred while automatically activating bundle org.eclipse.hyades.probekit (1664).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.hyades.probekit.ProbekitPlugin.start() of bundle org.eclipse.hyades.probekit.
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:1018)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:974)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:327)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:260)
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
	at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:415)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:189)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:350)
	at org.eclipse.osgi.framework.internal.core.SingleSourcePackage.loadClass(SingleSourcePackage.java:37)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:415)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:379)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:367)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	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.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:170)
	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:787)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.initializeProfilingTypes(ProfilingSetsManager.java:214)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.initialize(ProfilingSetsManager.java:117)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.getProfilingTypesGroups(ProfilingSetsManager.java:93)
	at org.eclipse.hyades.trace.ui.launcher.ProfilingSetsManagerCopy.initializeProfilingTypesGroups(ProfilingSetsManagerCopy.java:135)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.initialize(ProfilingSetsManager.java:116)
	at org.eclipse.hyades.trace.ui.launcher.ProfilingSetsManagerCopy.<init>(ProfilingSetsManagerCopy.java:51)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.getProfilingSetWC(TraceProfileUI.java:964)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.createDataCollectorTree(TraceProfileUI.java:277)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.createFlatControl(TraceProfileUI.java:246)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.createControl(TraceProfileUI.java:207)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfileTab.createControl(ProfileTab.java:73)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.showInstanceTabsFor(LaunchConfigurationTabGroupViewer.java:810)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.displayInstanceTabs(LaunchConfigurationTabGroupViewer.java:743)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer$7.run(LaunchConfigurationTabGroupViewer.java:633)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.inputChanged(LaunchConfigurationTabGroupViewer.java:651)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput(LaunchConfigurationTabGroupViewer.java:612)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.handleLaunchConfigurationSelectionChanged(LaunchConfigurationsDialog.java:934)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog$4.selectionChanged(LaunchConfigurationsDialog.java:559)
	at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:841)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.runtime.Platform.run(Platform.java:850)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:45)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:153)
	at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:839)
	at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1606)
	at org.eclipse.jface.viewers.Viewer.setSelection(Viewer.java:388)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.doInitialTreeSelection(LaunchConfigurationsDialog.java:599)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.initializeContent(LaunchConfigurationsDialog.java:1040)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.createContents(LaunchConfigurationsDialog.java:438)
	at org.eclipse.jface.window.Window.create(Window.java:426)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1111)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.create(LaunchConfigurationsDialog.java:367)
	at org.eclipse.jface.window.Window.open(Window.java:785)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1092)
	at org.eclipse.debug.ui.DebugUITools$1.run(DebugUITools.java:385)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:389)
	at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:331)
	at org.eclipse.debug.ui.actions.OpenLaunchDialogAction.run(OpenLaunchDialogAction.java:80)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3465)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3079)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1945)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1909)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:425)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethod(EclipseAppContainer.java:522)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:147)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:170)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:339)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:283)
	at org.eclipse.core.launcher.Main.run(Main.java:984)
	at org.eclipse.core.launcher.Main.main(Main.java:959)
Caused by: java.lang.ExceptionInInitializerError
	at org.eclipse.hyades.probekit.ProbekitPlugin.start(ProbekitPlugin.java:66)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:999)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:993)
	... 95 more
Caused by: java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl cannot be cast to javax.xml.parsers.DocumentBuilderFactory
	at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
	at org.eclipse.tptp.platform.probekit.registry.ProbeRegistry.<clinit>(ProbeRegistry.java:135)
	... 99 more
Root exception:
java.lang.ExceptionInInitializerError
	at org.eclipse.hyades.probekit.ProbekitPlugin.start(ProbekitPlugin.java:66)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:999)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:993)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:974)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:327)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:260)
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
	at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:415)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:189)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:350)
	at org.eclipse.osgi.framework.internal.core.SingleSourcePackage.loadClass(SingleSourcePackage.java:37)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:415)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:379)
	at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:367)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	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.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:170)
	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:787)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.initializeProfilingTypes(ProfilingSetsManager.java:214)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.initialize(ProfilingSetsManager.java:117)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.getProfilingTypesGroups(ProfilingSetsManager.java:93)
	at org.eclipse.hyades.trace.ui.launcher.ProfilingSetsManagerCopy.initializeProfilingTypesGroups(ProfilingSetsManagerCopy.java:135)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.initialize(ProfilingSetsManager.java:116)
	at org.eclipse.hyades.trace.ui.launcher.ProfilingSetsManagerCopy.<init>(ProfilingSetsManagerCopy.java:51)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.getProfilingSetWC(TraceProfileUI.java:964)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.createDataCollectorTree(TraceProfileUI.java:277)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.createFlatControl(TraceProfileUI.java:246)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.createControl(TraceProfileUI.java:207)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfileTab.createControl(ProfileTab.java:73)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.showInstanceTabsFor(LaunchConfigurationTabGroupViewer.java:810)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.displayInstanceTabs(LaunchConfigurationTabGroupViewer.java:743)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer$7.run(LaunchConfigurationTabGroupViewer.java:633)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.inputChanged(LaunchConfigurationTabGroupViewer.java:651)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput(LaunchConfigurationTabGroupViewer.java:612)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.handleLaunchConfigurationSelectionChanged(LaunchConfigurationsDialog.java:934)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog$4.selectionChanged(LaunchConfigurationsDialog.java:559)
	at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:841)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.runtime.Platform.run(Platform.java:850)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:45)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:153)
	at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:839)
	at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1606)
	at org.eclipse.jface.viewers.Viewer.setSelection(Viewer.java:388)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.doInitialTreeSelection(LaunchConfigurationsDialog.java:599)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.initializeContent(LaunchConfigurationsDialog.java:1040)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.createContents(LaunchConfigurationsDialog.java:438)
	at org.eclipse.jface.window.Window.create(Window.java:426)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1111)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.create(LaunchConfigurationsDialog.java:367)
	at org.eclipse.jface.window.Window.open(Window.java:785)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1092)
	at org.eclipse.debug.ui.DebugUITools$1.run(DebugUITools.java:385)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:389)
	at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:331)
	at org.eclipse.debug.ui.actions.OpenLaunchDialogAction.run(OpenLaunchDialogAction.java:80)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3465)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3079)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1945)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1909)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:425)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethod(EclipseAppContainer.java:522)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:147)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:170)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:339)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:283)
	at org.eclipse.core.launcher.Main.run(Main.java:984)
	at org.eclipse.core.launcher.Main.main(Main.java:959)
Caused by: java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl cannot be cast to javax.xml.parsers.DocumentBuilderFactory
	at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
	at org.eclipse.tptp.platform.probekit.registry.ProbeRegistry.<clinit>(ProbeRegistry.java:135)
	... 99 more

!ENTRY org.eclipse.jface 4 2 2007-01-06 05:13:00.522
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.readSets(ProfilingSetsManager.java:354)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.readSetsFromPreferences(ProfilingSetsManager.java:341)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.initializeProfilingSets(ProfilingSetsManager.java:242)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.initialize(ProfilingSetsManager.java:118)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.getProfilingTypesGroups(ProfilingSetsManager.java:93)
	at org.eclipse.hyades.trace.ui.launcher.ProfilingSetsManagerCopy.initializeProfilingTypesGroups(ProfilingSetsManagerCopy.java:135)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfilingSetsManager.initialize(ProfilingSetsManager.java:116)
	at org.eclipse.hyades.trace.ui.launcher.ProfilingSetsManagerCopy.<init>(ProfilingSetsManagerCopy.java:51)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.getProfilingSetWC(TraceProfileUI.java:964)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.createDataCollectorTree(TraceProfileUI.java:277)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.createFlatControl(TraceProfileUI.java:246)
	at org.eclipse.hyades.trace.ui.internal.core.TraceProfileUI.createControl(TraceProfileUI.java:207)
	at org.eclipse.hyades.trace.ui.internal.launcher.ProfileTab.createControl(ProfileTab.java:73)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.showInstanceTabsFor(LaunchConfigurationTabGroupViewer.java:810)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.displayInstanceTabs(LaunchConfigurationTabGroupViewer.java:743)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer$7.run(LaunchConfigurationTabGroupViewer.java:633)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.inputChanged(LaunchConfigurationTabGroupViewer.java:651)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput(LaunchConfigurationTabGroupViewer.java:612)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.handleLaunchConfigurationSelectionChanged(LaunchConfigurationsDialog.java:934)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog$4.selectionChanged(LaunchConfigurationsDialog.java:559)
	at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:841)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.runtime.Platform.run(Platform.java:850)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:45)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:153)
	at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:839)
	at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1606)
	at org.eclipse.jface.viewers.Viewer.setSelection(Viewer.java:388)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.doInitialTreeSelection(LaunchConfigurationsDialog.java:599)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.initializeContent(LaunchConfigurationsDialog.java:1040)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.createContents(LaunchConfigurationsDialog.java:438)
	at org.eclipse.jface.window.Window.create(Window.java:426)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1111)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.create(LaunchConfigurationsDialog.java:367)
	at org.eclipse.jface.window.Window.open(Window.java:785)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1092)
	at org.eclipse.debug.ui.DebugUITools$1.run(DebugUITools.java:385)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:389)
	at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:331)
	at org.eclipse.debug.ui.actions.OpenLaunchDialogAction.run(OpenLaunchDialogAction.java:80)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3465)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3079)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1945)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1909)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:425)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethod(EclipseAppContainer.java:522)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:147)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:170)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:339)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:283)
	at org.eclipse.core.launcher.Main.run(Main.java:984)
	at org.eclipse.core.launcher.Main.main(Main.java:959)
Comment 7 Missing name Mising name CLA 2007-01-06 14:43:56 EST
Ok, now i've updated to the latest TPTP 4.4 nightly build, including the JVMTI client, new agent controller etc. etc.

That fixes the problems from comment #5 and i'm back to exactly the same problems stated in comment #4.

So i suggest to change the version tag to 4.4 and the OS to All since the original poster has/had the same problem on Linux and i'm on windows.



Just to make sure that i haven't missed anything:
1. I extract the new AC to a seperate directory than the TPTP plugins, i.e. it's not an eclipse plugin but runs stand-alone.
2. i extract the JVMTI java profiler plugin for the newAC into the AC's directory 
3. i extract the JVMTI client into the TPTP directory
4. add localhost:10006 in eclipse as a profiling host
5. disable eclipse's the built-in agenet controller
6. set the java runtime in the agent controller (via setupConfig) 

that's all i have to do, right?

Since the error message states it can't find the jvmti agent controller and i should check if it's configured properly, but the documentation (http://www.eclipse.org/tptp/platform/documents/tutorials/jvmti/Java_Application_Profiling_using_TPTP-r4-3.html) doesn't state anything about additional configuration steps that are required on the newAC side. The only thing that's mentioned is the client port, but the AC is already listening on port 10002 and 10006, so i figure it's set up correctly.
Comment 8 Missing name Mising name CLA 2007-01-06 14:46:38 EST
sorry, i meant the update to 4.4 nightly fixes the problems mentioned in comment #6
Comment 9 Chris Aniszczyk CLA 2007-01-07 17:07:49 EST
fixing version,os
Comment 10 Guru Nagarajan CLA 2007-01-07 18:47:40 EST
Chris,
 Are you attempting to the JVMTI profiling on Z/OS?
The JVMTI profiler is currently supported only on Windows and Linux on IA.
Comment 11 Asaf Yaffe CLA 2007-01-11 06:35:36 EST
Guru, this problem seems to be related to the timeout issues we saw on Windows and Linux with the New AC. Do we have a Bugzilla open for tracking this?
Comment 12 Missing name Mising name CLA 2007-01-17 10:49:04 EST
Created attachment 57017 [details]
logs for TPTP-4.4.0-200701170100

updated the newAC and TPTP plugin to TPTP-4.4.0-200701170100. Still the same problem.

I've gathered all related logs i could find, but they don't reveal that much. I guess the most interesting one is the tptpParseError.log. The 2 different errors are the result of a test availability and a profiling launch attempt.
Comment 13 Guru Nagarajan CLA 2007-01-17 10:54:00 EST
There is an issue with bugzilla - so I cannnot update the target version.
I will work on this.

Thanks
Comment 14 Missing name Mising name CLA 2007-01-24 20:13:27 EST
some feedback would be useful.
I.e. is the cause known? Are some other logs or further information required? Can we assist the bug finding procedure in any other way?
Comment 15 Neil Dunn CLA 2007-02-01 15:48:28 EST
Created attachment 58059 [details]
Stack trace generated by Eclipse

Stack trace dumped to console when trying to initiate a profiling session.
Comment 16 Neil Dunn CLA 2007-02-01 16:43:02 EST
I am still waiting on this bug fix. I would like to know if a fix is expected anytime in the near future as it is blocking an important project. If it will not be fixed soon please say. If the code is also unstable and should not be used to create new functionality please say that too!

I have tried today from a fresh install and all the latest nightlies to get this running:

eclipse-SDK-3.3M4-linux-gtk.tar.gz                      jvmti-client-TPTP-4.4.0-200701310100.zip
agntctrl.linux_ia32.sdk-TPTP-4.2.0.zip                  emf-sdo-xsd-SDK-2.2.1.zip                               tptp.runtime-TPTP-4.4.0-200701310100.zip
agntctrl.linux_ia32-TPTP-4.2.0.zip                     tptp.sdk-TPTP-4.4.0-200701310100.zip

All running on Linux.

I took the following installation steps:

* Untarred Eclipse into a directory ./install/eclipse
* Unzipped EMF into ./install/eclipse
* Unzipped TPTP-SDK into ./install/eclipse
* Unzipped TPTP-Runtime into ./install/eclipse
* Unzipped JVMTI-Client into ./install/eclipse
* Unzipped Agent Controller runtime to ./install/ac
* Unzipped Agent Controller SDK to ./install/ac
* Unzipped the "New Java Profiler" for all platforms then moved the linux_ia32 version of org.eclipse.tptp.javaprofiler/ to ./install/ac/plugins/

  Note: I had to use the version for all_platforms as the nightly of the linux_ia32 version (javaprofiler.linux_ia32-TPTP-4.4.0-200701311213.zip) gives a 404 on the download page.

* Ran ./install/ac/bin/SetConfig.sh and accepted all the defaults.

I then did the followings:

* Appended ./install/ac/lib to LD_LIBRARY_PATH
* Started the Agent Controller. ./install/ac/bin/ACServer
* Started eclipse (./install/eclipse/eclipse)
* Wrote a 2 line program.
* Opened Preferences -> Profiling and Logging -> Hosts and added localhost:10006
* Hit "Test Connection" and recieved the message "Connection Success".
* Selected Run -> Profile As -> Java Application
* Selected Execution Time Analysis in the "Java Profiling (Java 5.0+)" section of the "Monitor" tab.
* Hit "Run"

This printed the following message to the Console:

Exception in thread "main" java.lang.NoClassDefFoundError

Starting a profiling session dumps a stack trace (Attachment #58059 [details]) to the console. There are no details in the agent controller's servicelog and I cannot find any Eclipse logs that might give me more details. 

In the Eclipse "Error Log" view the following message is also dumped twice:

NLS missing message: TASK_CONNECTING_TO_AGENT in:
org.eclipse.tptp.platform.jvmti.client.internal.messages

And:

NLS missing message: ERROR_TI_MODEL_CREATION in:
org.eclipse.tptp.platform.jvmti.client.internal.messages

After hanging at 78% progress the launch then fails and the stack trace attached  ( Attachment #58059 [details]) is dumped by Eclipse to either stderr or stdout.

There is no useful log output in servicelog.log and I cannot find any Eclipse logs with more details.

If you actually believe I should be able to do carry out this scenario please tell meI was planning on using this new technology in a project I am working on but I fear it is currently too unstable to be of any use. I would like to know if you expect this to be fixed anytime in the near future so that I can decide whether to continue attempting to work with all this stuff.

Neil
Comment 17 Guru Nagarajan CLA 2007-02-01 17:50:42 EST
Neil - I tried using the driver on Linux and I have not been able to recreate it. 

Lets try and resolve the issue you have.
a) What version of Linux are you using?
b) What version of Java are using?
Can you also to check to see if there are no other installs of the Agent Controller on your machine.

I would like you to try running the "Profiler" from the command line. 

To run the new Java Profiler in standalone mode on Linux:
a) Set TPTP_AC_HOME=<<Agent Controller Home>>
b) Set JAVA_PROFILER_HOME=%TPTP_AC_HOME%/plugins/org.eclipse.tptp.javaprofiler
c) Add the following directories to LD_LIBRARY_PATH:
   %JAVA_PROFILER_HOME%:%TPTP_AC_HOME%/lib
d) Execute the following command:
   java ‘-agentlib:JPIBootLoader=JPIAgent:server=standalone;CGProf’ <<Your
   Application to profile>>
Let me know if you are able to invoke the profiler. 

Comment 18 Guru Nagarajan CLA 2007-02-01 17:58:55 EST
Neil
  Can you also attach the java profiler runtime plugin configuration file i.e. org.eclipse.tptp.javaprofiler/ that you installed to ./install/ac/plugins/
The file is in the org.eclipse.tptp.javaprofiler/config/config.xml

Thanks,
Guru
Comment 19 Neil Dunn CLA 2007-02-01 18:14:50 EST
(In reply to comment #17)

bash-3.00$ java -version
java version "1.5.0_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_03-b07)
Java HotSpot(TM) Client VM (build 1.5.0_03-b07, mixed mode, sharing)

bash-3.00$ uname -a
Linux glyph10 2.6.17.11-x86_01doc #1 SMP Wed Sep 6 12:10:14 BST 2006 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz unknown GNU/Linux

This is a Mandrakelinux release 10.2 (Limited Edition 2005) for i586 install.

The call graph profiler runs successfully and generates a trace file trace.trcxml  of about 17M in the working directory.
Comment 20 Neil Dunn CLA 2007-02-01 18:17:21 EST
Created attachment 58070 [details]
javaprofiler plugin config

pluginconfig.xml
Comment 21 Neil Dunn CLA 2007-02-01 18:35:38 EST
I also spotted:

(01/01/07 23:34:46 /vol/bitbucket/nd03/partial-eclipse/install/ac/bin/tptpProcessController) XML Error: Expected comment or processing instruction (error detected at lin
e:1, col:278, in "parseApplication()")

in the tptpParseError.log 
Comment 22 Guru Nagarajan CLA 2007-02-01 19:05:42 EST
Cool the fact that the profiler works in the standalone says the JVM and the OS configs are good. Let me look up the attachment of the plugin.
Comment 23 Guru Nagarajan CLA 2007-02-01 19:08:14 EST
Neil - when you bring up the Eclipse client to profile - what response do you get when you select the Profiler and say Test Availability?
Comment 24 Neil Dunn CLA 2007-02-02 05:02:15 EST
(In reply to comment #22)

Running the "Test Availability" command gives the following error message:

The JVMTI agent org.eclipse.tptp.jvmti is not available. Make sure the agent's libraries are available and it is configured properly.

The Reason dialogue is empty.
Comment 25 Neil Dunn CLA 2007-02-02 05:09:38 EST
Created attachment 58100 [details]
Stack trace generated by Eclipse when running "Test Availability"
Comment 26 Neil Dunn CLA 2007-02-02 05:10:06 EST
(In reply to comment #24)

Running "Test Availability" also dumps the following to stdout or stderr.

From ACServer:

Exception in thread "main" java.lang.NoClassDefFoundError

From Eclipse (see Attachment #58100 [details])
Comment 27 Guru Nagarajan CLA 2007-02-02 10:14:03 EST
Neil - can you try the following

a) Start the Agent Controller
b) Invoke Eclipse Workbench
      a) In the Eclipse Workbench select profiler
      b) IN the Profiler Launch Configuration select "Eclipse Application"
      c) In the Monitor select (Java profiling with Instrumentation)
      d) Do Profile
Let me know what you see.
I am in the US (GMT -8)
Thanks,
Guru
Comment 28 Neil Dunn CLA 2007-02-02 10:21:48 EST
(In reply to comment #27)

Exactly the same problem. NoClassDefFoundError dumped to the Eclipse Console and the same stack trace as attached dumped to stdout (or stderr).
Comment 29 Guru Nagarajan CLA 2007-02-02 10:28:16 EST
Neil - one more try 
a) Can you stop the Agent Controller
b) Go to the ac_install/config directory
    -- edit the file serviceconfig.xml
          -- Search for Logging - modify format="Simple" 
<Logging directory="%TPTP_AC_HOME%\config" format="Simple" level="INFORMATION"/>
c) Restart AC
d) Try profiling again
Comment 30 Neil Dunn CLA 2007-02-02 10:38:32 EST
(In reply to comment #29)

Identical error messages in Console and dumped to stdout.

In servicelog.log there is the following:

File transfer operations are currently disabled in the Agent Controller Compatibility layer. 
Cannot create JVM
Received command for unrecognized interface: iid=org.eclipse.tptp.eventProvider, cmd=listenerAccepted
CONSOLE LAUNCHED COMMAND for connection(5001).
Comment 31 Guru Nagarajan CLA 2007-02-02 10:41:52 EST
Neil - one last info 
Can you upload the serviceconfig.xml file.
Comment 32 Neil Dunn CLA 2007-02-02 10:44:46 EST
Created attachment 58120 [details]
Service config file - Linux
Comment 33 Guru Nagarajan CLA 2007-02-02 10:51:31 EST
Neil - your config file looks good. Everything looks fine on your side.
I have a machine closer to your config that I am going to try on.
It may be later in the day since we are closing in on an iteration.
Comment 34 Neil Dunn CLA 2007-02-02 11:04:52 EST
(In reply to comment #33)

Ok. It's nearly the end of the day here so I'll be looking out for a reply over the weekend or Monday! Thanks for the help, lets hope we can sort this out.
Comment 35 Guru Nagarajan CLA 2007-02-02 11:27:11 EST
Neil - your config file looks good. Everything looks fine on your side.
I have a machine closer to your config that I am going to try on.
It may be later in the day since we are closing in on an iteration.
Comment 36 Neil Dunn CLA 2007-02-08 11:02:30 EST
Guru have we made any progress here? Is there anything else I can do to move the bugfix along? A new build to try? Possible configuration changes?

Regards,
Neil
Comment 37 Guru Nagarajan CLA 2007-02-08 11:05:43 EST
Sorry Neil, I have not been able to recreate this issue. I am working on a patch on additional logging info that can be output on your machine that will help in root causing the issue.
Comment 38 Guru Nagarajan CLA 2007-02-13 14:56:48 EST
Sorry - too many things happening.

One last input - 
a) In the Eclipse Preferences i.e. Menu->Window->Preferences
   Select Agent Controller ->Integrated Agent Controller
     a) Check the box - allow remote connection
     b) Set the Port value to be 10006(Default value of the New Agent Controller port)
Let me know if you see a difference.
Comment 39 Guru Nagarajan CLA 2007-02-16 13:50:13 EST
Neil 
  I have not been able to recreate the issue with the latest source base. 
I am able to do profiling on Linux both from a Local Eclipse Workbench and a remote Eclipse workbench running on windows.
The configurations I have tested are 
a) RH - 2.4.21-27.ELsmp
   gcc:3.2.3 20030502 (Red Hat Linux 3.2.3-47)
b) SUSE LINUX Enterprise Server 9 (i586)
   Kernel: 2.6.5-7.69-smp
   gcc:(GCC) 3.3.3 (SuSE Linux)

An issue I had was that the Agent Controller port of 10006 was the one that worked. The backward compatibility port of 10002 that allows the Old AC and new AC connections on windows did not work on lInux.

Let me know after you have tried with latest code base
Comment 40 Neil Dunn CLA 2007-02-17 08:59:11 EST
Guru. This is getting rather frustrating.

I am running everything on Linux including Eclipe.

I have downloaded the following for install:

agntctrl.linux_ia32.sdk-TPTP-4.4.0-200702160321.zip  eclipse-SDK-3.3M4-linux-gtk.tar.gz                                  tptp.sdk-TPTP-4.4.0-200702160321.zip
agntctrl.linux_ia32-TPTP-4.4.0-200702160321.zip
emf-sdo-xsd-SDK-2.3.0M4.zip
tptp.runtime-TPTP-4.4.0-200702160321.zip

The agent controller and tptp runtime and sdk are the latest 4.4 development builds as of February 17th (they were released on 16th of Feb according to download and file name).

After installing Eclipse, EMF and the TPTP SDK and Runtime I now have a situation where there is no "Profile" section in the Run menu and no Preferences tab for a profiler. According to the "Product Congifuration" all of the TPTP plugins are installed and enabled including the "TPTP JVMTI Profiler" so why can't I run it or find any mention of it in anywhere in the GUI?

I am going to try the 4.3 builds again to see if this makes any difference.

Help NEEDED urgently.
Comment 41 Neil Dunn CLA 2007-02-17 09:51:31 EST
Guru I have made further progess.

I downloaded and installed the "All in one" TPTP runtime (which includes a full Eclipse installation which is unexpected, is this correct).

Running this version of the Eclipse install gives me all the necessary profiling options and I can connect to the agent controller when I "Test Connection' on port 10006. 

The problem is now this: When I execute a profile I get the following error:
Error occurred during initialization of VM
Could not find agent library on the library path or in the local directory: JPIBootLoader

There is no JPIBootloader.so in the zip files: agntctrl.linux_ia32-TPTP-4.4.0-200702160321.zip
agntctrl.linux_ia32.sdk-TPTP-4.4.0-200702160321.zip 

Is this a problem with the build like I reported previously?

I still would like to know why it doesn't work if I install the tptp plugins to a seperate eclipse install too. I don't have confidence in all of this and I did want to actually work with the code and build upon it.
Comment 42 Neil Dunn CLA 2007-02-17 11:10:13 EST
Searching through the "agent controller for all platforms" the JPIBootLoader only appears in the win_ia32, win_em64 and win_ipf builds. Why is it not in the linux 32 bit? Is this a build error? 

$ find . | grep -i jpi
./win_ia32/plugins/org.eclipse.tptp.javaprofiler/JPI.dll
./win_ia32/plugins/org.eclipse.tptp.javaprofiler/JPIBootLoader.dll
./win_em64t/plugins/org.eclipse.tptp.javaprofiler/JPI.dll
./win_em64t/plugins/org.eclipse.tptp.javaprofiler/JPIBootLoader.dll
./win_ipf/plugins/org.eclipse.tptp.javaprofiler/JPI.dll
./win_ipf/plugins/org.eclipse.tptp.javaprofiler/JPIBootLoader.dll

Comment 43 Missing name Mising name CLA 2007-02-18 18:19:16 EST
(In reply to comment #41)
> The problem is now this: When I execute a profile I get the following error:
> Error occurred during initialization of VM
> Could not find agent library on the library path or in the local directory:
> JPIBootLoader

Ok, by using the all-in-one-package (which i'm not willing to download) you made progress and arrived at a different error, right?

I've upgraded to Eclipse 3.3M5 and TPTP-4.4.0-200702160321 (platform runtime, trace tools) + EMF stuff

Does that mean
a) there's something missing in the standalone downloads or
b) we missed some requirements?
Comment 44 Guru Nagarajan CLA 2007-03-02 12:52:00 EST
I am not seeing this issue on Linux. Pls let me know if there are other concerns on Linux/JVMTI
Comment 45 Missing name Mising name CLA 2007-03-04 05:35:22 EST
It's still an issue on windows... as reported before connecting to the agent controller and launching an application to profile doesn't work and spawns entries like

(03/04/07 11:24:22 ACServer.exe) XML Error: Expected whitespace (error detected at line:23, col:95, in "parseMessage()")

in the tptpparseerror.log.

So, please reopen the bug, it's certainly not resolved/fixed.
Comment 46 Guru Nagarajan CLA 2007-03-21 18:06:17 EDT
With the latest driver on windows I have been able to recreate this. This seems like a Threading issue in the AgentController. The XML Parser strips the "Class" to be launched and inserts null. This causes the Process launching to fail and hence the libraries not found message is reported.
Comment 47 Guru Nagarajan CLA 2007-03-23 14:18:14 EDT
There is an issue with the XML Parsing on the Agent Controller side. Whenever you have this error you see an entry in the tptpparseerror.log file in the AC/bin directory. 
The message is XML Error: Expected whitespace (error detected
at line:23, col:95, in "parseMessage()")

in the tptpparseerror.log.

Command Sent by CLient:
Command Handler <Cmd dest="101" src="113" ctxt="3"><startProcess iid="org.eclipse.tptp.processController"><launchInfo><Application executable="java.exe" location="C:\temp\TPTP44-Iter1\eclipse"><Parameter value="-Xms40m -Xmx256m -agentlib:JPIBootLoader=JPIAgent:server=controlled;CGProf org.eclipse.core.launcher.Main -launcher C:\temp\TPTP44-Iter1\eclipse\eclipse -name Eclipse -showsplash 600 -product org.eclipse.sdk.ide -data C:\temp\ticlientupd/../runtime-New_configuration(1) -configuration "file:C:/temp/ticlientupd/.metadata/.plugins/org.eclipse.pde.core/New_configuration (1)/" -dev "file:C:/temp/ticlientupd/.metadata/.plugins/org.eclipse.pde.core/New_configuration (1)/dev.properties" -pdelaunch -os win32 -ws win32 -arch x86"/><Variable name="CLASSPATH" position="prepend" value="C:\temp\TPTP44-Iter1\eclipse\plugins\org.eclipse.equinox.launcher_1.0.0.v20070208a.jar"/></Application><keepRunning>0</keepRunning><noNotices>0</noNotices></launchInfo><consoleConnectID>5005</consoleConnectID></startProcess></Cmd>

Command Processed by the AgentController and used for launchign the process 
Agent 'ProcessController' parsed xml cmd <Cmd ctxt="3" dest="101" src="113"><startProcess iid="org.eclipse.tptp.processController"><launchInfo><Application executable="java.exe" location="C:\temp\TPTP44-Iter1\eclipse"/></launchInfo></startProcess></Cmd>

**********NOTICE that the Command For launching the StartProcess is missing Critical information************
The process launch fails and the agent is not launched. 


Comment 48 Guru Nagarajan CLA 2007-03-23 14:21:31 EDT
Created attachment 61860 [details]
Service Log that captures the AC output when this occurs

The Log file for the Agent Controller that captures the stripped start process command
Comment 49 Guru Nagarajan CLA 2007-03-23 14:32:20 EDT
Created attachment 61862 [details]
ServiceLog for the scenario where the launch succeeds

Look for the following String in the Log file. The StartProcess command used by the Process COntroller to launch the Process. In this scenario the process launchign succeeds.;
Agent 'ProcessController' parsed xml cmd <Cmd ctxt="3" dest="101" src="118"><startProcess iid="org.eclipse.tptp.processController"><launchInfo><Application executable="java.exe" location="C:\temp\TPTP44-Iter1\eclipse"><Parameter value="-Xms40m -Xmx256m -agentlib:JPIBootLoader=JPIAgent:server=controlled;CGProf org.eclipse.core.launcher.Main -launcher C:\temp\TPTP44-Iter1\eclipse\eclipse -name Eclipse -showsplash 600 -product org.eclipse.sdk.ide -data C:\runtime-New_configuration/../runtime-New_configuration -configuration file:C:/runtime-New_configuration/.metadata/.plugins/org.eclipse.pde.core/New_configuration/ -dev file:C:/runtime-New_configuration/.metadata/.plugins/org.eclipse.pde.core/New_configuration/dev.properties -pdelaunch -os win32 -ws win32 -arch x86"/><Variable name="CLASSPATH" position="prepend" value="C:\temp\TPTP44-Iter1\eclipse\plugins\org.eclipse.equinox.launcher_1.0.0.v20070208a.jar"/></Application><keepRunning>0</keepRunning><noNotices>0</noNotices></launchInfo><consoleConnectID>5008</consoleConnectID></startProcess></Cmd>
Comment 50 Igor Alelekov CLA 2007-03-25 11:51:26 EDT
Created attachment 61925 [details]
patch

The XML issue is caused by illegal command formating on the client side.
You can see that the command in the Comment #47 has internal double-quote characters in the attribute of the <Parameter..> tag. A solution could be in replacing of these internal double-quote characters by single-quotes as it is recommended at xml.org.

Guru, could you review the patch for the execution framework?

The Successfull scenario in the Comment #49 also has potential issues since corresponding command hasn't any internal quotes. And if a user launching directoty has spaces, he will get the launching error. It could be recommended to use quotes as well.
Comment 51 Guru Nagarajan CLA 2007-03-25 15:10:46 EDT
Applied Patch.
The tests look good for windows (Tested simple apps and Eclipse WOrkbench)
The Linux testing is yet to be done for JVMTI client. 
Comment 52 Guru Nagarajan CLA 2007-03-26 13:40:55 EDT
Validated on Linux and WIndows in the 3/26 driver. 
Comment 53 Missing name Mising name CLA 2007-03-29 12:21:02 EDT
Thx. The described errors don't occur anymore :)
Comment 54 Paul Slauenwhite CLA 2009-06-30 12:05:04 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.