Hyades v3.0.1 - Note sul rilascio


1.0 Problemi noti e limitazioni
1.1 Generic Log Adapter
1.1.1 Problemi durante l'esecuzione delle regole di Generic Log Adapter di IBM JRE (Java Runtime Environment) v1.4.1
1.2 Motore di raccolta dati
1.2.1 Testo della console distorto durante la creazione del profilo di un'applicazione Java su un sistema DBCS
1.2.2 Copia del file del Motore di raccolta dati su HP 11i non funzionante
1.2.3 Errore "sh: sysdef: non trovato" del Motore di raccolta dati su Solaris
1.2.4 Il Motore di raccolta dati in esecuzione con una Sun JVM su Linux causa un ciclo infinito
1.2.5 L'estensione dell'agente non funziona sui sistemi iSeries
1.2.6
Impossibile disporre di più istanza del Motore di raccolta dati su una sola macchina
1.3 Analizzatore log e traccia
1.3.1 Impossibile impostare un percorso di lavoro durante la creazione profili
1.3.2 Agenti e processi persi durante la chiusura della vista Controllo creazione profili
1.3.3 Aggiornamento viste non funzionante in base alla selezione effettuata nella vista Controllo creazione profili
1.4 Probekit
1.4.1 *Il programma ProbeInstrumenter rimuove i file jar nell'intera directory META-INF
1.4.2 *Il programma ProbeInstrumenter produce un'eccezione durante l'applicazione di alcune classi
1.5 Strumento di creazione profili
1.5.1 Problemi con la raccolga dati obsoleti quando si utilizza IBM JDK 1.4.1
1.5.2 Con Sun JVM, alcune chiamate ai metodi non vengono registrate
1.5.3 La creazione profili su Solaris utilizzando Sun JDK 1.4.x potrebbe causare l'arresto della JVM
1.5.4 Probabile arresto anomalo durante l'esecuzione in modalità autonoma con STACK_INFORMATION=contiguous su Solaris
1.5.5 Valori di timeout negativi per gli eventi WAIT e WAITED
1.5.6 Controllo dump non corretto con IBM JDK 1.4.2
1.6 Console statistica
1.7 Verifica
1.7.1 Problemi di verifica comuni
1.7.1.1 Le verifiche JUnit, Manuale e URL non funzionano su iSeries
1.7.1.2 La distribuzione e l'esecuzione automatica delle verifiche utilizzando piattaforme eterogenee non funziona
1.7.1.3 Esecuzione in remoto con distribuzione manuale
1.7.1.4 Accesso ai pool di dati
1.7.2 Verifica URL Hyades
1.7.2.1 I prospetti Tempo di risposta e Conteggio accessi non visibile nel pannello Selezione verifiche
1.7.2.2 Il registratore di verifiche URL visualizza "IWAT3042E registrazione interrotta a causa dell'eccezione: null"
1.7.2.3 Esecuzione di verifiche URL come verifiche JUnit
1.7.2.4 Esecuzione dell'esempio di verifica URL
1.7.2.5 Il file readme.html dell'esempio di verifica URL fa riferimento incorrettamente alla 'Verifica componenti'

1.0 Problemi noti e limitazioni

1.1 Generic Log Adapter

1.1.1 Problemi durante l'esecuzione delle regole di Generic Log Adapter di IBM JRE (Java Runtime Environment) v1.4.1

IBM JDK 1.4.1 fornito 2003 causa problemi nel programma di analisi dei log degli accessi Apache basato sulle regole.

Quando si esegue JRE (Java Runtime Environment) v1.4.1 di IBM, per utilizzare Generic Log Adapter e/o importare i file di log in Hyades utilizzando un programma di analisi di file di log basato su regole, è richiesto il Service Release (SR2) o una versione successiva.

1.2 Motore di raccolta dati

1.2.1 Testo della console distorto durante la creazione del profilo di un'applicazione Java su un sistema DBCS

Quando si creano profili di un'applicazione Java remota con Eclipse in un sistema DBCS (ad esempio, Cinese tradizionale, Cinese semplificato, Giapponese, Coreano), l'output della output risulterà distorto. Questo problema si verifica su tutte le piattaforme fatta eccezione per Z/OS e iSeries.

Per risolvere questo problema, aggiungere l'argomento Java VM -Dconsole.encoding=UTF8 quando si avvia l'applicazione Java remota. In tal modo verrà applicata la codifica corretta durante il trasferimento dell'output della console dall'ambiente remoto al workbench di Eclipse.

