This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Migration of Version Manager from one RHEL system to another

Hi,
I've had some initial success in migrating VM 8.6.3 from RHEL 7.9 to RHEL 8.7 on a new system in that the owner of the PVCS software (pvcs) and another user (admin) have been successful in accessing source code in the VM. But for a 3rd user (z0hncmsd), when I execute the command line:

vlog menu.fmb | more
PVCS Version Manager (vlog) v8.6.3.0 (Build 421) for Linux/x86_64
(C) Copyright 2021 Micro Focus or one of its affiliates. All Rights Reserved.

the command hangs. Checking the process list I see:

pstree -p `pgrep vlog`

vlog(4190957) --->mlcproxy(4190959)
                        --->mlcproxy(4190960)

with one copy of mlcproxy being a zombie

ps -ef |grep mlcproxy


z0hncmsd 4190959 4190957 0 16:11 pts/12 00:00:00 [mlcproxy] <defunct>
z0hncmsd 4190960 4190957 0 16:11 pts/12 00:00:00 /home/pvcs/mlcproxy --pipe-id 5 --mode mode_real_proxy_calls

When I break the vlog with ctrl-c, there's not much of a clue:

vlog: received BREAK, cleaning up ...

but I suspect that it relates to the 'failed' zombie mlcproxy process.

Does anyone know how I might troubleshoot this issue further? I'm particularly puzzled as to why one non-pvcs user can successfully execute the above command, while it hangs for the other. As part of the setup, I did run vmlinklibs to enable running Version Manager in setuid mode. But again, it seems that if this was setuid/setgid related both the non-pvcs users would have had the same outcome.

I've looked at the strace output for both a successful and failed execution (made a bit more challenging by the fact that the vlog command is runs setuid and setgid). But couldn't see anything that relates to the problem.

Any thoughts?

Thanks,
Mark




  • Digging further in the RHEL strace output from when the vlog output hangs, I noticed references to .islvrc and .islvtk files in the user's home directory. The .islvrc file contained a line:


    SERVER=<previous license server hostname>

    And the previous license server isn't even  available. So this likely explains the hang when that user executed the vlog command. Looking at the VM documentation I see where the .islvrc file is referenced a number of times in the admin doc, but I couldn't find what would cause this file to be created for each user. In testing the need for this file, I first simply removed the file that referred to the 'foreign' license server. But then vlog indicated that the file couldn't be found.

    As new users come onboard, how would this file, which resides in each user's home directory, get created? I thought it might be automatically created on first use, perhaps from a common file possessed by the 'pvcs' user. But it did not.

    Thanks,
    Mark


  • Verified Answer

    Hi Mark,

    You are looking for the command "vmreg -m" as documented here:

    https://knowledgebase.serena.com/InfoCenter/index?page=content&id=S141869

    Kind regards,

    - Richard.

  • Thanks Richard! You are spot on, as always. 

    Although I had placed symlinks to run vmprofile or vmcshrc into /etc/profile.d, I did so _after_ the user in question had logged in. 

    Mark