Bug in pgprof

Hi Folks,

I had some problems with invoking the pgiprof. I got the following error message:

pgprof-Error-Java …_ does not meet required minimum version 1.6.0_0

The reason was that the environment variable JAVA_TOOL_OPTIONS is set to “-Xmx512m”. Obviously the pgprof binary greps for this variable and does not find the java runtime environment after that:

$strace pgprof

execve(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/bin/pgprof”, [“pgprof”], [/* 177 vars */]) = 0
brk(0) = 0x52f000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaaab000
uname({sys=“Linux”, node=“linuxc2.rz.RWTH-Aachen.DE”, …}) = 0
access(“/etc/ld.so.preload”, R_OK) = -1 ENOENT (No such file or directory)
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/libso/tls/x86_64/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/libso/tls/x86_64”, 0x7fffffffbfe0) = -1 ENOENT (No such file or directory)
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/libso/tls/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/libso/tls”, 0x7fffffffbfe0) = -1 ENOENT (No such file or directory)
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/libso/x86_64/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/libso/x86_64”, 0x7fffffffbfe0) = -1 ENOENT (No such file or directory)
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/libso/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/libso”, {st_mode=S_IFDIR|0775, st_size=8192, …}) = 0
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/lib/tls/x86_64/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/lib/tls/x86_64”, 0x7fffffffbfe0) = -1 ENOENT (No such file or directory)
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/lib/tls/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/lib/tls”, 0x7fffffffbfe0) = -1 ENOENT (No such file or directory)
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/lib/x86_64/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/lib/x86_64”, 0x7fffffffbfe0) = -1 ENOENT (No such file or directory)
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/lib/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/lib”, {st_mode=S_IFDIR|0775, st_size=8192, …}) = 0
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-32/10.6/lib/tls/x86_64/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-32/10.6/lib/tls/x86_64”, 0x7fffffffbfe0) = -1 ENOENT (No such file or directory)
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-32/10.6/lib/tls/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-32/10.6/lib/tls”, 0x7fffffffbfe0) = -1 ENOENT (No such file or directory)
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-32/10.6/lib/x86_64/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-32/10.6/lib/x86_64”, 0x7fffffffbfe0) = -1 ENOENT (No such file or directory)
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-32/10.6/lib/libc.so.6”, O_RDONLY) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-32/10.6/lib”, {st_mode=S_IFDIR|0775, st_size=8192, …}) = 0
open(“/etc/ld.so.cache”, O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=160701, …}) = 0
mmap(NULL, 160701, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2aaaaaaac000
close(3) = 0
open(“/lib64/libc.so.6”, O_RDONLY) = 3
read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\332\201\3561\0\0\0”…, 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1713096, …}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaad4000
mmap(0x31ee800000, 3494168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x31ee800000
mprotect(0x31ee94c000, 2097152, PROT_NONE) = 0
mmap(0x31eeb4c000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14c000) = 0x31eeb4c000
mmap(0x31eeb51000, 16664, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x31eeb51000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaad5000
arch_prctl(ARCH_SET_FS, 0x2aaaaaad5210) = 0
mprotect(0x31eeb4c000, 16384, PROT_READ) = 0
mprotect(0x31ed81b000, 4096, PROT_READ) = 0
munmap(0x2aaaaaaac000, 160701) = 0
rt_sigaction(SIGINT, {0x407aec, [INT], SA_RESTORER|SA_RESTART, 0x31ee830280}, {SIG_DFL, , 0}, 8) = 0
rt_sigaction(SIGKILL, {0x407aec, [KILL], SA_RESTORER|SA_RESTART, 0x31ee830280}, {SIG_DFL, , 0}, 8) = -1 EINVAL (Invalid argument)
rt_sigaction(SIGHUP, {0x407aec, [HUP], SA_RESTORER|SA_RESTART, 0x31ee830280}, {SIG_DFL, , 0}, 8) = 0
brk(0) = 0x52f000
brk(0x550000) = 0x550000
getcwd(“/rwthfs/rz/cluster/home/pk224850”, 299) = 33
stat(“/rwthfs/rz/cluster/home/pk224850/pgprof”, 0x7fffffffc9b0) = -1 ENOENT (No such file or directory)
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/bin/pgprof”, {st_mode=S_IFREG|0775, st_size=190168, …}) = 0
geteuid() = 14916
getegid() = 14916
getgroups(0, NULL) = 11
getgroups(11, [2020, 2023, 2040, 2041, 10008, 13921, 14309, 14539, 14916, 15592, 16447]) = 11
getcwd(“/rwthfs/rz/cluster/home/pk224850”, 299) = 33
chdir(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/bin”) = 0
getcwd(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin”, 299) = 60
chdir(“/rwthfs/rz/cluster/home/pk224850”) = 0
chdir(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/bin”) = 0
getcwd(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin”, 299) = 60
chdir(“/rwthfs/rz/cluster/home/pk224850”) = 0
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/.pgprofrc”, {st_mode=S_IFREG|0664, st_size=522, …}) = 0
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/.pgprofrc”, O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0664, st_size=522, …}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaaac000
read(3, “# PGPROF linux configuration\n#\n#”…, 4096) = 522
uname({sys=“Linux”, node=“linuxc2.rz.RWTH-Aachen.DE”, …}) = 0
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/pgtoolsrc”, {st_mode=S_IFREG|0664, st_size=119, …}) = 0
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/pgtoolsrc”, O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0664, st_size=119, …}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaaad000
read(4, “\n# NoRun phase is a convenient p”…, 4096) = 119
read(4, “”, 4096) = 0
read(4, “”, 4096) = 0
close(4) = 0
munmap(0x2aaaaaaad000, 4096) = 0
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/pgtlinrc”, {st_mode=S_IFREG|0664, st_size=1373, …}) = 0
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/pgtlinrc”, O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0664, st_size=1373, …}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaaad000
read(4, “variable OSTARGET is default”…, 4096) = 1373
read(4, “”, 4096) = 0
read(4, “”, 4096) = 0
close(4) = 0
munmap(0x2aaaaaaad000, 4096) = 0
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/pgtjavarc”, {st_mode=S_IFREG|0664, st_size=4657, …}) = 0
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/pgtjavarc”, O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0664, st_size=4657, …}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaaad000
read(4, “variable PGIJAVA is environment(”…, 4096) = 4096
read(4, "TER.$(JMINOR)$JBUILD does not m"…, 4096) = 561
read(4, “”, 4096) = 0
read(4, “”, 4096) = 0
close(4) = 0
munmap(0x2aaaaaaad000, 4096) = 0
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/pgprofrc”, {st_mode=S_IFREG|0664, st_size=5678, …}) = 0
open(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/pgprofrc”, O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0664, st_size=5678, …}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaaad000
read(4, “#\n# Copyright 2009-2010, STMicro”…, 4096) = 4096
read(4, “the java JVM,\n # Jpgprof”…, 4096) = 1582
read(4, “”, 4096) = 0
read(4, “”, 4096) = 0
close(4) = 0
munmap(0x2aaaaaaad000, 4096) = 0
read(3, “”, 4096) = 0
read(3, “”, 4096) = 0
close(3) = 0
munmap(0x2aaaaaaac000, 4096) = 0
geteuid() = 14916
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/…/jre/bin/java”, {st_mode=S_IFREG|0775, st_size=47308, …}) = 0
brk(0x577000) = 0x577000
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64/linux86-64/10.6/bin/xrefresh”, 0x7fffffffc9b0) = -1 ENOENT (No such file or directory)
stat(“/opt/sun/java/x86_64/jdk1.6.0_20/bin/xrefresh”, 0x7fffffffc9b0) = -1 ENOENT (No such file or directory)
stat(“/home/pk224850/bin/xrefresh”, 0x7fffffffc9b0) = -1 ENOENT (No such file or directory)
stat(“/usr/local_host/sbin/xrefresh”, 0x7fffffffc9b0) = -1 ENOENT (No such file or directory)
stat(“/usr/local_host/bin/xrefresh”, 0x7fffffffc9b0) = -1 ENOENT (No such file or directory)
stat(“/usr/local_rwth/sbin/xrefresh”, 0x7fffffffc9b0) = -1 ENOENT (No such file or directory)
stat(“/usr/local_rwth/bin/xrefresh”, 0x7fffffffc9b0) = -1 ENOENT (No such file or directory)
stat(“/usr/bin/xrefresh”, {st_mode=S_IFREG|0755, st_size=12736, …}) = 0
geteuid() = 14916
getegid() = 14916
getgroups(0, NULL) = 11
getgroups(11, [2020, 2023, 2040, 2041, 10008, 13921, 14309, 14539, 14916, 15592, 16447]) = 11
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/…/jre/bin/java”, {st_mode=S_IFREG|0775, st_size=47308, …}) = 0
geteuid() = 14916
getegid() = 14916
getgroups(0, NULL) = 11
getgroups(11, [2020, 2023, 2040, 2041, 10008, 13921, 14309, 14539, 14916, 15592, 16447]) = 11
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/Jpgprof.jar”, {st_mode=S_IFREG|0775, st_size=1552613, …}) = 0
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/CcffReader.jar”, {st_mode=S_IFREG|0775, st_size=29268, …}) = 0
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/PGutil.jar”, {st_mode=S_IFREG|0775, st_size=10618, …}) = 0
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/jpgdbg.jar”, {st_mode=S_IFREG|0775, st_size=391216, …}) = 0
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/jh.jar”, {st_mode=S_IFREG|0775, st_size=500623, …}) = 0
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/PGcomp.jar”, {st_mode=S_IFREG|0775, st_size=34404, …}) = 0
stat(“/rwthfs/rz/SW/PGI/PGI_10.6_CENTOS_64bit/linux86-64/10.6/bin/PGlaf.jar”, {st_mode=S_IFREG|0775, st_size=28941, …}) = 0
pipe([3, 4]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2aaaaaad52a0) = 23908
close(4) = 0
fstat(3, {st_mode=S_IFIFO|0600, st_size=0, …}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaaac000
read(3, “Picked up JAVA_TOOL_OPTIONS: -Xm”…, 4096) = 38
pipe([4, 5]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2aaaaaad52a0) = 23911
close(5) = 0
fstat(4, {st_mode=S_IFIFO|0600, st_size=0, …}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaaad000
read(4, “Picked up JAVA_TOOL_OPTIONS: -Xm”…, 4096) = 38
pipe([5, 6]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2aaaaaad52a0) = 23918
close(6) = 0
fstat(5, {st_mode=S_IFIFO|0600, st_size=0, …}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaaae000
read(5, “Picked up JAVA_TOOL_OPTIONS: -Xm”…, 4096) = 38
pipe([6, 7]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2aaaaaad52a0) = 23928
close(7) = 0
fstat(6, {st_mode=S_IFIFO|0600, st_size=0, …}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaaaf000
read(6, “Picked up JAVA_TOOL_OPTIONS: -Xm”…, 4096) = 38
write(2, “pgprof-Error-”, 13pgprof-Error-) = 13
write(2, "Java …
does not meet required "…, 56Java …_ does not meet required minimum version 1.6.0_0
) = 56
write(2, “\n”, 1
) = 1
exit_group(1) = ?


After unsetting the variable it was possible to start pgprof. it is possible to fix this?

cheers,
Tim

Anybody out there?

Apologies for the delay.

As a workaround, you can invoke pgprof with the argument ‘-jarg,Xmx512m’, which will pass your requested heap size through to the JVM.

This is probably best handled with a problem report. I’ve created one. Please send an email to trs@pgroup.com asking to be added to the notification list for TPR #17101.

thanks
–Don