Bug 820539

Summary: [abrt] system-config-lvm-1.1.16-1.fc15: LogicalVolume.py:78:set_mirror_log:AttributeError: MirroredSegment instance has no attribute 'get_extent_block'
Product: Red Hat Enterprise Linux 6 Reporter: Marek Grac <mgrac>
Component: system-config-lvmAssignee: Marek Grac <mgrac>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: unspecified Docs Contact:
Priority: low    
Version: 6.4CC: agk, cluster-maint, dwysocha, itamar, lwang, mbroz, mclasen, mgrac, prajnoha, prockai, redhat, rsteiger
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:436ab0de55dbf2100318d5dec4a734803f0ee76d
Fixed In Version: system-config-lvm-1.1.12-15.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 736176 Environment:
Last Closed: 2013-02-21 10:04:44 UTC Type: ---
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: 736176    
Bug Blocks:    

Description Marek Grac 2012-05-10 10:42:03 UTC
+++ This bug was initially created as a clone of Bug #736176 +++

abrt version: 2.0.3
architecture:   x86_64
cmdline:        /usr/bin/python2 /usr/sbin/system-config-lvm
component:      system-config-lvm
executable:     /usr/sbin/system-config-lvm
kernel:         2.6.40.3-0.fc15.x86_64
os_release:     Fedora release 15 (Lovelock)
package:        system-config-lvm-1.1.16-1.fc15
reason:         LogicalVolume.py:78:set_mirror_log:AttributeError: MirroredSegment instance has no attribute 'get_extent_block'
time:           Tue Sep  6 18:09:32 2011
uid:            0
username:       root

backtrace:
:LogicalVolume.py:78:set_mirror_log:AttributeError: MirroredSegment instance has no attribute 'get_extent_block'
:
:Traceback (most recent call last):
:  File "/usr/sbin/system-config-lvm", line 172, in <module>
:    runFullGUI()
:  File "/usr/sbin/system-config-lvm", line 157, in runFullGUI
:    blvm = baselvm(glade_xml, app)
:  File "/usr/sbin/system-config-lvm", line 105, in __init__
:    self.volume_tab_view = Volume_Tab_View(glade_xml, self.lvmm, self.main_win)
:  File "/usr/share/system-config-lvm/Volume_Tab_View.py", line 133, in __init__
:    self.prepare_tree()
:  File "/usr/share/system-config-lvm/Volume_Tab_View.py", line 214, in prepare_tree
:    self.model_factory.reload()
:  File "/usr/share/system-config-lvm/lvm_model.py", line 172, in reload
:    self.__link_mirrors()
:  File "/usr/share/system-config-lvm/lvm_model.py", line 591, in __link_mirrors
:    lv.set_mirror_log(log_lv)
:  File "/usr/share/system-config-lvm/LogicalVolume.py", line 78, in set_mirror_log
:    extent = seg.get_extent_block()
:AttributeError: MirroredSegment instance has no attribute 'get_extent_block'
:
:Local variables in innermost frame:
:seg: <Segment.MirroredSegment instance at 0x2ceee18>
:self: <LogicalVolume.LogicalVolume instance at 0x2ceea28>
:log: <LogicalVolume.LogicalVolume instance at 0x2ceedd0>

