IBM Support

IBM Java for AIX HowTo: Resolving "Symbol resolution failed for /usr/lib/libperfstat.a[shr_64.o] " messages when starting IBM Java

Question & Answer


Question

IBM Java for AIX HowTo: Resolving "Symbol resolution failed for /usr/lib/libperfstat.a[shr_64.o] " messages when starting IBM Java

Answer

When using IBM Java for AIX, some customers have reported messages similar to one of the following:

A. Sample Error Message #1
libjvm.so preloadLibrary.../default/libj9vm24.so): 0509-130 Symbol resolution failed for /usr/lib/libperfstat.a[shr_64.o] because:
0509-136 Symbol ptx_get_ifnets64 (number 97) is not exported from dependent module /unix.
0509-022 Cannot load module .../default/libj9vm24.so.
0509-026 System error: Cannot run a file that does not have a valid format.
0509-192 Examine .loader section symbols with the 'dump -Tv' command.
libjvm.so failed to load: j9vm24


B. Sample Error Message #2
libjvm.so preloadLibrary [ ... /default/libj9vm24.so): Symbol resolution failed for /usr/lib/libperfstat.a[shr_64.o] because:
Symbol ptx_numblock_devstats (number 99) is not exported from dependent module /unix.
Symbol ptx_block_devstats (number 100) is not exported from dependent module /unix.
Symbol ptx_block_devstat (number 101) is not exported from dependent module /unix.
Symbol ptx_tune_bio_device_stats (number 102) is not exported from dependent module /unix.
Symbol ptx_get_numdkstats (number 103) is not exported from dependent module /unix.
Symbol ptx_get_numdkstats_wpar (number 104) is not exported from dependent module /unix.
Additional errors occurred but are not reported.
Examine .loader section symbols with the 'dump -Tv' command.
libjvm.so failed to load: j9vm24


when attempting to start the IBM JVM (Java process). When this error occurs, neither the Java application or JVM (Java process) will start.

