Skip to main content

Eclipse TPTP on IBM AIX platform

It seems that the Eclipse TPTP project has stopped to provide Agent Controller and agent libraries for some Unix platforms like IBM AIX.

I have just tried to use the IBM Rational Agent Controller (available at http://www-01.ibm.com/support/docview.wss?rs=2042&uid=swg27013420) with Eclipse TPTP 4.7.1 as client. Surprisingly it seems to be perfectly compatible, i have successfully collected profiling data on an Eclipse Workbench under Windows from a IBM J9 32bits VM SR8 running on a 64bits IBM AIX PowerPC 6.

Some tips :

  • While i tried to profile with an Xmx value equals or greater than 2048m the JVM crashed  with the following error as soon as i attached the Eclipse Workbench to the Agent Controller:
Unhandled exception
Type=Illegal instruction vmState=0x00000000
J9Generic_Signal_Number=00000010 Signal_Number=00000004 Error_Value=00000000 Signal_Code=0000001e
…..
Target=2_40_20100401_055940 (AIX 5.3)
CPU=ppc (4 logical CPUs) (0x200000000 RAM)
----------- Stack Backtrace -----------
---------------------------------------
JVMDUMP006I Processing dump event "gpf", detail "" - please wait.
JVMDUMP032I JVM requested System dump using 'core.20101013.171437.2584664.0001.dmp' in response to an event
Note: "Enable full CORE dump" in smit is set to FALSE and as a result there will be limited threading information in core file.
JVMDUMP006I Processing dump event "systhrow", detail "java/lang/OutOfMemoryError" - please wait.
JVMDUMP006I Processing dump event "systhrow", detail "java/lang/OutOfMemoryError" - please wait.
JVMDUMP010I System dump written to core.20101013.171437.2584664.0001.dmp
JVMDUMP032I JVM requested Snap dump using 'Snap.20101013.171437.2584664.0004.trc' in response to an event
JVMDUMP010I Snap dump written to Snap.20101013.171437.2584664.0004.trc
JVMDUMP032I JVM requested Java dump using 'javacore.20101013.171437.2584664.0005.txt' in response to an event
JVMDUMP032I JVM requested Snap dump using 'Snap.20101013.171440.2584664.0003.trc' in response to an event
JVMDUMP010I Snap dump written to Snap.20101013.171440.2584664.0003.trc
JVMDUMP032I JVM requested Snap dump using Snap.20101013.171440.2584664.0002.trc' in response to an event
JVMDUMP010I Snap dump written to Snap.20101013.171440.2584664.0002.trc
UTE430: can't allocate buffer
UTE437: Unable to load formatStrings for j9mm
JVMDUMP032I JVM requested Heap dump using 'heapdump.20101013.171440.2584664.0006.phd' in response to an event
JVMDUMP010I Java dump written to javacore.20101013.171437.2584664.0005.txt
JVMDUMP013I Processed dump event "gpf", detail "".

  • Do not forget to properly setup the LIBPATH environment variable in order to reference the lib and plugins/org.eclipse.tptp.javaprofiler directories. Agents rely on it to find the *.so files.
  •  Do not forget to start the AgentController on the AIX (with the ACStart.sh script in the bin directory) and, if it is not already done, to configure it with the SetConfig.sh Before trying to profile i suggest you to test the Agent Controller from a remote client with the SampleClient :
SampleClient <AIXHostName> <AgentControllerPort>

(Default AgentControllerPort is 10006)

Comments

Popular posts from this blog

Row Count : HBase Aggregation example

With the coprocessors HBase 0.92 introduces a new way to process data directly on a region server. As a user this is definitively a very exciting feature : now you can easily define your own distributed data services.

This post is not intended to help you how to define them (i highly recommend you to watch this presentation if you want to do so) but to quickly presents the new aggregation service shipped with HBase 0.92 that is built upon the endpoint coprocessor framework.

1. Enable AggregationClient coprocessor

You have two choices :

You can enable aggregation coprocessor on all your tables by adding the following lines to hbase-site.xml :
<property> <name>hbase.coprocessor.user.region.classes</name> <value>org.apache.hadoop.hbase.coprocessor.AggregateImplementation</value> </property> or ...you can enable coprocessor only on a table throught the HBase shell :

1. disable the table
hbase> disable 'mytable'

2. add the coprocessor
hbase…

HBase + Subversion + Eclipse + Windows

HBase + Subversion + Eclipse + Windows (it should be easy to adapt for Linux)

Update : please note that sinceHBase-4336 / HBase 0.96 the source tree is split in more than one Maven module this post is no more relevant, i have created a new post on this subject : http://michaelmorello.blogspot.fr/2012/06/hbase-096-eclipse-maven.html
This is a simple setup in order to play with the source code of HBase under Microsoft Windows.
Since HBase use some Unix specific commands like chmod the only requirements here are Cygwin and a working Maven 3 environment. (It is obvious that you need Java and Eclipse, but you DON'T need anything else like the Eclipse Maven plugin or any SSH configuration)

1. Checkout the source code

The first step is to check out the source code from the Subversion repository. I did it under my cygwin home repository. In this example i want to play with the 0.90 branch :

svn co http://svn.apache.org/repos/asf/hbase/branches/0.90/ hbase-0.90

2. Generate the Eclipse configura…

Analyse d'un "thread dump" d'une JVM IBM sous AIX

Dans quels cas le thread dump est utile ?
Le thread dump est un instantané de l'activité des threads de la JVM. Leur analyse est intéressante dans les cas où l'activité de la JVM ne semble pas normale :
Activité suspendue (deadlock/interblocage) ou partiellement suspendue (starvation/famine)Activité existante mais le "débit" est en deçà de ce qui est attendu (Goulot d'étranglement / Bottleneck)Activité existante mais le "débit" reste nul (Boucle infinie / Infinite Loop)Comment avoir un thread dump ?
Nous nous limitons ici à la machine virtuel IBM sous AIX. Dans ce cas là il est extrêmement simple de déclencher la création d'un thread dump : il suffit de faire un kill -3 sur le processus Java.

Un fichier dont le nom est javacore.[date].[numero_processus].[compteur].txt est produit. Sur la sortie standard du processus vous devriez voir la ligne suivante s'afficher :
JVMDUMP010I Java Dump written to .....
En général le dump est produit dans le réper…