IBM Support

PM75484: STANDARD OUTPUT OF OPERATIONS WHEN SET TO A DYNAMIC VIEW CAN NOT BE DETERMINED FROM THE /PROC FILESYSTEM ON SOLARIS

Subscribe

You can track all active APARs for this component.

 

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