Bug 576796
Summary: | virNetworkIsActive() and virNetworkIsPersistent() don't work with Xen | ||||||
---|---|---|---|---|---|---|---|
Product: | [Community] Virtualization Tools | Reporter: | Philipp Hahn <hahn> | ||||
Component: | libvirt | Assignee: | Daniel Veillard <veillard> | ||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | |||||
Severity: | medium | Docs Contact: | |||||
Priority: | low | ||||||
Version: | unspecified | CC: | berrange, crobinso, xen-maint | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2011-03-17 14:33:41 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Created attachment 402503 [details] Script to test virNetworkIsActive(). Description of problem: When I trie to invoke virNetworkIsActive() or virNetworkIsPersistent() on a "xen:///" connection, I get a segmentation fault. I tracked this down to "src/remote/remote_driver.c#remoteIO()" calling "virEventUpdateHandle()" while no Event loop was registered using "virEventRegisterImpl()". So after adding an simple event loop implementation the crash is gone, but the calls don't return; they hang indefinitly. Version-Release number of selected component (if applicable): 0.7.6, 0.7.7 How reproducible: Every time. Steps to Reproduce: 1. gcc -O0 -g -I/usr/include/libvirt -lvirt net.c 2. ./a.out xen+unix:/// 3. ./a.out xen:/// Actual results: Network default: 0 [HANG] Expected results: Network default: 0 Network default: 0 Additional info: My simple event-loop implementation might contain errors, it's only slightly tested. At least it should be documanted, that for xen you must register an implementation. It would also probably be good to register a default implementation which just errors out.