1.2.2 Copia del file del Motore di raccolta dati su HP 11i non funzionante

La copia del file non funziona perché il server di file non viene avviato. Questa situazione si verifica perché la libreria JVM libjvm.sl non viene caricata al runtime, quindi il server di file non viene avviato.

Per risolvere questo problema, è necessaria la versione patch del linker versione PHSS_30049 o successiva. La versione del linker dalla patch 30049 è la seguente:

/bin/ld:
$Revision: 1.5 $
HP aC++ B3910B X.03.37.01 Classic Iostream Library
HP aC++ B3910B X.03.37.01 Language Support Library
ld_msgs.cat: $Revision: 1.5 $
92453-07 linker command s800.sgs ld PA64 B.11.38 REL 031217

Per controllare il numero della versione: what /bin/ld

Per elencare le patch installate: swlist -l fileset

Ricercare "ld" per ottenere il numero della versione per l'ld cumulativo e le patch degli strumenti del linker.

1.2.3 Errore "sh: sysdef: non trovato" del Motore di raccolta dati su Solaris

Il Motore di raccolta dati Hyades utilizza il comando sysdef per ottenere la dimensione massima per i buffer di memoria condivisa sul sistema. Se il Motore di raccolta dati non è in grado di eseguire sysdef, utilizzerà dataChannelSize="30M" specificato nel file <RAServer>/plugins/org.eclipse.hyades.datacollection/pluginconfig.xml. All'avvio di RAServer.exe verrà visualizzato il seguente errore nella console:

sh: sysdef: non trovato
Per risolvere questo problema, aggiungere la directory /usr/sbin, che contiene sysdef, alla variabile PATH.

1.2.4 Il Motore di raccolta dati in esecuzione con una Sun JVM su Linux causa un ciclo infinito

Quando il Motore di raccolta dati è in esecuzione su una macchina Linux con una JVM Sun 1.4.2_04, il motore entra in un ciclo infinito. I seguenti messaggi vengono registrati nel file servicelog.log e le ultime tre righe vengono ripetute continuamente, fino a quando non viene eseguito un comando kill per arrestare il processo RAServer:
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION" text="Service starting"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.datacollection"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.logging.parsers"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Successfully loaded plugin: org.eclipse.hyades.test"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Active configuration set to: default"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Loaded configuration: default"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMATION"
text="Service started successfully"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Server stopping"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Internal server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="External server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Server stopping"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="Internal server closed"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="WARNING" text="External server closed"/>
Per risolvere questo problema, impostare la LD_LIBRARY_PATH in modo che indichi tutti i file .so prima di avviare il Motore di raccolta dati. Ad esempio, prima di eseguire il RAServer, eseguire questo comando:
export 
LD_LIBRARY_PATH=/opt/j2sdk1.4.2_04/jre/lib/i386/server:/opt/j2sdk1.4.2_04/jre/li
b/i386

1.2.5 L'estensione dell'agente non funziona sui sistemi iSeries

Le estensioni degli agenti non funzionano sui sistemi iSeries.

Per risolvere questo problema, prima di avviare il Motore di raccolta dati sulla macchina iSeries, eseguire il seguente comando:

	ADDLIBLE LIBNAME
dove LIBNAME è il nome della libreria che contiene il codice dell'estensione dell'agente. In tal modo il Motore di raccolta dati potrà trovare e caricare la libreria.

1.2.6 Impossibile disporre di più istanza del Motore di raccolta dati su una sola macchina

È possibile installare una sola istanza del Motore di raccolta dati su una macchina. Quindi, se il motore o una versione ampliata di esso è stata installata con un altro prodotto, sarà necessario disinstallare la prima istanza affinché una nuova istanza funzioni correttamente. Ad esempio, alcuni prodotti IBM WebSphere Studio o IBM Rational, oppure l'Autonomic Computing Toolkit di developerWorks, consentono di installare, facoltativamente, il Motore di raccolta dati Hyades con il nome di Agent Controller.

1.3 Analizzatore log e traccia

1.3.1 Impossibile impostare un percorso di lavoro durante la creazione profili

Difetto Bugzilla: 61754
Attualmente non è possibile impostare un percorso di lavoro arbitrario durante la configurazione dell'applicazione per cui generare il profilo. Il campo Directory di lavoro fornito nella scheda Argomenti per il tipo di applicazione Java non viene elaborato ed inviato correttamente dal programma di avvio dal workbench al motore di raccolta dati. Per il tipo di applicazione Java esterno, non è disponibile alcun campo per specificare un percorso di lavoro.

