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

Bug 200697

Summary: profiling doesn't work with integrated agent controller
Product: z_Archived Reporter: theone256
Component: TPTPAssignee: Bing Xu <xubing>
Status: CLOSED WORKSFORME QA Contact:
Severity: normal    
Priority: P1 CC: jkubasta, mauromol, samwai
Version: unspecifiedKeywords: plan
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard: closed460

Description theone256 CLA 2007-08-21 10:51:11 EDT
Build ID: I20070625-1500

When I try to profile an application using TPTP with the integrated agent controller, I get the following exception (in Eclipse log):

org.eclipse.core.runtime.CoreException: Agent Controller is unavailable under port 10002.  Make sure that the service is started and the port number is correct under preferences.
at org.eclipse.tptp.trace.ui.internal.launcher.core.LauncherUtility.createCoreException(LauncherUtility.java:123)
at org.eclipse.tptp.platform.jvmti.client.internal.launcher.TIDelegateHelper.connectToAgentController(TIDelegateHelper.java:395)
at org.eclipse.tptp.platform.jvmti.client.internal.launcher.TIDelegateHelper.launch(TIDelegateHelper.java:308)
at org.eclipse.tptp.platform.jvmti.client.internal.launcher.TIRuntimeWorkbenchDelegate.launch(TIRuntimeWorkbenchDelegate.java:32)
at org.eclipse.tptp.trace.ui.internal.launcher.core.LauncherUtility.delegateInit(LauncherUtility.java:1153)
at org.eclipse.tptp.trace.ui.provisional.launcher.PrimaryLaunchDelegate.run(PrimaryLaunchDelegate.java:196)
at java.lang.Thread.run(Thread.java:595)
org.eclipse.core.runtime.CoreException[0]: java.lang.NullPointerException
at org.eclipse.tptp.platform.iac.administrator.internal.startstop.AutoStartStop.hasProcessTerminated(AutoStartStop.java:275)
at org.eclipse.tptp.platform.iac.administrator.internal.startstop.AutoStartStop.startIAC(AutoStartStop.java:113)
at org.eclipse.tptp.platform.execution.client.core.internal.NodeImpl.connect(NodeImpl.java:117)
at org.eclipse.tptp.platform.jvmti.client.internal.launcher.util.AgentControllerDelegate$1$EstablishConnection.run(AgentControllerDelegate.java:155)
at java.lang.Thread.run(Thread.java:595)
Comment 1 Mauro Molinari CLA 2007-09-14 03:37:34 EDT
I also encoutered this kind of problem when trying to profile with TPTP 4.4.0.2 on a Linux (Debian 4.1) system. I was forced to use the stand-alone agent controller in order to profile my application.
Comment 2 Bing Xu CLA 2008-01-18 14:08:47 EST
Debian is not supported according to http://www.eclipse.org/tptp/home/project_info/releaseinfo/4.4/support.html.

Can you check:

1. If IAC is enabled in Window->Preferences->Agent Contoller.
2. Check if IAC is using JVM 1.5.  And which JVM are you using?  Sun or IBM?
3. Can you try this in a Java program and tell me the values:

System.getProperty("os.name") 
System.getProperty("os.arch")

