Category Archives: loadrunner

LoadRunner related troubleshooting tips

HPE Diagnostics User Interface freezes or hangs

Having launched the HPE Diagnostics User Interface (UI) by clicking on “Open Diagnostics” (or “Open in This Window”) and entering a user name and password, performing an action such as viewing the data for long periods (days or weeks) for all Java Probes may result in the UI freezing and no further actions being possible. This issue may occur in a larger Diagnostics environment where there are many Mediators and numerous probes.

Once the Diagnostics UI has frozen no recovery is possible and the browser tab displaying the UI must be closed. The UI can then be opened in a separate browser tab (or new browser instance) however it is likely that the freeze behavior will re-occur.

A possible cause is that the Java applet which runs the Diagnostics UI has insufficient memory such that while the UI is performing the user action, the applet process runs out of memory and terminates. When this process terminates, the UI remains visible in the browser but is no longer functional.

To confirm that the Java applet process is terminating, open the Windows Task Manager and locate the process named “jp2launcher.exe”. This process will appear while the Diagnostics UI is being initialised (after the user name and password are validated):

image text

If the “jp2launcher.exe” is no longer visible when the Diagnostics UI freezes, then the process may have run out of memory.

A workaround for this issue is to increase the heap (memory) available to the Java applet. This can be done by modifying the Java runtime parameters as follows:

1) Open the Windows Control Panel and search using “Java” to locate the “Java (32-bit)” Control Panel entry. Click on the entry to open the Java Control Panel:

image text

Note: If there is no “Java (32-bit)” Control Panel entry this may be due to there being multiple Java versions installed on the client platform. Locate the Java 32-bit installed in a folder under “C:\Program Files (x86)” (typically “C:\Program Files (x86)\Java\jre7\bin”) and execute the file “javacpl.exe” using right-click “Run as administrator”.

2) Click on the “Java” tab and then on the “View” button to open the “Java Runtime Environment Settings” dialog.

3) The default heap size is typically 256MB however this may be system dependent. The actual process memory size can be seen in the Windows Task Manager before the process terminates. Specify a larger heap size and test to see if the UI freeze remains present – increase as needed. The following example confgure a 700MB heap however up to 1GB (“-Xmx1G”) may be used (as this is a 32-bit process memory is limited):

image text

Advertisements

LoadRunner Upload – Download file / Operative System 4 GB Memory Limitation

Each operating system has a physical memory limit which reciprocally define the boundaries for memory and address space that can be used by the processes, services, objects and services executed over the current operative system version.

Following is the memory limits that are present in Windows OS and how it affects the mdrv.exe process emulation when uploading/downloading large files, generating a reaction where the mdrv will crash, hangs or result in a memory violation.

 The implementation of LR file uploading/downloading is not optimized for huge file. It always reads all the files to memory before upload. That means, for files with 1 GB in size, mdrv has to   obtain 1 GB sequential memory space in the process for each Vuser. However, mdrv is a 32 bit process. In windows system, a 32 bit process has at most 4 GB in memory space, and only 2 GB of them can be used by developer. If the user tries to upload a file with 2 GB in size, it is almost impossible to find proper memory for it, since the other functions will also use some memory.

When the file size is smaller, like 500 MB to 1 GB, it will be possible to make the upload successful. But when we run the script in controller, we should make the Vuser run in process mode.

From the Operating System perspective and as a workaround it is possible to switch the memory use and memory address space allocation to 3 GB for the application and less 1 GB for the operating system.

In order to increase the memory and address space to 3 GB limit we need to be implement the following steps.

  1. Right-click on the Command Prompt icon in the Accessories program group of the Start menu. Click Run as Administrator.
  2. At the command prompt, enter:

bcdedit /set IncreaseUserVa 3072

  1. Restart the computer.
  2. Run the script one more time in VuGen and in the Controller using the LG as process.

For disabling  the  memory increase here is the command.

  1. Right-click on the Command Prompt icon in the Accessories program group of the Start menu. Click Run as Administrator.
  2. At the command prompt, enter:

bcdedit /deletevalue IncreaseUserVa

  1. Restart the computer.

Error -27732: Internal Error – can’t get initial credentials for username/password

The following error appears in web based protocol replay:

Error -27732: Internal Error – can’t get initial credentials for username/password

Wrong configuration of the required elements to make the script replay while using Kerberos authentication

Wrong username password:

  1. In the script go to the web_set_user function
  2. Verify that the username and password specified are correct

Wrong KDC IP:

  1. Open the windows environment settings
  2. Check the krb5.ini location specified in KRB5_COFIG
  3. Open the krb5.ini in an editor
  4. Check the KDC IP specified is as seen in wireshark recording of the application

Error -27732: Internal Error – can’t parse username

The following error message appears during the replay of web based script:

Error -27732: Internal Error – can’t parse username

The KRB5_CONFIG was defined under the System variables. Currently only exact path name is supported.

  1. Open the Windows’ Environment Variables
  2. Search for KRB5_CONFIG in System variables
  3. Verify the path is exact (For example don’t use %windir%)
  4. Correct and save the file path
  5. Restart VuGen

Not able to start LR agent process with multiple terminal session

Not able to start LR agent process with multiple terminal session

Error logs while trying to start second Agent, just can start one Agent:
Error: Communication error: Failed to bind socket while calling bind function. [MsgId: MERR-10344]
19/02/2013 09:20:05 Error: Two Way Communication Error: Function two_way_comm_create_acceptor failed. [MsgId: MERR-60999]

Get inside agent configuration and click the check box for “Terminal Services”.  Not needed to use the Terminal Services side in the Controller, but it needs to be checked on the load generators.

Record IE 11 with Web (HTTP/HTML) protocol using TLS 1.1/1. 2 in VuGen 11.52

A hot fix has been created to enable:

  1. recording of Internet Explorer 11 and
  2. adding TLS 1.1 and TLS 1.2 support in VuGen 11.52

It can be downloaded using the below link: Download hotfix

Please follow the steps below to apply the hotfix:

  1. Go to the installation folder of LoadRunner, VuGen or Performance Center host
  2. Backup the original files in the bin and dat folders.
  3. Copy the hotfix files to the bin and dat folders respectively and replace the original files.
  4. Restart VuGen and try recording the business process in Internet Explorer 11 with TLS 1.1 and TLS 1.2 enabled in Internet Explorer Advanced Options.

Please note that the patch is needed for recording and should not be installed on Load Generator standalone machines.

LoadRunner Error: Data at the root level is invalid

The following error is received when an attempt for a manual correlation of a value is made:

Error: Data at the root level is invalid. Line 1, position 1

The issue is caused by some snapshots containing an invalid XML code. This causes an exception and fails the correlation process.

The issue is fixed in VuGen 12.50. For VuGen 12.02, use the following fix:

  1. Download the attached CorrelationBackEnd.dll
  2. Backup the CorrelationBackEnd.dll in <vugen_installation_folder>\bin directory
  3. Replace with the downloaded one