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.
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
./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.
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
Any new about this bug? I've exactly same on ubuntu 12.04 and it's really annoying.
@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.