Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-109186

[10.1] rsyslog | rsyslog memleak test fails due a memory leaks

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • No
    • None
    • rhel-security-special-projects
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • x86_64
    • None

      What were you trying to do that didn't work?

      The rsyslog advisory testing covers a downstream test /Sanity/memleak that tests memory leaks in a network functionality. rsyslog client shows a persistent memory leak when sending messages over a tls/ossl. The leak is detected by valgrind and does not appear to be a one-time event. The LEAK and HEAP summary of the memory should be consistent but unfortunately they're not.

      The test was executed with the whole test suite, as a single shot and also locally and fails every time.

      What is the impact of this issue to you?

      There's a potential issue in rsyslog component with a memory leak(s). 

      Please provide the package NVR for which the bug is seen:

      rsyslog-8.2506.0-2.el10

      How reproducible is this bug?:

      Steps to reproduce

      1. git clone https://gitlab.cee.redhat.com/special-projects/tests/rsyslog.git
      2. cd rsyslog test repository
      3. run the test locally
      tmt --context distro=rhel-9.7 run -a provision -h connect -g <GUEST_IP> -u root -p <PASSWORD> plans --default tests -n /Sanity/memleak execute -h tmt --interactive -vvv 

       

      Expected results

       

      ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      ::   evaluate
      :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: [ 12:36:05 ] :: [   LOG    ] ::
      declare -a client_d=([0]="0" [1]="0" [2]="0" [3]="0" [4]="0")
      declare -a client_i=([0]="0" [1]="0" [2]="0" [3]="0" [4]="0")
      declare -a client_p=([0]="0" [1]="0" [2]="0" [3]="0" [4]="0")
      declare -a server_d=([0]="0" [1]="0" [2]="0" [3]="0" [4]="0")
      declare -a server_i=([0]="0" [1]="0" [2]="0" [3]="0" [4]="0")
      declare -a server_p=([0]="0" [1]="0" [2]="0" [3]="0" [4]="0")
      :: [ 12:36:05 ] :: [   PASS   ] ::   server's definitely lost leaked memory should not growth (Assert: expected 0, got 0)
      :: [ 12:36:05 ] :: [   PASS   ] ::   server's indirectly lost leaked memory should not growth (Assert: expected 0, got 0)
      :: [ 12:36:05 ] :: [   PASS   ] ::   server's possibly lost leaked memory should not growth (Assert: expected 0, got 0)
      :: [ 12:36:05 ] :: [   PASS  ] ::   client's definitely lost leaked memory should not growth (Assert: expected 0, got 0)
      :: [ 12:36:05 ] :: [   PASS   ] ::   client's indirectly lost leaked memory should not growth (Assert: expected 0, got 0)
      :: [ 12:36:05 ] :: [   PASS   ] ::   client's possibly lost leaked memory should not growth (Assert: expected 0, got 0)
      :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 

       

       

      Actual results

       

      ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      ::   evaluate
      :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: [ 14:25:49 ] :: [   LOG    ] ::
      declare -a client_d=([0]="6144" [1]="12672" [2]="18816" [3]="38400" [4]="61056")
      declare -a client_i=([0]="88448" [1]="182424" [2]="270872" [3]="552800" [4]="878952")
      declare -a client_p=([0]="0" [1]="0" [2]="0" [3]="0" [4]="0")
      declare -a server_d=([0]="9984" [1]="15744" [2]="26112" [3]="41472" [4]="67200")
      declare -a server_i=([0]="143728" [1]="226648" [2]="375493" [3]="596448" [4]="966880")
      declare -a server_p=([0]="0" [1]="0" [2]="411" [3]="576" [4]="520")
      :: [ 14:25:49 ] :: [   FAIL   ] ::   server's definitely lost leaked memory should not growth (Assert: expected 0, got 4)
      :: [ 14:25:49 ] :: [   FAIL   ] ::   server's indirectly lost leaked memory should not growth (Assert: expected 0, got 4)
      :: [ 14:25:49 ] :: [   FAIL   ] ::   server's possibly lost leaked memory should not growth (Assert: expected 0, got 3)
      :: [ 14:25:49 ] :: [   FAIL   ] ::   client's definitely lost leaked memory should not growth (Assert: expected 0, got 4)
      :: [ 14:25:49 ] :: [   FAIL   ] ::   client's indirectly lost leaked memory should not growth (Assert: expected 0, got 4)
      :: [ 14:25:49 ] :: [   PASS   ] ::   client's possibly lost leaked memory should not growth (Assert: expected 0, got 0)
      :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 

       

       

              rh-ee-alakatos Attila Lakatos
              rh-ee-aprikryl Adam Prikryl
              Attila Lakatos Attila Lakatos
              SSG Security QE SSG Security QE
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: