Bug 1324387

Summary: libtevent leaks memory during signal handling
Product: Red Hat Enterprise Linux 7 Reporter: Marcel Kolaja <mkolaja>
Component: libteventAssignee: Jakub Hrozek <jhrozek>
Status: CLOSED ERRATA QA Contact: Steeve Goveas <sgoveas>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 7.3CC: apeetham, asn, enewland, gagriogi, jhrozek, mkolaja, msauton, pbokoc, pbrezina, sgoveas, tscherf
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: libtevent-0.9.26-1.el7_2.1 Doc Type: Bug Fix
Doc Text:
Previously, the libtevent package suffered from a memory leak in signal handling. This bug has been fixed and memory leaks no longer occur in libtevent.
Story Points: ---
Clone Of: 1309439 Environment:
Last Closed: 2016-05-12 10:06:52 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:
Bug Depends On: 1309439    
Bug Blocks:    

Description Marcel Kolaja 2016-04-06 08:50:06 UTC
This bug has been copied from bug #1309439 and has been proposed
to be backported to 7.2 z-stream (EUS).

Comment 4 Amith 2016-04-27 12:50:29 UTC
Verified the bug on libtevent Version: libtevent-0.9.26-1.el7_2.1.x86_64

Steps followed during verification:
1. Reproduced the bug with the older build: libtevent-0.9.25-1.el7.x86_64
2. Upon executing the reproducer program with unpatched package, following leaks were reported: 

# ./a.out 
full talloc report on 'null_context' (total  18128 bytes in 107 blocks)
    struct tevent_sig_state        contains  17968 bytes in 101 blocks (ref 0) 0x1590680
        struct sigaction               contains    152 bytes in   1 blocks (ref 0) 0x159f7b0
        struct sigaction               contains    152 bytes in   1 blocks (ref 0) 0x159f6b0
        struct sigaction               contains    152 bytes in   1 blocks (ref 0) 0x159f5b0
        .
        .
        .
        struct sigaction               contains    152 bytes in   1 blocks (ref 0) 0x15996b0
    struct tevent_ops_list         contains     32 bytes in   1 blocks (ref 0) 0x1590320
    struct tevent_ops_list         contains     32 bytes in   1 blocks (ref 0) 0x1590290
    struct tevent_ops_list         contains     32 bytes in   1 blocks (ref 0) 0x1590200
    
3. With the patched build, the "struct sigaction" shouldn't be reported, see the output:

# ./a.out 
full talloc report on 'null_context' (total   2928 bytes in   7 blocks)
    struct tevent_sig_state        contains   2768 bytes in   1 blocks (ref 0) 0x97e680
    struct tevent_ops_list         contains     32 bytes in   1 blocks (ref 0) 0x97e320
    struct tevent_ops_list         contains     32 bytes in   1 blocks (ref 0) 0x97e290
    struct tevent_ops_list         contains     32 bytes in   1 blocks (ref 0) 0x97e200
    struct tevent_ops_list         contains     32 bytes in   1 blocks (ref 0) 0x97e170
    struct tevent_ops_list         contains     32 bytes in   1 blocks (ref 0) 0x97e0e0

Comment 6 errata-xmlrpc 2016-05-12 10:06:52 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.

https://rhn.redhat.com/errata/RHBA-2016-1037.html