FYI: the "number" values (e.g., number ###) may be different depending on the AIX operating system level.

In some cases, the above errors will also occur when executing other AIX commands such as netstat, nmon, lpstat, and the messages may occur when booting AIX LPARs.

These errors occur due to an AIX confguration issue and not due to an issue while using IBM Java for AIX.

This document provides step-by-step procedures for solving the above messages.
Overview
Details

Overview


Error messages similar to the ones listed at the top of this article may occur when some base operating system libraries are:

1. Installed at older levels and need to be upgraded
2. Not at a consistent level with other base operating system libraries
3. Not correctly loaded into the system kernel


The above conditions may be the result of one or more bos.* filesets (e.g., bos.perf.perfstat, bos..perf.libperfstat, bos.mp64, bos.rte.libc, bos.rte.control, bos.rte.compare)

1. Not havng been installed at the correct or current levels
2. Having become inconsistent due to the manner in which AIX updates have been applied
3. Having become inconsistent due to an incomplete installation or upgrade
4. Having become inconsistent due to a failed installation or upgrade


Please follow all of the instructions listed below to resolve this known issue.

When contacting IBM Support, the support specialists will request confirmation that all of these steps have been completed and the inconsistences have been corrected.

Step A

Resolve Maintenance Level Inconsistencies


The first step in resolving these messages is to work with the system administrator(s) to identify and resolve all mainteance level inconsistencies by performing the following steps:


1. Execute the following commands, while logged in as the root user, from a command prompt:

# oslevel -rl "$( oslevel -rq | sort -n | tail -1 )" 2>&1 | tee /tmp/oslevel-rl.out


2. Resolve all inconsistencies reported in the file /tmp/oslevel-rl.out file.

3. Repeat steps A.1 and A.2 until all inconsistencies have been resolved and no inconsistences are reported in the /tmp/oslevel-rl.out file.

4. Start the Java application (or run the command java -version). If the messages continue to be displayed, proceed to Step B. Resovle Service Level Inconsistencies.

Step B

Resolve Service Level Inconsistencies


The next step is to continue to work with the system administrator(s) to identify and resolve all service level inconsistencies by performing the following steps:


1. Execute the following commands, while logged in as the root user, from a command prompt:

# oslevel -sl "$( oslevel -qs | sort -n | tail -1 )" 2>&1 | tee /tmp/oslevel-sl.out


2. Resolve all inconsistencies reported in the file /tmp/oslevel-sl.out file.

3. Repeat steps B.1 and B.2 until all inconsistencies have been resolved and no inconsistences are reported in the /tmp/oslevel-sl.out file.

4. Start the Java application (or run the command java -version). If the messages continue to be displayed, proceed to Step C. Resovle lppchk Inconsistencies.

Step C

Resolve lppchk Inconsistencies


The next step is to continue to work with the system administrator(s) to identify and resolve all lppchk inconsistencies by performing the following steps:


1. Execute the following commands, while logged in as the root user, from a command prompt:

# lppchk -v 2>&1 | tee /tmp/lppchk-v.out


2. Resolve all inconsistencies reported in the file /tmp/lppchk-v.out file.

3. Repeat steps C.1 and C.2 until all inconsistencies have been resolved and no inconsistences are reported in the /tmp/lppchk-v.out file.

4. Start the Java application (or run the command java -version). If the messages continue to be displayed, proceed to the next step (step C.5).

5. Execute the following commands, while logged in as the root user, from a command prompt:

{Warning: this command performs an extensive file verification check and will take several minutes to complete}

# lppchk -c 2>&1 | tee /tmp/lppchk-c.out



6. Resolve all inconsistencies reported in the file /tmp/lppchk-c.out file.

7. Repeat steps C.5 and C.6 until all inconsistencies have been resolved and no inconsistences are reported in the /tmp/lppchk-c.out file.

8. Start the Java application (or run the command java -version). If the messages continue to be displayed, proceed to Step D. Reboot the LPAR.

Step D

Resolve bos.* Inconsistencies


The next step is to continue to work with the system administrator(s) to identify and resolve bos.* fileset inconsistencies by performing the following steps:


1. Execute the following commands, while logged in as the root user, from a command prompt:

# lslpp -l "bos.mp64" "bos.rte.*" "bos.perf*" 2>&1 | tee /tmp/lspp-l-bos.out


2. Verify that the highest level for all of the filesets is the same for both the Path: /usr/lib/objrepos and Path: /etc/objrepos sections. If the highest levels are not consistent, then take the appropriate actions to ensure the levels are consistent.

3. Start the Java application (or run the command java -version). If the messages continue to be displayed, proceed to the next step (step D.4).

4. Once it has been confirmed that the highest installed level is consistance and the messages continue to be displayed, download and install the most current level for all of the bos.perf.* filesets (especially the bos.perf.perfstat and bos.perf.libperfstat)

5. Start the Java application (or run the command java -version). If the messages continue to be displayed, proceed to the Step E. Reboot the LPAR.

Step D

Reboot the LPAR


In rare situations, customers have reported that rebooting the LPAR had resolved the situation. If after rebooting the LPAR the messages no longer appear, that is an indication that the state of some system libraries became inconsistent in the kernel. The reboot re-initialiizes the state of these libraries. This should be a one time operation.

Step E

Getting Support

If, after completing all of the above steps, the messages continue to occur, please follow these actions:


1. Contact IBM to open a new IBM Support Call

a. If assistance is required to resolve the inconsistencies reported by oslevel and lppchk, request for the call to be routed to the AIX Install Team.
b. If there are no inconsistencies reported by oslevel and lppchk and the issue continues, request for the call to be routed to the AIX Kernel Team.


2. When opening the support call, confirm that you have completed all steps in this document.


3. Collect and package the following data to your IBM Support Call (a.k.a. PMR)

a. The /tmp files created in the above steps (i.e., /tmp/oslevel-rl.out, /tmp/oslevel-sl.out, /tmp/lppchk-v.out, /tmp/lppchk-c.out)
b. An AIX system snap (e.g., the command "snap -ac")

4. Upload the packaged data

Using one of the IBM secure upload methods listed on the "IBM Java for AIX MustGather: How to upload diagnostic data and testcases to IBM" web page, upload the packaged data:

http://www-01.ibm.com/support/docview.wss?uid=isg3T1022619

Section 8

Section 9

Section 10

Section 11

Section 12

Section 13

Section 14

Section 15

Section 16

Section 17

Section 18

Section 19

Section 20

Section 21

Document Type: Technical Document
Content Type: General
Hardware: all Power
Operating System: all AIX Versions
IBM Java: all Java Versions
Author(s): Roger Leuckie
Reviewer(s): Barkat Mohammad

[{"Product":{"code":"SG9NGS","label":"IBM Java"},"Business Unit":{"code":null,"label":null},"Component":"Not Applicable","Platform":[{"code":"PF002","label":"AIX"}],"Version":"Version Independent","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
17 June 2018

UID

isg3T1024505