Per risolvere questo problema, procedere come segue:

  1. Nella prospettiva Creazione profili e log, fare clic sull'icona Esegui e scegliere Esegui.
  2. Nella finestra Esecuzione configurazione, fare doppio clic sull'applicazione Java nell'elenco Configurazioni per creare una nuova configurazione.
  3. Selezionare la nuova configurazione dall'elenco. Le informazioni di configurazione vengono visualizzate sulla destra.
  4. Selezionare la scheda Argomenti.
  5. Immettere l'argomento VM -XrunpiAgent:server=controlled nel campo Argomento VM. Specificare una directory di lavoro come richiesto.
  6. Scegliere Esegui.
  7. Selezionare il pulsante Profilo e scegliere Crea profilo.
  8. Nella finestra Creazione profilo configurazione, selezionare Allega - Processo Java nell'elenco Configurazioni e specificare le informazioni richieste per il processo.

1.3.2 Agenti e processi persi durante la chiusura della vista Controllo creazione profili

Difetto Bugzilla: 51161
Se la vista Controllo creazione profili contiene dati non salvati, ad esempio agenti o processi, quando la vista viene chiusa, tali dati andranno persi. Si consiglia di salvare tutto il contenuto nella vista Controllo creazione profili prima di chiuderla.
Nota: dopo aver aperto una nuova prospettiva, passando alla prospettiva Creazione profili e log, i dati non vengono persi.

1.3.3 Aggiornamento viste non funzionante in base alla selezione effettuata nella vista Controllo creazione profili

Difetto Bugzilla: 71567
Quando l'opzione Collega con visualizzatore viene disabilitata nella vista Controllo creazione profili, l'azione Aggiorna viste (nella stessa barra degli strumenti) funzionerà solo quando la selezione corrente nella vista Controllo creazione profili corrisponde alla vista aperta.

Per risolvere questo problema procedere come segue:

1.4 Probekit

1.4.1 Il programma ProbeInstrumenter rimuove i file jar nell'intera directory META-INF

Difetto Bugzilla: 68309
Il programma "ProbeInstrumenter" cancella tutti i file jar nella directory META-INF utilizzata. Questa operazione non ha conseguenze se la directory META-INF contiene solo il file MANIFEST.MF predefinito.

Se la directory META-INF del file jar contiene altri file oltre a MANIFEST.MF, procedere come segue per conservare questi file nel file jar applicato:

  1. Estrarre il contenuto della directory META-INF del file jar in una directory temporanea utilizzando il seguente comando:
    jar xf yourfile.jar META-INF
  2. Eseguire ProbeInstrumenter normalmente per applicare il contenuto del file jar.
  3. Inserire il contenuto della directory temporanea META-INF nel file jar applicato con il seguente comando:
    jar uf yourfile.jar META-INF
  4. Rimuovere la directory temporanea META-INF.

Nota: risolto nella Versione 6.0.0.1.

1.4.2 Il programma ProbeInstrumenter produce un'eccezione durante l'applicazione di alcune classi

Difetto Bugzilla:68435
Durante l'applicazione di alcune classi, il programma "ProbeInstrumenter" di Probekit, attiva un'eccezione con il seguente messaggio di errore:

Probe Kit Exception number 4 from location 3

La causa di questa eccezione sono i metodi che contengono codici di byte non raggiungibili dopo l'ultima istruzione raggiungibile di un metodo. Alcuni compilatori Java producono tale codice.

Attualmente, non esiste alcuna soluzione per questo problema.

Nota: risolto nella Versione 6.0.0.1.

1.5 Strumento di creazione profili

1.5.1 Problemi con la raccolta dati quando si utilizza IBM JDK 1.4.1

56182

Se l'applicazione dell'utente utilizza un quantità eccessiva di spazio heap, l'esecuzione dei comandi Raccogli i riferimenti all'oggetto o Esegui GC, può causare l'arresto anomalo della JVM con il seguente messaggio di errore:

 **Out of memory, aborting**

*** panic: JVMCI023: Cannot allocate memory to collect heap dump in jvmpi_heap_dump

abnormal program termination

È possibile risolvere questo problema eseguendo il comando senza il parametro -Xmx.

1.5.2 Con Sun JDK, alcune chiamate ai metodi non vengono registrate

Difetto Bugzilla: 69051