Thanks.
Comment 3 Mauro Molinari CLA 2008-01-21 05:01:25 EST
(In reply to comment #2)
> Debian is not supported according to
> http://www.eclipse.org/tptp/home/project_info/releaseinfo/4.4/support.html.
> 
> Can you check:
> 
> 1. If IAC is enabled in Window->Preferences->Agent Contoller.
> 2. Check if IAC is using JVM 1.5.  And which JVM are you using?  Sun or IBM?
> 3. Can you try this in a Java program and tell me the values:
> 
> System.getProperty("os.name") 
> System.getProperty("os.arch")
> 
> Thanks.

Hi Bing,
here are the answers in my own case:

1. yes
2. it's using Sun JDK 1.5.0_08, the same I'm using as the runtime environment for the project I'm trying to profile
3. os.name = Linux; os.arch = i386

But the main problem is that I cannot reproduce the bug right now (I actually can profile the application that was causing problems when I added my comment #1 using the IAC...).

The only difference could be the TPTP version, which might be 4.4.0.3: the TPTP version details follow:
- TPTP Monitoring Tools Project 4.4.0_v200706132116
- TPTP Platform Project 4.4.0_v200706132116
- TPTP Profiling for Web applications 4.4.0_v200706132116
- TPTP Reporting with BIRT 4.4.0_v200706132116
- TPTP Testing Tools Project 4.3.100_v200706132116
- TPTP Tracing and Profiling Tools Project 4.3.0_v200706132116

Maybe the reporter can help you more to diagnose the problem.

Mauro.
Comment 4 Mauro Molinari CLA 2008-01-21 08:46:34 EST
Unfortunately, I have to correct myself.
Actually, the system still had TPTP 4.4.0.2.
Now I did an automatic update, installing TPTP 4.4.0.3 and I can't profile anymore. The error that is given is the same that was reported in the original bug report:

org.eclipse.core.runtime.CoreException
Agent Controller is unavailable under port 10002.  Make sure that the service is started and the port number is correct under preferences.

java.lang.NullPointerException
  at org.eclipse.tptp.platform.iac.administrator.internal.startstop.AutoStartStop.hasProcessTerminated(AutoStartStop.java:275)
  at org.eclipse.tptp.platform.iac.administrator.internal.startstop.AutoStartStop.startIAC(AutoStartStop.java:113)
  at org.eclipse.tptp.platform.execution.client.core.internal.NodeImpl.connect(NodeImpl.java:117)
  at org.eclipse.tptp.platform.execution.util.internal.AgentControllerPool$1$EstablishConnection.run(AgentControllerPool.java:164)
  at java.lang.Thread.run(Thread.java:595)

Mauro.
Comment 5 Bing Xu CLA 2008-01-23 16:40:59 EST
Hi Mauro,

I've tried the following on Linux (SUSE 10) with SUN JVM 1.5.0_12:

1. Download latest TPTP-4.5.0-200801210400 build including All TPTP plugins runtime (tptp.runtime-TPTP-4.5.0-200801210400.zip), eclipse SDK 3.4 (eclipse-SDK-3.4M4-linux-gtk.tar.gz), and Eclipse Modeling Framework (emf-sdo-xsd-SDK-2.4.0M4.zip)

2 Unzip all three zip files into one same 'eclipse' directory.

3 Check JVM 1.5 is picked up in $PATH by 'java -version'.  If not then add JVM 1.5 to PATH.

4. Create a new empty workspace and start Eclipse and make sure IAC is enabled in Preferences.

5. Start Profile Configuration and create a new 'External Java Application' instance, select default 'localhost:10002' and click 'Test Connection' and I got 'Connection Successful' message.

6. In shell, check 'ps' and verify that process 'ACServer' is started by Eclipse.

Can you try this and see if you still got the same error?  It shouldn't take more than 30 mins.
Comment 6 Mauro Molinari CLA 2008-01-24 09:19:49 EST
Hi Bing,
I tried all you said and the results are ok ("connection successful" and ACServer running).
But I din't understand if now I have to try to reproduce the problem with my own project, i.e.: import the projects I had in the other workspace and try to profile my application.

Mauro.
Comment 7 Mauro Molinari CLA 2008-01-24 09:26:05 EST
By the way, if I try to do the same on my existing workspace with Eclipse 3.3 and TPTP 4.4.0.3, when I click on "Test connection" (in "Open Profile Dialog...", new "External Java Application" instance, default "localhost:10002" selected), nothing happens: I neither see "connection succesful" message, nor ACServer process is started.

Mauro.
Comment 8 Bing Xu CLA 2008-01-24 10:58:48 EST
Hi Mauro, 

Good to know that 4.5 worked for you.  You can try to use the existing workspace with the new TPTP 4.5 you just installed.  Just make sure your Eclipse compiler and JRE is set to JVM 1.5.

Please let me know your result.   
Comment 9 Mauro Molinari CLA 2008-01-24 12:00:19 EST
Hi Bing,
I switched the new Eclipse 3.4 + TPTP 4.5 installation on the old workspace. After the build process finished, I tried to profile my application.
The first time I clicked on the "Profile" button, I got the usual message:

org.eclipse.core.runtime.CoreException
Agent Controller is unavailable under port 10002.  Make sure that the service is started and the port number is correct under preferences.

org.eclipse.tptp.platform.execution.exceptions.AgentControllerUnavailableException:
  at org.eclipse.tptp.platform.execution.util.internal.AgentControllerFactory.createConnection(AgentControllerFactory.java:55)
  at org.eclipse.tptp.platform.execution.util.internal.AgentControllerPool.createConnection(AgentControllerPool.java:190)
  at org.eclipse.tptp.platform.execution.util.internal.AgentControllerPool.getConnection(AgentControllerPool.java:152)
  at org.eclipse.tptp.platform.execution.util.internal.AgentControllerPool.getConnection(AgentControllerPool.java:83)
  at org.eclipse.tptp.platform.jvmti.client.internal.launcher.util.AgentControllerDelegate.getConnection(AgentControllerDelegate.java:47)
  at org.eclipse.tptp.platform.jvmti.client.internal.launcher.util.AgentControllerDelegate.getConnection(AgentControllerDelegate.java:52)
  at org.eclipse.tptp.platform.jvmti.client.internal.launcher.TIDelegateHelper.connectToAgentController(TIDelegateHelper.java:395)
  at org.eclipse.tptp.platform.jvmti.client.internal.launcher.TIDelegateHelper.launch(TIDelegateHelper.java:310)
  at org.eclipse.tptp.platform.jvmti.client.internal.launcher.TIJavaLauncherDelegate.launch(TIJavaLauncherDelegate.java:37)
  at org.eclipse.tptp.trace.ui.internal.launcher.core.LauncherUtility.delegateInit(LauncherUtility.java:1163)
  at org.eclipse.tptp.trace.ui.provisional.launcher.PrimaryLaunchDelegate.run(PrimaryLaunchDelegate.java:195)
  at java.lang.Thread.run(Thread.java:595)

I was going to sadly report it to you, but then I checked with ps and noticed that ACServer was actually running... So, I pressed on the profile button a second time and the profiling session did start successfully!

I hope I can consider this problem fixed with TPTP 4.5 (actually, I hope it is fixed in TPTP 4.4.1 too...), anyway the error I was given the first time says to me that there are still some synchronization problem in TPTP architecture: the first time you start a profiling session, the time required by the IAC to start can lead the profiler to time out, giving the "Agent Controller is unavailable" error... I noticed this behaviour in many 4.4.x (and now 4.5) configurations...

Mauro.
Comment 10 jkubasta CLA 2008-02-06 21:34:06 EST
In light of comments, am resolving as WORKSFORME but have opened defect 218118 https://bugs.eclipse.org/bugs/show_bug.cgi?id=218118 to track the synchronization problem
Comment 11 Paul Slauenwhite CLA 2009-06-30 12:10:07 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.