comment:
:Ran "system-config-lvm" with a mirrored LVM volume.  The mirrored volume was created with:
:
:lvconvert -m1 --mirrorlog mirrored -R 64 Main/Root /dev/sdb2 /dev/sda3 /dev/sdb3
:
:output from "lvdisplay --all -m":
:
:  --- Logical volume ---
:  LV Name                /dev/Main/Root
:  VG Name                Main
:  LV UUID                kTYTbI-qnJW-s0e3-t8dg-qCsJ-SPMV-kuAtjn
:  LV Write Access        read/write
:  LV Status              available
:  # open                 1
:  LV Size                11.94 GiB
:  Current LE             191
:  Mirrored volumes       2
:  Segments               1
:  Allocation             inherit
:  Read ahead sectors     auto
:  - currently set to     256
:  Block device           253:1
:
:  --- Segments ---
:  Logical extent 0 to 190:
:    Type                mirror
:    Mirrors             2
:    Mirror size         191
:    Mirror log volume   Root_mlog
:    Mirror region size  64.00 MiB
:    Mirror original:
:      Logical volume    Root_mimage_0
:      Logical extents   0 to 190
:    Mirror destinations:
:      Logical volume    Root_mimage_1
:      Logical extents   0 to 190
:
:
:  --- Logical volume ---
:  LV Name                /dev/Main/Root_mlog
:  VG Name                Main
:  LV UUID                wDZcgu-P3Ef-uInC-UGqc-RKqH-jkdk-QYqyhx
:  LV Write Access        read/write
:  LV Status              available
:  # open                 1
:  LV Size                64.00 MiB
:  Current LE             1
:  Mirrored volumes       2
:  Segments               1
:  Allocation             inherit
:  Read ahead sectors     auto
:  - currently set to     256
:  Block device           253:4
:   
:  --- Segments ---
:  Logical extent 0 to 0:
:    Type                mirror
:    Mirrors             2
:    Mirror size         1
:    Mirror region size  64.00 MiB
:    Mirror original:
:      Logical volume    Root_mlog_mimage_0
:      Logical extents   0 to 0
:    Mirror destinations:
:      Logical volume    Root_mlog_mimage_1
:      Logical extents   0 to 0
:      
:      
:  --- Logical volume ---
:  LV Name                /dev/Main/Root_mlog_mimage_0
:  VG Name                Main
:  LV UUID                z92o1b-SCUA-Rlu9-7FtX-2Ksi-2q6q-96f9YP
:  LV Write Access        read/write
:  LV Status              available
:  # open                 1
:  LV Size                64.00 MiB
:  Current LE             1
:  Segments               1
:  Allocation             inherit
:  Read ahead sectors     auto
:  - currently set to     256
:  Block device           253:2
:
:  --- Segments ---
:  Logical extent 0 to 0:
:    Type                linear
:    Physical volume     /dev/sda3
:    Physical extents    0 to 0
:
:
:  --- Logical volume ---
:  LV Name                /dev/Main/Root_mlog_mimage_1
:  VG Name                Main
:  LV UUID                HjALZn-TPNv-WcoU-uVtN-Cimt-wQpM-JUmMCK
:  LV Write Access        read/write
:  LV Status              available
:  # open                 1
:  LV Size                64.00 MiB
:  Current LE             1
:  Segments               1
:  Allocation             inherit
:  Read ahead sectors     auto
:  - currently set to     256
:  Block device           253:3
:
:  --- Segments ---
:  Logical extent 0 to 0:
:    Type                linear
:    Physical volume     /dev/sdb3
:    Physical extents    0 to 0
:
:
:  --- Logical volume ---
:  LV Name                /dev/Main/Root_mimage_0
:  VG Name                Main
:  LV UUID                bLR6aH-mwfk-3NPe-80nr-2qLe-Wpcm-fST4yt
:  LV Write Access        read/write
:  LV Status              available
:  # open                 1
:  LV Size                11.94 GiB
:  Current LE             191
:  Segments               1
:  Allocation             inherit
:  Read ahead sectors     auto
:  - currently set to     256
:  Block device           253:5
:
:  --- Segments ---
:  Logical extent 0 to 190:
:    Type                linear
:    Physical volume     /dev/sda2
:    Physical extents    64 to 254
:
:
:  --- Logical volume ---
:  LV Name                /dev/Main/Root_mimage_1
:  VG Name                Main
:  LV UUID                WM0vPI-hWNl-tofZ-j3EM-Zypk-H9y4-bR7EbX
:  LV Write Access        read/write
:  LV Status              available
:  # open                 1
:  LV Size                11.94 GiB
:  Current LE             191
:  Segments               1
:  Allocation             inherit
:  Read ahead sectors     auto
:  - currently set to     256
:  Block device           253:6
:
:  --- Segments ---
:  Logical extent 0 to 190:
:    Type                linear
:    Physical volume     /dev/sdb2
:    Physical extents    0 to 190

--- Additional comment from clockfort.edu on 2011-12-09 04:11:22 EST ---

I am also experiencing this bug, immediately after adding a mirrored lvm group with a mirrored mirrorlog, just as Jeff has described in his situation above.

--- Additional comment from mgrac on 2012-05-10 06:41:29 EDT ---

Fixed in upstream:

http://git.fedorahosted.org/git/?p=system-config-lvm.git;a=commit;h=f651eb5664e0ef265c8114ae5b203b4ad2bec0f6

Unit test:

dd if=/dev/zero of=loop0 count=1000000
dd if=/dev/zero of=loop1 count=1000000
dd if=/dev/zero of=loop2 count=1000000

losetup -f loop0
losetup -f loop1
losetup -f loop2

pvcreate /dev/loop0
pvcreate /dev/loop1
pvcreate /dev/loop2

vgcreate baste /dev/loop0 /dev/loop1 /dev/loop2

lvcreate -L 100M --mirrorlog mirrored -m1 -n fidli basta /dev/loop0 /dev/loop1 /dev/loop2

system-config-lvm

CRASH

Comment 5 Marek Grac 2012-10-25 08:50:51 UTC
Unit test results:

system-config-lvm won't crash at start

Comment 7 Marek Grac 2012-12-13 10:15:25 UTC
system-config-lvm is not prepared for such complex environment and it can show only parts of such VG correctly. This produced traceback which does not effect functionality but it can confuse users. Additional patch replaces traceback with proper error message.

Comment 11 errata-xmlrpc 2013-02-21 10:04:44 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, and where to find the updated
files, follow the link below.

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

http://rhn.redhat.com/errata/RHBA-2013-0385.html