Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-8319

reading backup file spins in infinite loop

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • lvm2-2.03.32-1.el9
    • None
    • Important
    • rhel-storage-lvm
    • ssg_filesystems_storage_and_HA
    • 14
    • 2
    • Dev ack
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • If docs needed, set a value
    • None
    • 57,005

      Description of problem:

      I'm repeatedly hitting this same issue where commands spin at 100% cpu:

      #0 0x00007fbb2f13eaf2 in read () from /lib64/libc.so.6
      #1 0x0000562241d33c3a in config_file_read_fd (cft=0x562242c50af0, dev=0x562242c50780, reason=DEV_IO_MDA_CONTENT, offset=0, size=6605, offset2=0,
      size2=0, checksum_fn=0x0, checksum=0, checksum_only=0, no_dup_node_check=0) at config/config.c:536
      #2 0x0000562241d341c6 in config_file_read (cft=0x562242c50af0) at config/config.c:636
      #3 0x0000562241d6bede in text_read_metadata (fid=0x562242c4ff40, file=0x562242c50028 "/etc/lvm/backup/test", vg_fmtdata=0x0, use_previous_vg=0x0,
      dev=0x0, primary_mda=0, offset=0, size=0, offset2=0, size2=0, checksum_fn=0x0, checksum=0, when=0x7ffe72f51e20, desc=0x7ffe72f51e18)
      at format_text/import.c:164
      #4 0x0000562241d6c114 in text_read_metadata_file (fid=0x562242c4ff40, file=0x562242c50028 "/etc/lvm/backup/test", when=0x7ffe72f51e20,
      desc=0x7ffe72f51e18) at format_text/import.c:212
      #5 0x0000562241d67835 in _vg_read_file_name (fid=0x562242c4ff40, vgname=0x562242c49c80 "test", read_path=0x562242c50028 "/etc/lvm/backup/test")
      at format_text/format-text.c:1242
      #6 0x0000562241d67998 in _vg_read_file (cmd=0x5622423f0fd0, fid=0x562242c4ff40, vgname=0x562242c49c80 "test", mda=0x562242c4ffb8, vg_fmtdata=0x0,
      use_previous_vg=0x0) at format_text/format-text.c:1273
      #7 0x0000562241d5e8ab in backup_read_vg (cmd=0x5622423f0fd0, vg_name=0x562242c49c80 "test", file=0x7ffe72f51f20 "/etc/lvm/backup/test")
      at format_text/archiver.c:328
      #8 0x0000562241d5f8fd in check_current_backup (vg=0x562242c49b00) at format_text/archiver.c:648
      #9 0x0000562241d1670f in _vgscan_single (cmd=0x5622423f0fd0, vg_name=0x562242c38ef8 "test", vg=0x562242c49b00, handle=0x562242c39008) at vgscan.c:26
      #10 0x0000562241cff068 in _process_vgnameid_list (cmd=0x5622423f0fd0, read_flags=262144, vgnameids_to_process=0x7ffe72f530d0,
      arg_vgnames=0x7ffe72f530f0, arg_tags=0x7ffe72f53100, handle=0x562242c39008, process_single_vg=0x562241d1666e <_vgscan_single>) at toollib.c:2216
      #11 0x0000562241cffcbc in process_each_vg (cmd=0x5622423f0fd0, argc=0, argv=0x7ffe72f53400, one_vgname=0x0, use_vgnames=0x0, read_flags=262144,
      include_internal=0, handle=0x562242c39008, process_single_vg=0x562241d1666e <_vgscan_single>) at toollib.c:2526
      #12 0x0000562241d1687c in vgscan (cmd=0x5622423f0fd0, argc=0, argv=0x7ffe72f53400) at vgscan.c:55
      #13 0x0000562241cd7038 in lvm_run_command (cmd=0x5622423f0fd0, argc=0, argv=0x7ffe72f53400) at lvmcmdline.c:3317
      #14 0x0000562241cd87d4 in lvm2_main (argc=3, argv=0x7ffe72f533e8) at lvmcmdline.c:3847
      #15 0x0000562241d19260 in main (argc=3, argv=0x7ffe72f533e8) at lvm.c:23

      In config_file_read_fd(), the file read() repeatedly returns 0 which causes the for loop to never terminate.

      Although the fix is trivial, I don't know exactly what causes the read() to return 0.

      I don't have a trivial reproducer. The test case I'm running when I see this is multiple hosts running many commands in a shared (sanlock) VG.

      Version-Release number of selected component (if applicable):

      How reproducible:

      Steps to Reproduce:
      1.
      2.
      3.

      Actual results:

      Expected results:

      Additional info:

              cmarthal@redhat.com Corey Marthaler
              teigland@redhat.com David Teigland
              lvm-team lvm-team
              Cluster QE Cluster QE
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated: