Bug 1108590
Summary: | Libvirtd will crash while start a guest which DAC's seclabel type='none' in guest's xml | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | zhenfeng wang <zhwang> | |
Component: | libvirt | Assignee: | Ján Tomko <jtomko> | |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | |
Severity: | high | Docs Contact: | ||
Priority: | unspecified | |||
Version: | 6.6 | CC: | dyuan, jtomko, mzhan, rbalakri, ydu | |
Target Milestone: | rc | |||
Target Release: | --- | |||
Hardware: | x86_64 | |||
OS: | All | |||
Whiteboard: | ||||
Fixed In Version: | libvirt-0.10.2-39.el6 | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1108593 (view as bug list) | Environment: | ||
Last Closed: | 2014-10-14 04:22: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: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1108593 |
Description
zhenfeng wang
2014-06-12 09:48:34 UTC
(gdb) t a a bt Thread 11 (Thread 0x7fffec0f1700 (LWP 15423)): #0 0x0000003d14a0b5bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff7a0cd86 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff7a0d353 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff7a0cba9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x0000003d14a079d1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003d146e8b6d in clone () from /lib64/libc.so.6 Thread 10 (Thread 0x7fffecaf2700 (LWP 15422)): #0 0x0000003d14a0b5bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff7a0cd86 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff7a0d353 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff7a0cba9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x0000003d14a079d1 in start_thread () from /lib64/libpthread.so.0 ---Type <return> to continue, or q <return> to quit--- #5 0x0000003d146e8b6d in clone () from /lib64/libc.so.6 Thread 9 (Thread 0x7fffed4f3700 (LWP 15421)): #0 0x0000003d14a0b5bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff7a0cd86 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff7a0d353 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff7a0cba9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x0000003d14a079d1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003d146e8b6d in clone () from /lib64/libc.so.6 Thread 8 (Thread 0x7fffedef4700 (LWP 15420)): #0 0x0000003d14a0b5bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff7a0cd86 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff7a0d353 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff7a0cba9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 ---Type <return> to continue, or q <return> to quit--- #4 0x0000003d14a079d1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003d146e8b6d in clone () from /lib64/libc.so.6 Thread 7 (Thread 0x7fffee8f5700 (LWP 15419)): #0 0x0000003d14a0b5bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff7a0cd86 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff7a0d353 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff7a0cba9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x0000003d14a079d1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003d146e8b6d in clone () from /lib64/libc.so.6 Thread 6 (Thread 0x7fffef2f6700 (LWP 15418)): #0 0x0000003d14a0b5bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff7a0cd86 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff7a0d353 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff7a0cba9 in virThreadHelper (data=<value optimized out>) ---Type <return> to continue, or q <return> to quit--- at util/threads-pthread.c:161 #4 0x0000003d14a079d1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003d146e8b6d in clone () from /lib64/libc.so.6 Thread 5 (Thread 0x7fffefcf7700 (LWP 15417)): #0 0x0000003d14681451 in __strlen_sse2 () from /lib64/libc.so.6 #1 0x0000003d14681166 in strdup () from /lib64/libc.so.6 #2 0x00007ffff7a1036f in virParseOwnershipIds (label=0x0, uidPtr=0x7fffefcf679c, gidPtr=0x7fffefcf6798) at util/util.c:3446 #3 0x000000000044d63e in qemuOpenFile (driver=<value optimized out>, vm=<value optimized out>, path=0x7fffdc000cc0 "/tmp/rh6.save", oflags=577, needUnlink=0x7fffefcf682e, bypassSecurityDriver=0x7fffefcf682f) at qemu/qemu_driver.c:2751 #4 0x000000000046dc0c in qemuDomainSaveMemory (driver=0x7fffe400b860, vm=0x7fffe40d1470, path=0x7fffdc000cc0 "/tmp/rh6.save", domXML=<value optimized out>, compressed=0, was_running=<value optimized out>, flags=0, asyncJob=QEMU_ASYNC_JOB_SAVE) at qemu/qemu_driver.c:2941 #5 0x000000000046e39f in qemuDomainSaveInternal (driver=0x7fffe400b860, dom=0x7fffdc000c50, vm=0x7fffe40d1470, path=0x7fffdc000cc0 "/tmp/rh6.save", compressed=0, xmlin=0x0, flags=0) at qemu/qemu_driver.c:3087 #6 0x000000000046e93e in qemuDomainSaveFlags (dom=0x7fffdc000c50, ---Type <return> to continue, or q <return> to quit--- path=0x7fffdc000cc0 "/tmp/rh6.save", dxml=0x0, flags=0) at qemu/qemu_driver.c:3196 #7 0x00007ffff7ab4135 in virDomainSave (domain=0x7fffdc000c50, to=0x7fffdc000d30 "/tmp/rh6.save") at libvirt.c:2590 #8 0x000000000043cad6 in remoteDispatchDomainSave ( server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffefcf6b80, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:4630 #9 remoteDispatchDomainSaveHelper (server=<value optimized out>, client=<value optimized out>, msg=<value optimized out>, rerr=0x7fffefcf6b80, args=<value optimized out>, ret=<value optimized out>) at remote_dispatch.h:4608 #10 0x00007ffff7aec2c2 in virNetServerProgramDispatchCall (prog=0x79fa70, server=0x796ff0, client=0x79ac00, msg=0x79b140) at rpc/virnetserverprogram.c:431 #11 virNetServerProgramDispatch (prog=0x79fa70, server=0x796ff0, client=0x79ac00, msg=0x79b140) at rpc/virnetserverprogram.c:304 #12 0x00007ffff7aeab0e in virNetServerProcessMsg (srv=<value optimized out>, client=0x79ac00, prog=<value optimized out>, msg=0x79b140) at rpc/virnetserver.c:170 #13 0x00007ffff7aeb1ac in virNetServerHandleJob ( jobOpaque=<value optimized out>, opaque=<value optimized out>) ---Type <return> to continue, or q <return> to quit--- at rpc/virnetserver.c:191 #14 0x00007ffff7a0d2bc in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:144 #15 0x00007ffff7a0cba9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #16 0x0000003d14a079d1 in start_thread () from /lib64/libpthread.so.0 #17 0x0000003d146e8b6d in clone () from /lib64/libc.so.6 Thread 4 (Thread 0x7ffff06f8700 (LWP 15416)): #0 0x0000003d14a0b5bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff7a0cd86 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff7a0d353 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff7a0cba9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x0000003d14a079d1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003d146e8b6d in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7ffff10f9700 (LWP 15415)): #0 0x0000003d14a0b5bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 ---Type <return> to continue, or q <return> to quit--- #1 0x00007ffff7a0cd86 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff7a0d353 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff7a0cba9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x0000003d14a079d1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003d146e8b6d in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7ffff1afa700 (LWP 15414)): #0 0x0000003d14a0b5bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff7a0cd86 in virCondWait (c=<value optimized out>, m=<value optimized out>) at util/threads-pthread.c:117 #2 0x00007ffff7a0d353 in virThreadPoolWorker (opaque=<value optimized out>) at util/threadpool.c:103 #3 0x00007ffff7a0cba9 in virThreadHelper (data=<value optimized out>) at util/threads-pthread.c:161 #4 0x0000003d14a079d1 in start_thread () from /lib64/libpthread.so.0 #5 0x0000003d146e8b6d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7ffff798c860 (LWP 15412)): #0 0x0000003d146df343 in poll () from /lib64/libc.so.6 ---Type <return> to continue, or q <return> to quit--- #1 0x00007ffff79fa72c in virEventPollRunOnce () at util/event_poll.c:615 #2 0x00007ffff79f9967 in virEventRunDefaultImpl () at util/event.c:247 #3 0x00007ffff7aea34d in virNetServerRun (srv=0x796ff0) at rpc/virnetserver.c:748 #4 0x0000000000423eb7 in main (argc=<value optimized out>, argv=<value optimized out>) at libvirtd.c:1229 Fixed upstream: commit 7eb0ee175b278a4439cee65a7a554767f0be9cd1 Author: Ján Tomko <jtomko> AuthorDate: 2014-06-12 10:50:43 +0200 Commit: Ján Tomko <jtomko> CommitDate: 2014-06-12 12:01:35 +0200 Fix crash when saving a domain with type none dac label qemuDomainGetImageIds did not check if there was a label in the seclabel, thus crashing on <seclabel type='none' model='dac'/> https://bugzilla.redhat.com/show_bug.cgi?id=1108590 git describe: v1.2.5-112-g7eb0ee1 Verify this bug with libvirt-0.10.2-39.el6, the verify sterps as following pkginfo libvirt-0.10.2-39.el6.x86_64 qemu-kvm-rhev-0.12.1.2-2.428.el6.x86_64 kernel-2.6.32-486.el6.x86_64 steps 1.Set security_driver='selinux' in qemu.conf 2..Prepare a guest with the following content in the guest's xml #virsh dumpxml rhel6 -- <seclabel type='none' model='dac'/> 3.Start the guest #virsh start rhel6 4.After guest start completely, save and restore the guest, both the save and restore operation can be operated successfully # virsh save rhel6 /tmp/rhel6.save Domain rhel6 saved to /tmp/rhel6.save # virsh restore /tmp/rhel6.save Domain restored from /tmp/rhel6.save 5.migrate the guest to the target with the storage, the guest can be migrated successfully 6.Destroy the guest, then set the security_driver='none' in qemu.conf security_driver='none' #service libvirtd restart 7.Do step 2~5, all steps were operated successfully. According to the upper test result, mark this bug verified 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-2014-1374.html |