APAR status
Closed as Permanent restriction.
Error description
The /proc filesystem on Oracle Solaris presents information about running processes including output streams such as standard out (stdout) through /proc/pid/path/1 where 'pid' is the process identifier of a given process running on the system. When a user is set to a dynamic view in IBM Rational ClearCase and is accessing a VOB through the MultiVersion File System (MVFS), the standard output path is not displayed under /proc/pid/path. Steps to reproduce: 1. Set to a view context and cd into a VOB. 2. Run 'echo $$' to return the process id of the current shell. 3. Run 'cat ? test' to begin writing to a test file. 4. In another shell, run 'ptree ?pid?' where ?pid? is the process id from step 2. 5. Locate the pid of the running 'cat' command below the shell. 6. Run 'pfiles ?pid?' or 'ls -l /proc/?pid?/path' with the process id for cat command and note that the path for file descriptor 1 (standard out) is not present. Example: user1@host ? cleartool setview user11 user1@host ? cd /vobs/vob1 user1@host ? echo $$ 3087 user1@host ? cat ? test ?let command run? root@host ? ptree 3087 583 /usr/lib/ssh/sshd 3023 /usr/lib/ssh/sshd 3024 /usr/lib/ssh/sshd 3030 -sh 3034 bash - 3086 sh 3087 bash 3090 cat root@host ? pfiles 3090 3090: cat Current rlimit: 256 file descriptors 0: S_IFCHR mode:0620 dev:369,0 ino:12582920 uid:0 gid:7 rdev:24,2 O_RDWR|O_NOCTTY|O_LARGEFILE /devices/pseudo/pts@0:2 1: S_IFREG mode:0644 dev:385,300 ino:2147483651 uid:42735 gid:20 size:0 O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE 2: S_IFCHR mode:0620 dev:369,0 ino:12582920 uid:0 gid:7 rdev:24,2 O_RDWR|O_NOCTTY|O_LARGEFILE /devices/pseudo/pts@0:2 root@host ? ls -l /proc/3090/path total 0 lrwxrwxrwx 1 user1 user 0 Oct 19 16:20 0 -? /devices/pseudo/pts@0:2 lrwxrwxrwx 1 user1 user 0 Oct 19 16:20 1 lrwxrwxrwx 1 user1 user 0 Oct 19 16:20 2 -? /devices/pseudo/pts@0:2 lrwxrwxrwx 1 user1 user 0 Oct 19 16:20 a.out -? /usr/bin/cat lrwxrwxrwx 1 user1 user 0 Oct 19 16:20 cwd -? /vobs/vob1 lrwxrwxrwx 1 user1 user 0 Oct 19 16:20 root -? /view/user11 lrwxrwxrwx 1 user1 user 0 Oct 19 16:20 ufs.136.8.3106 -? /platform/sun4u-us3/lib/libc_psr/libc_psr_hwcap1.so.1 lrwxrwxrwx 1 user1 user 0 Oct 19 16:20 ufs.136.8.5483 -? /lib/ld.so.1 lrwxrwxrwx 1 user1 user 0 Oct 19 16:20 ufs.136.8.5488 -? /lib/libc.so.1 Workaround: This behavior has not been seen outside of a setview context. Access a VOB using view-extended path without being set to a view. Linux hosts are unaffected and can access the desired path at /proc/pid/fd/1.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * * Users of ClearCase dynamic views on Oracle Solaris * **************************************************************** * PROBLEM DESCRIPTION: * * The /proc filesystem on Oracle Solaris presents information * * about running processes including output streams such as * * standard out (stdout) through /proc/pid/path/1 where "pid" * * is the process identifier of a given process running on the * * system. When a user is set to a dynamic view in IBM Rational * * ClearCase and is accessing a Versioned Object Base (VOB) * * through the MultiVerson File System (MVFS), the standard * * output path is not displayed under /proc/pid/path. * **************************************************************** * RECOMMENDATION: * **************************************************************** There is a work-around available which is to ensure the process examining /proc for information about a ClearCase process that is in a view context has the same view context set. Specifically this means (1) obtain the view of the process you want to examine via the process PID by looking at the symbolic link pointed to by /proc/<PID>/path/root, (2) setting to this view context, and (3) then performing the examination of other path associated with the process via the /proc filesystem.
Problem conclusion
We have no plan to fix this issue directly as it would involve changing the way lookup worked within the Solaris kernel code and would require a change by Oracle. The stdout path under /proc/<PID>/path/1 is a link, and the Solaris kernel code that is parsing that link obtains the filesystem root information for the current process instead of the target process. This root pointer is used as the starting point for all pathnames, and so when dealing with a ClearCase setview, this is set to the vnode of the view the user is set to. If the lookup isn't done with the proper starting vnode, it will be impossible for the lookup to succeed.
Temporary fix
Comments
APAR Information
APAR number
PM75484
Reported component name
CLRCASE MSITE U
Reported component ID
5724G3201
Reported release
711
Status
CLOSED PRS
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-10-19
Closed date
2015-09-17
Last modified date
2015-09-17
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSSH3S","label":"Rational ClearCase MultiSite"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.1.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
17 September 2015