Utilizzando Sun JDK su Windows, alcune chiamate al metodo nel programmi Java non vengono registrate da JVMPI.

Attualmente, non esiste alcuna soluzione per questo problema.

1.5.3 La creazione profili su Solaris utilizzando Sun JDK 1.4.x potrebbe causare l'arresto della JVM

Difetto Bugzilla: 56404
Quando si esegue la creazione profili su Solaris utilizzando Sun JDK 1.4.x, potrebbe verificarsi un arresto anomalo della JVM. Questo accade a causa di un difetto nella Sun JVM.

Per risolvere questo problema, utilizzare solo uno dei seguenti insiemi di creazione profili:

Il problema si presenta se si utilizzano le due opzioni in combinazione, o se l'opzione "Mostra livello istanza" è attivata.

1.5.4 Probabile arresto anomalo durante l'esecuzione in modalità autonoma con STACK_INFORMATION=contiguous su Solaris

Difetto Bugzilla: 50090
Quando la creazione profili viene eseguita su Solaris, è possibile che si verifichino problemi con la creazione profili autonoma. Il problema si verifica solo quando STACK_INFORMATION=contiguous (o boundaryAndContiguous) e TRACE_MODE=full. Questo problema potrebbe causare l'arresto della JVM.

Per risolvere questo problema con STACK_INFORMATION=contiguous, impostare TRACE_MODE=noObjectCorrelation. Il problema non si verifica quando STACK_INFORMATION=none o STACK_INFORMATION=normal.

1.5.5 Valori di timeout negativi per gli eventi WAIT e WAITED

Difetto Bugzilla: 63969

Quando l'esecuzione viene effettuata con IBM 1.4.2 JDK, con l'opzione di profilo jvmpi Hyades 'MONITOR_MODE=all' (in modalità autonoma), è possibile che vengano visualizzati attributi di timeout negativi o elementi monitorWait e monitorWaited nella traccia. Si tratta di valori di timeout estremamente elevati sottoposti a cast come numeri interi positivi di 64 bit. Questo difetto viene causato da un difetto di JDK.

1.5.6 Controllo dump non corretto con IBM JDK 1.4.2

Difetti Bugzilla: 65193 e 72180

A causa di un difetto JDK, quando si esegue Hyades in modalità autonoma con l'opzione di profilo jvmpi 'MONITOR_MODE=all', è possibile che si ricevano dump di controllo non corretti. In particolare per il difetto 65193, questo succede quando viene utilizzato l'argomento VM '-Xj9'.

1.6 Console statistica

N/D

1.7 Verifica

1.7.1 Problemi di verifica comuni

1.7.1.1 Le verifiche JUnit, Manuale e URL non funzionano su iSeries

Difetto Bugzilla:68899

1.7.1.2 La distribuzione e l'esecuzione automatica delle verifiche utilizzando piattaforme eterogenee non funziona

Difetto Bugzilla:67677

L'esecuzione/distribuzione automatica delle verifiche sui sistemi remoti in esecuzione su piattaforme eterogenee (Windows a Linux o Unix, e viceversa) non funziona. Le informazioni sulle modalità di esecuzione delle verifiche in remoto sono riportate alla sezione Esecuzione in remoto di questo documento.

1.7.1.3 Esecuzione in remoto con distribuzione manuale

Difetto Bugzilla: 68910
Le verifiche comuni (URL, JUnit o Manuale) generalmente vengono effettuate con il workbench (UI Eclipse) installato su una macchina basata su Windows e l'esecuzione remota in corso su un sistema Linux o Unix. Attualmente, la distribuzione automatica non funziona nelle diverse piattaforme. Tuttavia le esecuzioni possono essere eseguite in remoto. Il file che rappresenta la verifica da eseguire, deve essere trasferito (tramite FTP) dal sistema in cui è stato creato al sistema in cui verrà eseguito. Il programma di raccolta dati, o RAC, deve essere configurato in modo da fare riferimento alla risorsa di verifica trasferita.

Quando il codice di byte per una verifica viene compilato, viene memorizzato nella directory bin del progetto Java in cui è stata creata la verifica. Esempio:

[ECLIPSE_HOME]/workspace/project1/bin/test/URLTest.class

Un metodo per inserire questo file in un pacchetto per l'esecuzione su un sistema remoto è di creare un file jar. I comandi mostrati di seguito mostrano come eseguire questa operazione.

    "cd [ECLIPSE_HOME]/workspace/project1/bin"
"jar -cf test.jar test"

