1. Install Web Server 7.0 U1 as *non-root* from /java/re/sjsws/7.0u1/promoted/fcs/b13/bundles/linux
2. Start https-<config> instance as *root* (https-<config>/bin/startserv)
You will see the below warning during the startup:
warning: CORE3283: stderr: Java HotSpot(TM) Server VM warning: Can't detect initial thread stack location - find_vma failed
My evaluation:
--------------
strace output shows:
------------------------------------
[pid 3276] open("/proc/self/maps", O_RDONLY) = -1 EACCES (Permission denied)
[pid 3276] write(2, "Java HotSpot(TM) Server VM warni"..., 36) = 36
[pid 3283] <... poll resumed> [{fd=14, events=POLLIN|POLLPRI, revents=POLLIN}], 1, 5000) = 1
[pid 3276] write(2, "Can\'t detect initial thread stac"..., 61 <unfinished ...>
[pid 3283] read(14, <unfinished ...>
[pid 3276] <... write resumed> ) = 61
[pid 3283] <... read resumed> "Java HotSpot(TM) Server VM warni"..., 4096) = 97
[pid 3276] getrlimit(RLIMIT_NOFILE, <unfinished ...>
[pid 3283] write(11, "warning", 7 <unfinished ...>
[pid 3276] <... getrlimit resumed> {rlim_cur=1024, rlim_max=1024}) = 0
warning[pid 3283] <... write resumed> ) = 7
[pid 3276] setrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024} <unfinished ...>
[pid 3283] write(11, ": CORE3283: stderr: Java HotSpot"..., 117 <unfinished ...>
[pid 3276] <... setrlimit resumed> ) = 0
: CORE3283: stderr: Java HotSpot(TM) Server VM warning: Can't detect initial thread stack location - find_vma failed
------------------------------------
The above strace output indicates that the attempt to open /proc/self/maps fails.
This happens when the *login user* is root and *webserver user* is non-root.
See below. This is another run. Don't try to relate the pids above.
[root@dhcp-usca17-121-3 bin]# ps -ef | grep web
root 3688 1 0 06:08 ? 00:00:00 webservd-wdog -d /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ/https-test/config -r /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ -t /tmp/https-test-2726adae -u meduri
root 3689 3688 2 06:08 ? 00:00:00 webservd -d /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ/https-test/config -r /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ -t /tmp/https-test-2726adae -u meduri
meduri 3691 3689 51 06:08 ? 00:00:09 webservd -d /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ/https-test/config -r /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ -t /tmp/https-test-2726adae -u meduri
This tells
root owns 3688
root owns 3689
meduri owns process 3691
[root@dhcp-usca17-121-3 bin]# ls -l /proc/3691/maps
-r-------- 1 root root 0 Aug 15 06:09 /proc/3691/maps
The above shows /proc/self/maps for 3691 is owned by root.
JVM assumes that the process owner has 'read' access to '/proc/self/maps' and an attempt to read causes this warning.
2. Start https-<config> instance as *root* (https-<config>/bin/startserv)
You will see the below warning during the startup:
warning: CORE3283: stderr: Java HotSpot(TM) Server VM warning: Can't detect initial thread stack location - find_vma failed
My evaluation:
--------------
strace output shows:
------------------------------------
[pid 3276] open("/proc/self/maps", O_RDONLY) = -1 EACCES (Permission denied)
[pid 3276] write(2, "Java HotSpot(TM) Server VM warni"..., 36) = 36
[pid 3283] <... poll resumed> [{fd=14, events=POLLIN|POLLPRI, revents=POLLIN}], 1, 5000) = 1
[pid 3276] write(2, "Can\'t detect initial thread stac"..., 61 <unfinished ...>
[pid 3283] read(14, <unfinished ...>
[pid 3276] <... write resumed> ) = 61
[pid 3283] <... read resumed> "Java HotSpot(TM) Server VM warni"..., 4096) = 97
[pid 3276] getrlimit(RLIMIT_NOFILE, <unfinished ...>
[pid 3283] write(11, "warning", 7 <unfinished ...>
[pid 3276] <... getrlimit resumed> {rlim_cur=1024, rlim_max=1024}) = 0
warning[pid 3283] <... write resumed> ) = 7
[pid 3276] setrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024} <unfinished ...>
[pid 3283] write(11, ": CORE3283: stderr: Java HotSpot"..., 117 <unfinished ...>
[pid 3276] <... setrlimit resumed> ) = 0
: CORE3283: stderr: Java HotSpot(TM) Server VM warning: Can't detect initial thread stack location - find_vma failed
------------------------------------
The above strace output indicates that the attempt to open /proc/self/maps fails.
This happens when the *login user* is root and *webserver user* is non-root.
See below. This is another run. Don't try to relate the pids above.
[root@dhcp-usca17-121-3 bin]# ps -ef | grep web
root 3688 1 0 06:08 ? 00:00:00 webservd-wdog -d /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ/https-test/config -r /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ -t /tmp/https-test-2726adae -u meduri
root 3689 3688 2 06:08 ? 00:00:00 webservd -d /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ/https-test/config -r /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ -t /tmp/https-test-2726adae -u meduri
meduri 3691 3689 51 06:08 ? 00:00:09 webservd -d /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ/https-test/config -r /opt/meduri/work/ws7u1/050207/iplanet/ias/server/work/B1/Linux2.4_DBG.OBJ -t /tmp/https-test-2726adae -u meduri
This tells
root owns 3688
root owns 3689
meduri owns process 3691
[root@dhcp-usca17-121-3 bin]# ls -l /proc/3691/maps
-r-------- 1 root root 0 Aug 15 06:09 /proc/3691/maps
The above shows /proc/self/maps for 3691 is owned by root.
JVM assumes that the process owner has 'read' access to '/proc/self/maps' and an attempt to read causes this warning.
- relates to
-
JDK-6447743 Warn about chroot instability on Linux
-
- Closed
-