Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1901882

Summary: [ESXi][RHEL7.9]vmtoolsd may freeze nested filesystems in an order that causes a deadlock
Product: Red Hat Enterprise Linux 7 Reporter: Grzegorz Halat <ghalat>
Component: open-vm-toolsAssignee: Cathy Avery <cavery>
Status: CLOSED DUPLICATE QA Contact: ldu <ldu>
Severity: high Docs Contact:
Priority: unspecified    
Version: 7.9CC: boyang, cavery, jen, jjarvis, jsavanyo, jwolfe, ldu, leiwang, ravindrakumar, ribarry, yacao
Target Milestone: rcFlags: ghalat: needinfo-
ghalat: needinfo-
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-04 15:45:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Comment 3 Cathy Avery 2020-11-30 13:06:52 UTC
Hi Ravindra,

Could you please take a look at this. Is this the same issue as BZ 1898069 and BZ 1880404?

Thanks,

Cathy

Comment 4 Ravindra Kumar 2020-11-30 20:22:05 UTC
Cathy, I don't seem to have access to the comments in this bug. I can see only your comment #3.

Comment 5 Grzegorz Halat 2020-11-30 21:42:03 UTC
(In reply to Ravindra Kumar from comment #4)
> Cathy, I don't seem to have access to the comments in this bug. I can see
> only your comment #3.

I added vmware group, you should have access now.

Comment 6 ldu 2020-12-14 07:16:49 UTC
Hi Ravindra,
Any update for this issue? does this bug same issue as  BZ 1880404?

Thanks,
ldu

Comment 9 Ravindra Kumar 2021-01-20 20:48:21 UTC
I suspect that the customer script is doing all the freezing in this case because vmtoolsd runs "/usr/sbin/pre-freeze-script" before quiescing any file systems. Can we get a copy of the customer bash script? Also, we need to know why are they invoking "freeze" commands from the "pre-freeze-script" as that can interfere with the freeze steps performed by vmtoolsd?

I assume this is reproducible, so can we also redirect vmtoolsd logs to vmware.log and collect that from the VM's directory? For redirecting vmtoolsd logs to vmware.log in VM's directory following settings need to be added to /etc/vmware-tools/tools.conf inside the guest:

# Start
[logging]
vmsvc.level=debug
vmsvc.handler=vmx
# End

Comment 12 John Wolfe 2021-01-28 15:35:16 UTC
(In reply to Grzegorz Halat from comment #11)
> 
> $ cat /usr/sbin/pre-freeze-script
> /opt/SYMCquiesce/bin/freeze
> 
> /opt/SYMCquiesce is probably some backup software from Veritas.
> 
> > I assume this is reproducible, so can we also redirect vmtoolsd logs to vmware.log and collect that from the VM's directory?
> 
> Do you still need this? I did not ask them yet to reproduce with debug logs.

Thanks Grzegorz, I do not believe the debug logs are needed here.  In this particular instance, they would not have provided any useful information.  An explanation follows.

Reviewing the entire bugzilla comments, we see in comment 2 that the vmtoolsd process is stuck.

> Now, let's check vmtoolsd processes running in the system:
>
> crash> ps | grep vmtools
>    1042      1  12  ffff9a4f8f930000  UN   0.0  351704   5884  vmtoolsd
>   10300   1042   9  ffff9a38fabf9080  IN   0.0  351704   2304  vmtoolsd

> Userspace stack traces of vmtoolsd processes:
> core files directory(galvatron): /cores/retrace/tasks/649245749/results
> files: core.10300.vmtoolsd, core.1042.vmtoolsd
>
> PID 1042 - it was stuck in writing a message to log file and it hanged here, but this probably doesn't matter:
> (gdb) bt
> #0  0x00007fda97a4f6fd in write () at ../sysdeps/unix/syscall-template.S:81
> #1  0x00007fda9716529c in g_io_unix_write (channel=0x558b2d6f1e00, buf=0x558b2d776480 "[2020-11-20T01:19:12.295Z] [ warning] [guestinfo] GuestInfoGetDiskDevice: Missing disk device name; VMDK mapping unavailable for \"/var/lib/kubelet/plugins/ceph.rook.io/rook-ceph-system/mounts/pvc-3514"..., count=252, bytes_written=<optimized out>, err=0x0)
>     at giounix.c:251
>
>    ...
>
> PID 10300 - it executed a shell script and was waiting for comletion of a process with PID 10301:
> (gdb) bt
> #0  0x00007fda97a501d9 in __libc_waitpid (pid=pid@entry=10301, stat_loc=stat_loc@entry=0x7ffe9441b654, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:40
> #1  0x00007fda982e7e4b in ProcMgrWaitForProcCompletion (pid=10301, validExitCode=0x0, validExitCode@entry=0x7ffe9441b697 "", exitCode=exitCode@entry=0x7ffe9441b69c) at procMgrPosix.c:1592
> #2  0x00007fda982e931b in ProcMgr_ExecAsync (cmd=cmd@entry=0x558b2d7110b0 "\"/usr/sbin/pre-freeze-script\" freeze", userArgs=userArgs@entry=0x0) at procMgrPosix.c:1737
> #3  0x00007fda8c76543f in VmBackupRunNextScript (op=op@entry=0x558b2d7124b0) at scriptOps.c:170
> #4  0x00007fda8c76583a in VmBackup_NewScriptOp (type=type@entry=VMBACKUP_SCRIPT_FREEZE, state=0x558b2d714c00) at scriptOps.c:546
> #5  0x00007fda8c7663e0 in VmBackupStartScripts (type=VMBACKUP_SCRIPT_FREEZE) at stateMachine.c:409

The vmtoolsd process [PID 1042] is attempting to write a warning message to the vmsvc log file while collecting the disk device mapping information for the RHEL Linux VM.  Just prior to that, vmtoolsd has kicked off the "/usr/sbin/pre-freeze-script" [PID 10300].

And we see from comment 11 that the pre-freeze-script is executing the Veritas NetBackup SYMCquiesce freeze command.

I believe that what is happening, and I have discussed this with Ravindra, is that the /var/log filesystem has been frozen by the SYMCquiesce/bin/freeze just before the attempt to write the warning to "/var/log/vmware-vmsvc.log".  Ergo the hang.

Had  the "tools.conf" been updated with
    "vmsvc.handler=vmx"
to send the vmsvc log messages the the VMX log (vmware.log) on the ESXi host, the hang would not have been reproduced.

Comment 13 John Wolfe 2021-01-28 16:02:05 UTC
The warning message that is being logged

[ warning] [guestinfo] GuestInfoGetDiskDevice: Missing disk device name; VMDK mapping unavailable for \"/var/lib/kubelet/plugins/ceph.rook.io/rook-ceph-system/mounts/pvc-3514"

is an example of the disk device mapping "log spew" reported against open-vm-tools 11.0.x.  This problem is being addressed in open-vm-tools 11.0.5 for RHEL 7.9 in https://bugzilla.redhat.com/show_bug.cgi?id=1911853.

Cathy, what is the status of bug 1911853?

I believe fixing the vmsvc log spew in 11.0.5 open-vm-tools for RHEL 7.0 will alleviate this customer's problem.

Comment 14 Cathy Avery 2021-01-28 17:05:52 UTC
(In reply to John Wolfe from comment #13)
> The warning message that is being logged
> 
> [ warning] [guestinfo] GuestInfoGetDiskDevice: Missing disk device name;
> VMDK mapping unavailable for
> \"/var/lib/kubelet/plugins/ceph.rook.io/rook-ceph-system/mounts/pvc-3514"
> 
> is an example of the disk device mapping "log spew" reported against
> open-vm-tools 11.0.x.  This problem is being addressed in open-vm-tools
> 11.0.5 for RHEL 7.9 in https://bugzilla.redhat.com/show_bug.cgi?id=1911853.
> 
> Cathy, what is the status of bug 1911853?
> 
> I believe fixing the vmsvc log spew in 11.0.5 open-vm-tools for RHEL 7.0
> will alleviate this customer's problem.

It's done and waiting for approval for 7.9.z which it should get.

Comment 15 Grzegorz Halat 2021-01-28 17:59:23 UTC
(In reply to John Wolfe from comment #12)

> Had  the "tools.conf" been updated with
>     "vmsvc.handler=vmx"
> to send the vmsvc log messages the the VMX log (vmware.log) on the ESXi
> host, the hang would not have been reproduced.

OK, I will ask the customer to update the config and check if it solves the issue.

Comment 16 John Wolfe 2021-01-28 18:15:02 UTC
(In reply to Grzegorz Halat from comment #15)
> (In reply to John Wolfe from comment #12)
> 
> > Had  the "tools.conf" been updated with
> >     "vmsvc.handler=vmx"
> > to send the vmsvc log messages the the VMX log (vmware.log) on the ESXi
> > host, the hang would not have been reproduced.
> 
> OK, I will ask the customer to update the config and check if it solves the
> issue.

That is the work-around until the updated 11.0.5 open-vm-tools is available.

Comment 17 Ravindra Kumar 2021-01-28 18:52:15 UTC
One thing I would like to confirm is verifying why customer has such configuration with NetBackup that is leading to this failure. As per #c11:

$ cat /usr/sbin/pre-freeze-script
/opt/SYMCquiesce/bin/freeze

Can we ask customer or Symantec to find out who creates /usr/sbin/pre-freeze-script in the guest? Is it customer or NetBackup software? And, what does the invoked command /opt/SYMCquiesce/bin/freeze do? Does it freeze all file systems as its name suggests? If yes, then it is a known issue and workaround provided by John will help. We also need to understand from customer and/or Symantec the reason to have /usr/sbin/pre-freeze-script perform freeze operation as vmtoolsd is supposed to do that anyway. We don't expect pre-freeze-script to freeze file systems, generally it is not needed. It is also worth getting a copy of /etc/vmware-tools/tools.conf from the failing VM, so that we can see if customer or NetBackup software has also disabled vmtoolsd syncDriver.

Comment 19 Ravindra Kumar 2021-01-29 01:49:56 UTC
While searching for 'SYMCquiesce' on Internet, I came across this document for NetBackup 8.1 - https://www.veritas.com/support/en_US/doc/103228346-127350715-0/v124981393-127350715, which says:
=============================
Support has ended for the SYMCquiesce utility for Linux virtual machines
Support for the SYMCquiesce utility for Linux virtual machines has been discontinued starting in this NetBackup release. Newer operating systems provide native support for a similar functionality. Please contact your operating system vendor and VMware for additional information.
=============================

I would strongly suggest the customer to check with Symantec if SYMCquiesce needs to be even there on the system. If there is no reason for it to be there, they should uninstall it and make sure that "enableSyncDriver=false" is NOT set in /etc/vmware-tools/tools.conf.

Comment 20 Ravindra Kumar 2021-01-29 01:58:02 UTC
Another Veritas link on this topic for reference - https://vox.veritas.com/t5/NetBackup/SYMCquiesce/td-p/844376.

Comment 27 Rick Barry 2021-03-04 15:45:12 UTC
Closing this BZ as a duplicate of bug 1911853 (which will avoid the issue described in this BZ).

*** This bug has been marked as a duplicate of bug 1911853 ***