Bug 1038814

Summary: regression in event deregistration
Product: Red Hat Enterprise Linux 6 Reporter: Chris Pelland <cpelland>
Component: libvirtAssignee: Martin Kletzander <mkletzan>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.5CC: acathrow, cpelland, dallan, dyuan, eblake, mkletzan, mzhan, pm-eus, tlavigne, zhwang, zpeng
Target Milestone: rcKeywords: Regression, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-0.10.2-29.el6_5.2 Doc Type: Bug Fix
Doc Text:
Cause: When de-registering last callback for an event, improper variable was used for the de-registration of the event itself. Consequence: Error "libvirt: XML-RPC error : internal error: domain event 0 not registered" was returned even though the code was used properly. Fix: We changed the code to use the proper variable. Result: Now de-registering last callback for any event will not return an error and the event will be de-registered as it should've been.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-18 09:25:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1020372    
Bug Blocks:    
Attachments:
Description Flags
test file none

Description Chris Pelland 2013-12-05 21:11:14 UTC
This bug has been copied from bug #1020372 and has been proposed
to be backported to 6.5 z-stream (EUS).

Comment 8 zhe peng 2013-12-12 09:18:51 UTC
Can reproduce this with build :libvirt-0.10.2-29.el6.x86_64

verify with build:libvirt-0.10.2-29.el6_5.2.x86_64

step:
 write a c file to test this:
 add below in file:
....
  callback1ret = virConnectDomainEventRegisterAny(conn,
                                                    dom1,
                                                    VIR_DOMAIN_EVENT_ID_REBOOT,
                                                    VIR_DOMAIN_EVENT_CALLBACK(myDomainEventCallback2),
                                                    strdup("cb1"), myFreeFunc);
....

#gcc test.c -o test -lvirt
push Ctrl+C 
^CExiting on signal 2
^CExiting on signal 2
^CExiting on signal 2
^CExiting on signal 2

the error not occured. check souce file, patch applied, move to verified.

Comment 9 zhe peng 2013-12-12 09:21:27 UTC
Created attachment 835697 [details]
test file

Comment 11 errata-xmlrpc 2013-12-18 09:25:08 UTC
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-2013-1856.html