Bug 816381 - system-config-lvm crashes on startup
system-config-lvm crashes on startup
Status: CLOSED WORKSFORME
Product: Fedora
Classification: Fedora
Component: system-config-lvm (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Marek Grac
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-25 18:50 EDT by Stefan Tauner
Modified: 2012-07-19 09:04 EDT (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-07-19 09:04:16 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
stefan.tauner: needinfo-


Attachments (Terms of Use)
Add debug information to output (1.19 KB, patch)
2012-05-10 04:37 EDT, Marek Grac
no flags Details | Diff

  None (edit)
Description Stefan Tauner 2012-04-25 18:50:48 EDT
when launching s-c-lvm it shows the "reloading lvm" message dialog, updates the right pane and then crashes immediately.
there are two problems:
ZeroDivisionError: float division by zero and pixmap == None in cylinder_items.py
detailed output is on the bottom.

if i replace "model.foreach(self.check_tree_items, [vgs[0].get_name()])" with pass in Volume_Tab_View's init the ZeroDivisionError vanishes and s-c-lvm starts up. i can then actually browse all the "logical view" items as well as "uninitialized entities", but clicking on "physical view" or its child makes it crash with the second error.

i am using latest git (bb1d953d86e3fcb9826e67f49a7d227c3976f29b) on ubuntu 12.04 and ubuntu's 1.1.15-1ubuntu1.
i am executing directly in the source tree because i could not get it to "build" on time.
sorry if this is the wrong (ie. !upstream) tracker. it was impossible to find out the right one :(

How reproducible:
that's the question.
  
Actual results:
./system-config-lvm.py 

(system-config-lvm.py:6253): libglade-WARNING **: Could not load support for `bonobo': libbonobo.so: cannot open shared object file: No such file or directory
Traceback (most recent call last):
  File "/root/dl/system-config-lvm/src/Volume_Tab_View.py", line 453, in on_tree_selection_changed
    self.display_view.render_vg(vg)
  File "/root/dl/system-config-lvm/src/renderer.py", line 534, in render_vg
    self.display.append_right(False, Separator())
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 746, in append_right
    self.__adjust_width()
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 757, in __adjust_width
    self.cyl_upper.set_ratio(float(self.width-(up_w-up_w_adj))/up_w_adj)
ZeroDivisionError: float division by zero
/root/dl/system-config-lvm/src/cylinder_items.py:1032: GtkWarning: gdk_pixbuf_scale_simple: assertion `dest_width > 0' failed
  scaled_pixbuf = self.pixbuf.scale_simple(pixmap_width, height, gtk.gdk.INTERP_BILINEAR)
Traceback (most recent call last):
  File "/root/dl/system-config-lvm/src/renderer.py", line 582, in expose
    self.draw()
  File "/root/dl/system-config-lvm/src/renderer.py", line 591, in draw
    self.display.draw(self.da, self.gc, (10, y_offset))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 920, in draw
    self.cyl_upper.draw(pixmap, gc, (x, y))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 305, in draw
    CylinderItem.draw(self, dc, gc, (x, y))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 120, in draw
    child.draw(dc, gc, (x, y))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 305, in draw
    CylinderItem.draw(self, dc, gc, (x, y))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 120, in draw
    child.draw(dc, gc, (x, y))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 311, in draw
    cyl_pix = self.cyl_gen.get_cyl(dc, self.get_width(), self.height)
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 1039, in get_cyl
    pixmap.draw_pixbuf(gc, scaled_pixbuf, 0, 0, 0, 0, -1, -1)
TypeError: Gdk.Drawable.draw_pixbuf() argument 2 must be gtk.gdk.Pixbuf, not None
The program 'system-config-lvm.py' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
  (Details: serial 6048 error_code 11 request_code 53 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Additional info:
  --- Physical volume ---
  PV Name               /dev/dm-0
  VG Name               ssd
  PV Size               118,76 GiB / not usable 3,00 MiB
  Allocatable           yes 
  PE Size               4,00 MiB
  Total PE              30403
  Free PE               125
  Allocated PE          30278
  PV UUID               DUds9I-tk0v-geqf-smUf-08HS-xDGK-Rw7MRT
   
  --- Physical Segments ---
  Physical extent 0 to 1191:
    Logical volume	/dev/ssd/swap
    Logical extents	0 to 1191
  Physical extent 1192 to 5005:
    Logical volume	/dev/ssd/root
    Logical extents	0 to 3813
  Physical extent 5006 to 30277:
    Logical volume	/dev/ssd/data
    Logical extents	0 to 25271
  Physical extent 30278 to 30402:
    FREE

the whole thing is on top of a LUKS device, but i have an almost identical setup that is fine... here is the same output of the WORKING setup:
pvdisplay -v -m
    Scanning for physical volume names
  --- Physical volume ---
  PV Name               /dev/dm-0
  VG Name               vg
  PV Size               595,93 GiB / not usable 1,67 MiB
  Allocatable           yes (but full)
  PE Size               4,00 MiB
  Total PE              152558
  Free PE               0
  Allocated PE          152558
  PV UUID               Te10X6-DEn9-dRjW-sMOV-iNmd-PZpq-JpOpnG
   
  --- Physical Segments ---
  Physical extent 0 to 4095:
    Logical volume	/dev/vg/root
    Logical extents	0 to 4095
  Physical extent 4096 to 5119:
    Logical volume	/dev/vg/swap
    Logical extents	0 to 1023
  Physical extent 5120 to 152557:
    Logical volume	/dev/vg/data
    Logical extents	0 to 147437

bug #590917 looks identically but the description is a bit different. maybe due to changes between then and now...
if you need more information or have some things to test, i wont run away soon.
Comment 1 Marek Grac 2012-05-10 04:37:00 EDT
Created attachment 583475 [details]
Add debug information to output

Hi,

thanks for extensive report. Can you add a following patch to yours s-c-lvm and give me results? I have some ideas where bug can occurs but I'm not sure yet.

thanks
Comment 2 Stefan Tauner 2012-05-12 06:03:05 EDT
./src/system-config-lvm.py 

(system-config-lvm.py:5440): libglade-WARNING **: Could not load support for `bonobo': libbonobo.so: cannot open shared object file: No such file or directory
pixmap: <gtk.gdk.Pixbuf object at 0x1573a00 (GdkPixbuf at 0x1797cf0)>
pixmap: <gtk.gdk.Pixbuf object at 0x1573a50 (GdkPixbuf at 0x1797d40)>
pixmap: <gtk.gdk.Pixbuf object at 0x1573aa0 (GdkPixbuf at 0x1797d90)>
pixmap: <gtk.gdk.Pixbuf object at 0x1573af0 (GdkPixbuf at 0x1797de0)>
draw(-2897432,50
get_cyl( <gtk.gdk.Pixmap object at 0x1575af0 (GdkPixmap at 0x197a690)>,-2897432,50
	-2897420,,12
/root/dl/system-config-lvm/src/cylinder_items.py:1036: GtkWarning: gdk_pixbuf_scale_simple: assertion `dest_width > 0' failed
  scaled_pixbuf = self.pixbuf.scale_simple(pixmap_width, height, gtk.gdk.INTERP_BILINEAR)
Traceback (most recent call last):
  File "/root/dl/system-config-lvm/src/Volume_Tab_View.py", line 454, in on_tree_selection_changed
    self.on_best_fit(None)
  File "/root/dl/system-config-lvm/src/Volume_Tab_View.py", line 536, in on_best_fit
    self.display_view.draw()
  File "/root/dl/system-config-lvm/src/renderer.py", line 591, in draw
    self.display.draw(self.da, self.gc, (10, y_offset))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 921, in draw
    self.cyl_upper.draw(pixmap, gc, (x, y))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 305, in draw
    CylinderItem.draw(self, dc, gc, (x, y))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 120, in draw
    child.draw(dc, gc, (x, y))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 305, in draw
    CylinderItem.draw(self, dc, gc, (x, y))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 120, in draw
    child.draw(dc, gc, (x, y))
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 312, in draw
    cyl_pix = self.cyl_gen.get_cyl(dc, self.get_width(), self.height)
  File "/root/dl/system-config-lvm/src/cylinder_items.py", line 1043, in get_cyl
    pixmap.draw_pixbuf(gc, scaled_pixbuf, 0, 0, 0, 0, -1, -1)
TypeError: Gdk.Drawable.draw_pixbuf() argument 2 must be gtk.gdk.Pixbuf, not None
draw(363489,50
get_cyl( <gtk.gdk.Pixmap object at 0x1ca59b0 (GdkPixmap at 0x19440f0)>,363489,50
	363501,,12
The program 'system-config-lvm.py' received an X Window System error.
Comment 3 Stefan Tauner 2012-05-12 06:06:47 EDT
i forgot to note that i have changed the layout slightly since my original report.
(lv swap was removed and parts of it added to lv data)

  --- Physical volume ---
  PV Name               /dev/dm-0
  VG Name               ssd
  PV Size               118,76 GiB / not usable 2,81 MiB
  Allocatable           yes 
  PE Size               4,00 MiB
  Total PE              30403
  Free PE               293
  Allocated PE          30110
  PV UUID               DUds9I-tk0v-geqf-smUf-08HS-xDGK-Rw7MRT
   
  --- Physical Segments ---
  Physical extent 0 to 898:
    Logical volume	/dev/ssd/data
    Logical extents	25397 to 26295
  Physical extent 899 to 1191:
    FREE
  Physical extent 1192 to 5005:
    Logical volume	/dev/ssd/root
    Logical extents	0 to 3813
  Physical extent 5006 to 30402:
    Logical volume	/dev/ssd/data
    Logical extents	0 to 25396
Comment 4 Laurent Declercq 2012-06-05 13:17:50 EDT
Any new about this bug? I've exactly same on ubuntu 12.04 and it's really annoying.
Comment 5 Marek Grac 2012-07-19 09:04:16 EDT
@Stefan:

sorry, I can't reproduce this bug. I have installed Ubuntu 12.04 - desktop, server, server with LVM, server with encrypted disk & LVM. And tested it with both original s-c-lvm and current upstream (git clone ...).

s-c-lvm is going to be obsolete soon, so unfortunately I'm not able to spent more time on it. If you can provide me reproducer, I will be happy to fix it.

Note You need to log in before you can comment on or make changes to this bug.