Bug 958641

Summary: virt-manager 0.10.0-0.1.gitd3f9bc8e.fc19 crashes on various operations, missing key in gsettings schema (paths/perms-fix-ignore)
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: virt-managerAssignee: Cole Robinson <crobinso>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 19CC: berrange, crobinso, erik, hbrock, jforbes, jhunt, michele, mkrizek, pschindl, ptalbert, robatino, rtguille, stefw, virt-maint
Target Milestone: ---Keywords: Patch
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: RejectedBlocker
Fixed In Version: virt-manager-0.10.0-0.2.gitb68faac8.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-14 04:36:29 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:
Attachments:
Description Flags
core_backtrace from abrt
none
coredump from abrt
none
File: backtrace none

Description Adam Williamson 2013-05-02 06:17:35 UTC
I got the new virt-manager package as an update to F19 - 0.10.0-0.1.gitd3f9bc8e.fc19 . Whenever I try to attach (Connect) an ISO to the 'DVD drive' of the virtual machine, virt-manager just crashes. abrt is refusing to report the crash - both retrace server and local tracing fail with some kind of repo problem - so for now I'm attaching the backtrace and coredump from the abrt directory in the hopes that'll be enough.

Comment 1 Adam Williamson 2013-05-02 06:18:41 UTC
Created attachment 742489 [details]
core_backtrace from abrt

Comment 2 Adam Williamson 2013-05-02 06:28:18 UTC
Created attachment 742491 [details]
coredump from abrt

Comment 3 Adam Williamson 2013-05-02 06:30:08 UTC
Nominating as a Beta blocker per https://fedoraproject.org/wiki/Fedora_19_Beta_Release_Criteria#Self_hosting_virtualization :

"The release must be able host virtual guest instances of the same release."

The criterion basically requires F19-on-F19 virt to work, and if I can't attach an F19 ISO to a VM, I can't really do that.

Comment 4 Martin Krizek 2013-05-03 07:06:19 UTC
I am seeing this as well. +1 blocker

Comment 5 Petr Schindler 2013-05-03 07:11:47 UTC
*** Bug 958697 has been marked as a duplicate of this bug. ***

Comment 6 Petr Schindler 2013-05-03 07:14:24 UTC
+1 blocker. I've met this one too.

Comment 7 Adam Williamson 2013-05-03 18:59:22 UTC
Note - the crash comes through abrt's ccpp handler, not pyhook, and there is no 'normal' Python backtrace in the report directory, just the core_backtrace . It's like the python interpreter itself crashed, I guess? Anyhow, it doesn't seem like a 'normal' Python crash.

Comment 8 Reartes Guillermo 2013-05-04 00:00:02 UTC
Both "Local install media (ISO image or CDROM)" (attach an iso) and "Import existing disk image" crashes virt-manager.

>>May 03 20:55:06 stark.espada kernel: traps: virt-manager[1170] trap int3 ip:3ba004ef5d sp:7fff16ea0fb0 error:0

and then an abrt entry.

I tried with:

# virt-manager --debug --no-fork

[...TRUNCATED...]

      <apic default='on' toggle='no'/>
    </features>
  </guest>

</capabilities>

2013-05-03 20:54:29,852 (connection:157): Using libvirt API for netdev enumeration
2013-05-03 20:54:29,858 (connection:179): Using libvirt API for mediadev enumeration
2013-05-03 20:54:32,171 (create:152): Showing new vm wizard
2013-05-03 20:54:32,195 (create:849): Guest type set to os_type=hvm, arch=x86_64, dom_type=kvm
2013-05-03 20:54:45,236 (storagebrowse:82): Showing storage browser
2013-05-03 20:54:47,977 (config:562): directory for type=isomedia returning=/data1/iso/Fedora/19
2013-05-03 20:54:51,638 (config:570): saving directory for type=media to /data1/iso/Fedora/19
2013-05-03 20:54:51,639 (storagebrowse:88): Closing storage browser

(virt-manager:1170): Gdk-CRITICAL **: gdk_device_ungrab: assertion `GDK_IS_DEVICE (device)' failed

(virt-manager:1170): Gtk-CRITICAL **: gtk_device_grab_remove: assertion `GDK_IS_DEVICE (device)' failed

(virt-manager:1170): Gdk-CRITICAL **: gdk_device_ungrab: assertion `GDK_IS_DEVICE (device)' failed

(virt-manager:1170): Gtk-CRITICAL **: gtk_device_grab_remove: assertion `GDK_IS_DEVICE (device)' failed

2013-05-03 20:55:06,057 (DistroInstaller:221): DistroInstaller location is a local file/path: /data1/iso/Fedora/19/Fedora-19-Beta-TC2-x86_64-DVD.iso

(virt-manager:1170): GLib-GIO-ERROR **: Settings schema 'org.virt-manager.virt-manager.paths' does not contain a key named 'perms_fix_ignore'
Trace/breakpoint trap (core dumped)

Comment 9 Reartes Guillermo 2013-05-05 19:41:29 UTC
From: /usr/share/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.xml

One can see 'org.virt-manager.virt-manager.paths':

<schema id="org.virt-manager.virt-manager.paths"
          path="/org/virt-manager/virt-manager/paths/">
    <key name="image-default" type="s">
      <default>''</default>
      <summary>Default image path</summary>
      <description>Default path for choosing VM images</description>
    </key>

    <key name="media-default" type="s">
      <default>''</default>
      <summary>Default media path</summary>
      <description>Default path for choosing media</description>
    </key>

    <key name="screenshot-default" type="s">
      <default>''</default>
      <summary>Default screenshot path</summary>
      <description>Default path for saving screenshots from VMs</description>
    </key>
  </schema>

There is no "perms_fix_ignore" key defined here. I tried adding one without success, since i do not known what exactly put there.

Comment 10 Erik Logtenberg 2013-05-06 13:17:53 UTC
I see this bug too. I tried "strace -f virt-manager" and the dying shrieks were as follows:

[pid  2656] gettid()                    = 2656
[pid  2656] gettid()                    = 2656
[pid  2656] write(8, "\1\0\0\0\0\0\0\0", 8) = 8
[pid  2656] rt_sigprocmask(SIG_BLOCK, [PIPE CHLD WINCH], [], 8) = 0
[pid  2656] poll([{fd=14, events=POLLOUT}, {fd=15, events=POLLIN}], 2, 4294967295) = 1 ([{fd=14, revents=POLLOUT}])
[pid  2656] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
[pid  2656] write(14, "\0\0\0  \0\200\206\0\0\0\1\0\0\0H\0\0\0\0\0\0\10\325\0\0\0\0\0\0\0\1", 32) = 32
[pid  2656] rt_sigprocmask(SIG_BLOCK, [PIPE CHLD WINCH], [], 8) = 0
[pid  2656] poll([{fd=14, events=POLLIN}, {fd=15, events=POLLIN}], 2, 4294967295) = 1 ([{fd=14, revents=POLLIN}])
[pid  2656] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
[pid  2656] read(14, "\0\0\0,", 4)      = 4
[pid  2656] gettid()                    = 2656
[pid  2656] read(14, " \0\200\206\0\0\0\1\0\0\0H\0\0\0\1\0\0\10\325\0\0\0\0\0\0\0\1\0\0\0\7"..., 40) = 40
[pid  2656] gettid()                    = 2656
[pid  2656] gettid()                    = 2656
[pid  2656] gettid()                    = 2656
[pid  2656] gettid()                    = 2656
[pid  2656] gettid()                    = 2656
[pid  2656] write(8, "\1\0\0\0\0\0\0\0", 8) = 8
[pid  2656] gettid()                    = 2656
[pid  2656] gettid()                    = 2656
[pid  2656] stat("/home/iso/Fedora/Fedora-18-x86_64-netinst.iso", {st_mode=S_IFREG|0644, st_size=308281344, ...}) = 0
[pid  2656] stat("/home/iso/Fedora/Fedora-18-x86_64-netinst.iso", {st_mode=S_IFREG|0644, st_size=308281344, ...}) = 0
[pid  2656] write(2, "\n(virt-manager:2656): GLib-GIO-E"..., 143) = 143
[pid  2656] --- SIGTRAP {si_signo=SIGTRAP, si_code=SI_KERNEL} ---
[pid  2857] +++ killed by SIGTRAP (core dumped) +++
[pid  2658] +++ killed by SIGTRAP (core dumped) +++
[pid  2858] +++ killed by SIGTRAP (core dumped) +++
[pid  2657] +++ killed by SIGTRAP (core dumped) +++
+++ killed by SIGTRAP (core dumped) +++

As you can see, this was with a .iso attached to boot from, but I got the same crash when importing an existing vm image.

