Bug 1887598

Summary: dm-event.service segfaults creating a snapshot with altered reserved_memory and reserved_stack
Product: Red Hat Enterprise Linux 8 Reporter: Corey Marthaler <cmarthal>
Component: lvm2Assignee: Zdenek Kabelac <zkabelac>
lvm2 sub component: dmeventd QA Contact: cluster-qe <cluster-qe>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: high CC: agk, bugzilla, cluster-qe, cmarthal, heinzm, jbrassow, mcsontos, msnitzer, prajnoha, thornber, zkabelac
Version: 8.3   
Target Milestone: rc   
Target Release: 8.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: lvm2-2.03.11-0.2.20201103git8801a86.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1881235 Environment:
Last Closed: 2021-05-18 15:01:53 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:
Bug Depends On: 1881235    
Bug Blocks:    

Comment 2 Corey Marthaler 2020-10-13 01:30:35 UTC
FWIW, this doesn't require thin snaps. Old type snapshots also hit this.

[root@hayes-03 ~]# lvcreate --yes -L 300M snapper -n origin
  Logical volume "origin" created.
[root@hayes-03 ~]# lvcreate --yes -s /dev/snapper/origin -n altered_memory -L 100M
  WARNING: Monitoring snapper/altered_memory failed.
  WARNING: Monitoring snapper/origin failed.
  Logical volume "altered_memory" created.

Comment 3 Zdenek Kabelac 2020-10-13 08:10:06 UTC
All lvm2 monitoring plugins that runs lvm command will hit this issue (raid + thin + snap + mirror + vdo)

Comment 4 Zdenek Kabelac 2020-10-20 21:45:15 UTC
Fixed by https://www.redhat.com/archives/lvm-devel/2020-October/msg00160.html
which effectively disables usage of reserved_stack setting for lvm dmeventd plugin.

Comment 5 Corey Marthaler 2020-11-04 23:18:24 UTC
Fix verified in the latest devel compose, marking Verified:Tested.

    # Configuration option activation/reserved_stack.
    reserved_stack = 512  # edited by QA test script qe_lvmconf (on Wed Nov  4 17:12:44 CST 2020)!

[root@hayes-02 bin]# lvcreate --yes -L 300M snapper -n origin
  Logical volume "origin" created.
[root@hayes-02 bin]# lvcreate --yes -s /dev/snapper/origin -n altered_memory -L 100M
  Logical volume "altered_memory" created.
[root@hayes-02 bin]# grep segfault /var/log/messages
[root@hayes-02 bin]# ps -ef | grep dmeventd
root        5557       1  0 16:16 ?        00:00:00 /usr/sbin/dmeventd -f


kernel-4.18.0-241.el8.dt1    BUILT: Mon Nov  2 08:09:33 CST 2020
lvm2-2.03.11-0.2.20201103git8801a86.el8    BUILT: Wed Nov  4 07:04:46 CST 2020
lvm2-libs-2.03.11-0.2.20201103git8801a86.el8    BUILT: Wed Nov  4 07:04:46 CST 2020
device-mapper-1.02.175-0.2.20201103git8801a86.el8    BUILT: Wed Nov  4 07:04:46 CST 2020
device-mapper-libs-1.02.175-0.2.20201103git8801a86.el8    BUILT: Wed Nov  4 07:04:46 CST 2020
device-mapper-event-1.02.175-0.2.20201103git8801a86.el8    BUILT: Wed Nov  4 07:04:46 CST 2020

Comment 9 Corey Marthaler 2021-01-07 19:43:49 UTC
Fix verified in the latest rpms

kernel-4.18.0-269.el8    BUILT: Thu Dec 31 07:52:55 CST 2020
lvm2-2.03.11-0.4.20201222gitb84a992.el8    BUILT: Tue Dec 22 06:33:49 CST 2020
lvm2-libs-2.03.11-0.4.20201222gitb84a992.el8    BUILT: Tue Dec 22 06:33:49 CST 2020



[root@hayes-02 ~]# grep reserved_stack /etc/lvm/lvm.conf 
        # Configuration option activation/reserved_stack.
        reserved_stack = 512  # edited by QA test script qe_lvmconf (on Thu Jan  7 13:37:46 CST 2021)!
[root@hayes-02 ~]# grep reserved_memory /etc/lvm/lvm.conf 
        # Configuration option activation/reserved_memory.
        reserved_memory = 131072

[root@hayes-02 ~]# lvcreate -ay --thinpool my_pool -L 10G snapper
  Thin pool volume with chunk size 64.00 KiB can address at most 15.81 TiB of data.
  Logical volume "my_pool" created.
[root@hayes-02 ~]# lvcreate -ay --virtualsize 20G -T snapper/my_pool -n my_origin
  WARNING: Sum of all thin volume sizes (20.00 GiB) exceeds the size of thin pool snapper/my_pool (10.00 GiB).
  WARNING: You have not turned on protection against thin pools running out of space.
  WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full.
  Logical volume "my_origin" created.
[root@hayes-02 ~]# lvcreate -ay -y -k n -s /dev/snapper/my_origin -n my_snap
  WARNING: Sum of all thin volume sizes (40.00 GiB) exceeds the size of thin pool snapper/my_pool (10.00 GiB).
  WARNING: You have not turned on protection against thin pools running out of space.
  WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full.
  Logical volume "my_snap" created.

[root@hayes-02 ~]# grep segfault /var/log/messages
[root@hayes-02 ~]# 
[root@hayes-02 ~]# ps -ef | grep dmeventd
root        4162       1  0 13:14 ?        00:00:00 /usr/sbin/dmeventd -f
root       12350    2991  0 13:40 pts/0    00:00:00 grep --color=auto dmeventd

Comment 11 errata-xmlrpc 2021-05-18 15:01:53 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (lvm2 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:1659