Il file test.jar può essere trasferito nella struttura di directory del programma di raccolta dati sulla macchina remota.

Successivamente, modificare il file [RAC_HOME]/config/serviceconfig.xml in modo che faccia riferimento al file test.jar mostrato di seguito.

	<AgentControllerEnvironment configuration="default">
...
...
<Variable name="CLASSPATH" position="append" value="%RASERVER_HOME%/test/test.jar"/>
</AgentControllerEnvironment>

Quando la verifica viene avviata dal workbench, il programma di raccolta dati avrà un percorso classi che indica il percorso della verifica, quindi la verifica potrà essere eseguita.

1.7.1.4 Accesso ai pool di dati

Difetto Bugzilla:68911
Nella documentazione che descrive l'accesso ai pool di dati da una verifica Hyades manca un passaggio e contiene codice di esempio che non funziona correttamente.

Al percorso di generazione Java è necessario aggiungere i seguenti jar. [ECLIPSE_HOME] è la directory in cui è stato installato Eclipse.

	[ECLIPSE_HOME]/plugins/org.eclipse.hyades.models.common_3.0.0/common_model.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.test.datapool_3.0.0/datapool_api.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.0/runtime/ecore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.0/runtime/common.jar

Il seguente frammento di codice dimostra come accedere a un pool di dati ed estrarre correttamente le informazioni.  

	IDatapoolFactory dpFactory = new Common_DatapoolFactoryImpl();
IDatapool datapool = dpFactory.load(new File("d:\\hyades3.0\\workspace\\testproj\\dpoo1.datapool"), false);
IDatapoolIterator iter = dpFactory.open(datapool, "org.eclipse.hyades.datapool.DatapoolIteratorSequentialPrivate");
iter.dpInitialize(datapool, -1);

while (!iter.dpDone())
{
String firstName = iter.dpCurrent().getCell("First Name").getStringValue();
// your code here
iter.dpNext();
}

1.7.2 Verifica URL Hyades

1.7.2.1 I prospetti Tempo di risposta e Conteggio accessi non visibili nel pannello Selezione verifiche

Difetto Bugzilla:68553
I prospetti Tempo di risposta e Conteggio accessi non visibili nel pannello Selezione verifiche. I prospetti possono essere trovati aprendo il progetto in cui sono stati creati nella prospettiva 'Risorsa'.

1.7.2.2 Il registratore di verifiche URL visualizza "IWAT3042E registrazione interrotta a causa dell'eccezione: null"

Difetto Bugzilla:66199
Quando Eclipse viene avviato con l'argomento '-Xj9', dopo un certo numero di registrazioni, la vista 'Controllo registratore' visualizzerà la seguente eccezione "IWAT3042E registrazione interrotta a causa dell'eccezione: null". Per risolvere il problema chiudere e riavviare Eclipse.

1.7.2.3 Esecuzione di verifiche URL come verifiche JUnit

Le verifiche URL Hyades possono essere eseguite come verifiche JUnit. Per eseguire questo tipo di verifica, sarà necessario aggiungere le seguenti voci al percorso di generazione Java de progetto contenente la verifica URL:

      [ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.0.0/hlcore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.0.0/hlcbe101.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.0/runtime/ecore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.java14_3.0.0/hl14.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.0/runtime/common.jar

1.7.2.4 Esecuzione dell'esempio di verifica URL

L'esempio di verifica URL non può essere eseguito direttamente dopo la creazione. Affinché possa essere eseguito correttamente, è necessario configurare due risorse. La variabile CLASSPATH dell'artifact1 deve fare riferimento al percorso dello spazio di lavoro sulla macchina:

	[ECLIPSE_HOME]/eclipse/workspace/URL Test Sample/bin

La variabile ROOTDIR di location1 deve fare riferimento alla directory che rappresenta lo spazio di lavoro

	[ECLIPSE_HOME]/workspace

Il nome predefinito della verifica di esempio URL contiene spazi. Questa situazione potrebbe creare problemi per alcuni sistemi operativi. Il nome dell'esempio può essere modificato al momento della creazione.

1.7.2.5 Il file readme.html dell'esempio di verifica URL fa riferimento incorrettamente alla 'Verifica componenti'

Difetto Bugzilla:68910

La pagina Web dell'esempio di verifica URL fa riferimento alla sezione della guida in linea 'Verifica componenti' che non esiste. La pagina Web dovrebbe indicare la sezione 'Verifica' della guida in linea.

Visualizza il file Readme principale