This patch fixes the following issue: Excerpts from Eduardo Habkost's message of Fri Apr 03 17:37:56 -0300 2009: > Excerpts from Ryan Harper's message of Wed Apr 01 12:55:58 -0300 2009: > > Wondering if anyone else using kvm-autotest stepmaker has ever seen this > > error: > > > > Traceback (most recent call last): > > File > > "/home/rharper/work/git/build/kvm-autotest/client/tests/kvm_runtest_2/stepmaker. > > py", line 146, in update > > self.set_image_from_file(self.screendump_filename) > > File > > "/home/rharper/work/git/build/kvm-autotest/client/tests/kvm_runtest_2/stepeditor > > .py", line 499, in set_image_from_file > > self.set_image(w, h, data) > > File > > "/home/rharper/work/git/build/kvm-autotest/client/tests/kvm_runtest_2/stepeditor > > .py", line 485, in set_image > > w, h, w*3)) > > MemoryError > > I've seen this error twice today, while trying to create a step file to > install a Windows 2008 R2 64-bit guest (the Win2008-64 step file > available on the git repository doesn't work for me). This happened when > the guest was being rebooted by the windows installer. The contents of > the screen dump file are this: > > $ cat > /home/ehabkost/autotest/kvm-autotest/client/results/default/kvm_runtest_2.Win200 > 8.64.install/debug/scrdump.ppm > P6 > 0 0 > 255 > $ > > And the 0x0 pixmap really makes gdk panic: > > >>> (w, h, data) = ppm_utils.image_read_from_ppm_file('/home/ehabkost/autotest/kvm-autotest/client/results/default/kvm_runtest_2.Win2008.64.install/debug/scrdump.ppm') > >>> w,h,data > (0, 0, '') > >>> gtk.gdk.pixbuf_new_from_data(data, gtk.gdk.COLORSPACE_RGB, False, 8, w, h, w*3) > Traceback (most recent call last): > File "<stdin>", line 1, in ? > MemoryError > >>> Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> --- client/tests/kvm_runtest_2/stepeditor.py | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/client/tests/kvm_runtest_2/stepeditor.py b/client/tests/kvm_runtest_2/stepeditor.py index caaf47b..383834b 100755 --- a/client/tests/kvm_runtest_2/stepeditor.py +++ b/client/tests/kvm_runtest_2/stepeditor.py @@ -488,14 +488,18 @@ Utilities vscrollbar = self.scrolledwindow.get_vscrollbar() vscrollbar.set_range(0, h) + def clear_image(self): + self.image.clear() + self.image_width = 0 + self.image_height = 0 + self.image_data = "" + def set_image_from_file(self, filename): if not filename or not os.path.exists(filename): - self.image.clear() - self.image_width = 0 - self.image_height = 0 - self.image_data = "" - return + return self.clear_image() (w, h, data) = ppm_utils.image_read_from_ppm_file(filename) + if w <= 0 or h <= 0 or not data: + return self.clear_image() self.set_image(w, h, data) def get_step_lines(self, output_dir=None, current_step=None): -- 1.5.5.6 -- Eduardo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html