Comment 11 Adam Williamson 2013-05-06 17:29:46 UTC
Discussed at 2013-05-06 blocker review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2013-05-06/f19beta-blocker-review-3.2013-05-06-16.02.log.txt . We agreed this doesn't quite need to be a blocker: it's annoying for those of us doing f19-on-f19 testing, but there are alternatives to virt-manager for that, we mostly have f18 systems available, and this issue can be fixed with an update (the fix doesn't need to be on the frozen media). Obviously, we'd like it to be fixed ASAP, though.

Comment 12 Adam Williamson 2013-05-06 23:54:42 UTC
commit 7e23244096da09a5ae2e5f9559a7a12804c1b57a
Author: Cole Robinson <crobinso>
Date:   Wed Apr 17 17:39:25 2013 -0400

    Port from gconf to gsettings

looks like the recent change that touched this stuff. I think the relevant gsettings key was just inadvertently left out of the new schema. As the commit message notes:

"Another big piece is that gsettings can't accept arbitrary paths like gconf would, everything needs to be described in the schema."

So I think the key didn't need to be explicitly listed in the schema for gconf, but it does for gsettings, and it was just missed. I'm experimenting with a patch that adds the relevant key into the schema (maybe I'll have more luck than Reartes). It looks like it should be a boolean, no idea if it should default to true or false (the name of the key makes it rather difficult to guess what 'true' and 'false' actually mean), but I don't think it's too important, so I just guessed.

Comment 13 Adam Williamson 2013-05-07 00:30:48 UTC
OK, got a scratch build that works:

http://koji.fedoraproject.org/koji/taskinfo?taskID=5337928

I just added the appropriate key to the gsettings schema:

  <schema id="org.virt-manager.virt-manager.paths"
          path="/org/virt-manager/virt-manager/paths/">
...
    <key name="perms-fix-ignore" type="b">
      <default>false</default>
      <summary>Ask about fixing permissions</summary>
      <description>Whether to ask about fixing path permissions</description>
    </key>
  </schema>

and adjusted virtManager/config.py to look for paths/perms-fix-ignore rather than paths/perms_fix_ignore . Pretty trivial.

I won't post the patch unless Cole wants as I'm sure he can re-create it in ten seconds and he probably wants the schema key to be slightly different. But this gets it flying for now, for me.

Comment 14 Erik Logtenberg 2013-05-07 12:04:20 UTC
This fixes the bug for me too. Thanks!

Comment 15 Stef Walter 2013-05-08 06:32:09 UTC
Was creating a new virtual machine, choosing an iso file in the file selector.

backtrace_rating: 4
cmdline:        /usr/bin/python /usr/share/virt-manager/virt-manager
crash_function: g_settings_schema_get_value
executable:     /usr/bin/python2.7
kernel:         3.9.0-301.fc19.x86_64
package:        virt-manager-0.10.0-0.1.gitd3f9bc8e.fc19
reason:         Process /usr/bin/python2.7 was killed by signal 5 (SIGTRAP)
runlevel:       N 5
uid:            1000
ureports_counter: 1
xsession_errors:

Comment 16 Stef Walter 2013-05-08 06:32:16 UTC
Created attachment 745074 [details]
File: backtrace

Comment 17 Jacob Hunt 2013-05-09 14:31:17 UTC
While trying to install a kvm guest in the virt-manager after I attached the iso to use for install and clicked next, virt-manager crashed.

reporter:       libreport-2.1.4
backtrace_rating: 4
cmdline:        /usr/bin/python /usr/share/virt-manager/virt-manager
crash_function: g_settings_schema_get_value
executable:     /usr/bin/python2.7
kernel:         3.9.0-301.fc19.x86_64
package:        virt-manager-0.10.0-0.1.gitd3f9bc8e.fc19
reason:         Process /usr/bin/python2.7 was killed by signal 5 (SIGTRAP)
runlevel:       N 5
uid:            12360
xsession_errors:

Comment 18 Cole Robinson 2013-05-10 00:08:39 UTC
Sorry for being unresponsive here, was on week long vacation until yesterday. Fix pushed upstream, build coming shortly.

Comment 19 Adam Williamson 2013-05-10 00:15:01 UTC
Hey, I don't get a credit in the commit log? What do I put on my resume now?! *pouty face*

:)

Comment 20 Fedora Update System 2013-05-10 00:36:53 UTC
virt-manager-0.10.0-0.2.gitb68faac8.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/virt-manager-0.10.0-0.2.gitb68faac8.fc19

Comment 21 Fedora Update System 2013-05-10 15:31:25 UTC
Package virt-manager-0.10.0-0.2.gitb68faac8.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing virt-manager-0.10.0-0.2.gitb68faac8.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-7837/virt-manager-0.10.0-0.2.gitb68faac8.fc19
then log in and leave karma (feedback).

Comment 22 Fedora Update System 2013-05-14 04:36:29 UTC
virt-manager-0.10.0-0.2.gitb68faac8.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 23 Adam Williamson 2013-05-28 00:24:23 UTC
commonbugs no longer needed as this was fixed before f19 beta.